📄 hx8310tft.h
字号:
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
// 口 线 定 义 //
//----液晶显示器----------------------------------------------------------------------
#define lcm_WR IO.PDR7.BIT.B5 //LCM 写使能口线
#define lcm_RD IO.PDR7.BIT.B4 //LCM READ使能口线
#define lcm_CE IO.PDR6.BIT.B5 //LCM 片选口线
#define lcm_CD IO.PDR2.BIT.B2 //LCM 指令/数据选择输入口线--板上临时改为使用TXD1做CD口线
#define lcm_RST IO.PDR2.BIT.B0 //LCM 复位口线
#define lcm_IOH IO.PDR1.BYTE //LCM 数据读写口线--高2位
#define lcm_IOM IO.PDR3.BYTE //LCM 数据读写口线--中间8位
#define lcm_IOL IO.PDR5.BYTE //LCM 数据读写口线--低8位
#define lcm_datah_dir IO.PCR1 //LCM 数据口方向寄存器--高2位
#define lcm_datam_dir IO.PCR3 //LCM 数据口方向寄存器--中间8位
#define lcm_datal_dir IO.PCR5 //LCM 数据口方向寄存器--低8位
#define add_ALE IO.PDR1.BIT.B2 //ALE
//----RAM口线----------------------------------------------------------------------
#define ram_IO IO.PDR5.BYTE //RAM 数据读写口线
#define ram_WR IO.PDR7.BIT.B5 //RAM 写使能口线
#define ram_RD IO.PDR7.BIT.B4 //RAM READ使能口线
#define ram_CE IO.PDR6.BIT.B4 //RAM 片选口线
#define ram_ADDH IO.PDR3.BYTE //RAM 地址口线--高
#define buzzer IO.PDR1.BIT.B5 //蜂鸣器
union
{
uchar BYTE;
struct {
unsigned S7:1;
unsigned S6:1;
unsigned S5:1;
unsigned S4:1;
unsigned S3:1;
unsigned S2:1;
unsigned S1:1;
unsigned S0:1;
} bits ;
}GFLG1U;
#define gflg1 GFLG1U.BYTE
#define clock_1s_flg GFLG1U.bits.S0 //1秒标志,到达1秒,则标志=1
#define clock_20ms_flg GFLG1U.bits.S1 //20毫秒标志,到达1秒,则标志=1
#define clock_500ms_flg GFLG1U.bits.S2 //500毫秒标志,到达1秒,则标志=1
union
{
ulong disp_data;
struct
{
uint H;
uint L;
}HL;
struct
{
uchar BH;
uchar BM; // 18位数据发送用高字节
uchar BL; // 18位数据发送用中字节
uchar BS; // 18位数据发送用低字节
}C;
}RGB_OUTU;
#define lcm_outu_h RGB_OUTU.HL.H
#define lcm_outu_l RGB_OUTU.HL.L
#define dataioh RGB_OUTU.C.BM //数据口D17 D16 输出
#define dataiom RGB_OUTU.C.BL //数据口D15~D8 输出
#define dataiol RGB_OUTU.C.BS //数据口 D7~D0 输出
uchar red_data_buf; //红色数据端口数据缓冲区, 读出的红色数据放这里,准备送数据口
uchar gre_data_buf; //绿色数据端口数据缓冲区, 读出的绿色数据放这里,准备送数据口
uchar blu_data_buf; //蓝色数据端口数据缓冲区, 读出的蓝色数据放这里,准备送数据口
uchar ins_16b_h; //用于向Index寄存器等写入设置指令和数据--16位
uchar ins_16b_l; //
union
{
uchar B;
struct
{
unsigned S:6;
unsigned H:2;
}S;
}RGB_DATAU;
#define rgb_data_chgbi RED_DATAU.S.S //从图片数据中读出的数据,写入本联合, 通过本联合把低六位写入RGB_OUTU对应6位中, 方便从IO口输出
#define rgb_data_chgby RED_DATAU.B
uchar buzzer_ct;
uchar buz_time_l;
uchar clock_1s_ct; //1秒时间累计计数
uchar clock_100ms_ct; //100毫秒时间累计计数
uchar clock_2s_ct; //5秒时间累计计数
uchar lcdp_com_nu; //当前屏显示的行数
uchar lcmram_buf[36]; //连续方式 从LCM RAM中读出的数据或要写入LCM RAM中的数据的暂存区
union
{
uint WORD;
struct
{
uchar BH;
uchar BL;
}BYTE;
}LCDRAM_ADDU;
#define lcmram_addh LCDRAM_ADDU.BYTE.BH //LCD RAM读写地址--高字节
#define lcmram_addl LCDRAM_ADDU.BYTE.BL //LCD RAM读写地址--低字节
#define lcmram_add LCDRAM_ADDU.WORD //LCD RAM读写地址
union
{
uint WORD;
struct
{
uchar BH;
uchar BL;
}BYTE;
}MAIN_LSU;
#define main_lsh MAIN_LSU.BYTE.BH //主流程用临时--高字节
#define main_lsl MAIN_LSU.BYTE.BL //主流程用临时--低字节
#define main_ls MAIN_LSU.WORD //主流程用临时
volatile uchar disp_pro_flg; //显示过程标志
uchar disp_dlt_ct; //显示延迟时间
//--^----^----^----^--特----^--殊--^----定----^--义----^----^----^----^----^--//
#define RESET_WATCHDOG() WDT.TCSRWD.BYTE=0x40; WDT.TCWD=0x00;
#define CLOSE_WATCHDOG() WDT.TCSRWD.BYTE=0x10; WDT.TCSRWD.BYTE=0x10;
#define PORT1 IO.PDR1.BYTE
#define PORT2 IO.PDR2.BYTE
#define PORT3 IO.PDR3.BYTE
#define PORT5 IO.PDR5.BYTE
#define PORT6 IO.PDR6.BYTE
#define PORT7 IO.PDR7.BYTE
#define PORT8 IO.PDR8.BYTE
#define PORTB IO.PDRB.BYTE
#define portmr1 IO.PMR1.BYTE
#define portmr5 IO.PMR5.BYTE
#define portcr1 IO.PCR1
#define portcr2 IO.PCR2
#define portcr3 IO.PCR3
#define portcr5 IO.PCR5
#define portcr6 IO.PCR6
#define portcr7 IO.PCR7
#define portcr8 IO.PCR8
#define portur1 IO.PUCR1.BYTE
#define portur5 IO.PUCR5.BYTE
#define Ssr_2 SCI3_2.SSR.BYTE
#define Ssr SCI3.SSR.BYTE
#define TRGPSDB SCI3.TDR //对gps通讯发送保持寄存器
#define REGPSDB SCI3.RDR //对gps通讯接收数据
#define TRGSMDB SCI3_2.TDR //对PC通讯发送保持寄存器
#define REGSMDB SCI3_2.RDR //对PC通讯接收数据
#define buzzeron() nop()
//#define set_lcd_cd() add_ALE=1; lcm_IOL=0x04; add_ALE=0; //--板上临时改为使用TXD1做CD口线
//#define clr_lcd_cd() add_ALE=1; lcm_IOL=0x00; add_ALE=0; //--板上临时改为使用TXD1做CD口线
// 函 数 列 表
//--------------------------------------------------------------------
void tmrv_isrp(void);
void delayms(uchar dlt);
void delayus(uchar dlt);
void ini_ram(void);
void ini_pp(void);
void display(void);
void ini_lcm(void);
void wr_1word_data(void);
void wr_1word_index(void);
void rd_1word_data(void);
void rd_1word_status(void);
void wr_1word_reg_data(void);
void wr_ram_rand(uchar data,uint add);
uchar rd_ram_rand(uint add);
void delays(uchar dlt);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -