LCD1602.H 头文件内容
#ifndef __LCD1602_H__
#define __LCD1602_H__ #include "./include/gpio.h"
#include "./include/def.h"
#include "./include/timer.h"
//------- 驱动方式 -----------//
#define IO_WAY 0 //模拟IO
#define SPI_WAY 1 //SPI #define LCDCTL_WAY SPI_WAY //使用SPI驱动 //------- 控制端口与控制引脚 ------//
#define LCD1602_CTL_PORT rGPFCON //GPF 端口 #define LCD1602_RS GPFPin0 //RS引脚
#define LCD1602_RW GPFPin2 //RW引脚
#define LCD1602_E GPFPin4 //EN引脚 //------- 数据端口与数据引脚 ------// (使用74HC595)
#define LCD1602_DATA_PORT rGPGCON //GPG 端口
#define HC595_ST GPGPin5 // SPI1MISO 引脚
#define HC595_SH GPGPin7 // SPI1CLK 引脚
#define HC595_Ds GPGPin6 // SPI1MOSI 引脚 #define SPI1Baud 300000 // 设置波特率为300 khz (PCLK=50666666)
//-------- 自制字符 ---------
#define SELF_SYMBOL 1 // 使能自制字符显示
#if SELF_SYMBOL
extern const U8 CGTAB[8][8];
#endif
//----- 延时函数 ----------//
#define delay_ms(x) TimerDelay(1000*x)
#define delay_us(x) TimerDelay(1*x)
//--------- 主函数 ----------//
void LCD1602_init(void); //1602初始化(带清屏)
void LCD1602_Clear(void); //1602清屏
void LCD1602_putchar(U8 number); //显示字符
void LCD1602_putcharXY(U8 number,U8 x,U8 y); //在指定位置显示字符
void LCD1602_putstring(U8 *p); //显示字符串
void LCD1602_putstringXY(U8 *p,U8 x,U8 y); //在指定位置显示字符串
#if SELF_SYMBOL
void LCD1602WriteRAM(U8 *Data,U8 tab_N);
#endif //--------- 子函数 ----------//
void LCD1602Pin_init(void);
#if LCDCTL_WAY==SPI_WAY
void SPI1SendData(U8 Data);
#else
void HC595SendData(U8 data);
#endif
void LCD1602WriteCMD(U8 CMD);
void LCD1602WriteDATA(U8 W_DATA);
void LCD1602SetPoint(U8 x,U8 y); #endif // __LCD1602_H__
猜您喜欢
评论