📄 lcd12232controler.c
字号:
#define CWAD1 0x8c00 //写指令代码地址 0xcc00 0x4c00
#define CRAD1 0x8d00 //读状态字地址 0xce00 0x4e00
#define DWAD1 0x8e00 //写显示数据地址 0xcd00 0x4d00
#define DRAD1 0x8f00 //读显示数据地址 0xcf00 0x4f00
#define CWAD2 0x4c00 //写指令代码地址 0xac00 0x8c00
#define CRAD2 0x4d00 //读状态字地址 0xae00 0x8e00
#define DWAD2 0x4e00 //写显示数据地址 0xad00 0x8d00
#define DRAD2 0x4f00 //读显示数据地址 0xaf00 0x8f00
void int_fm12232(void);
void dclear(uchar);
void pr0(uchar com) //写指令代码子程序
{
temp_3=XBYTE[CRAD1]; //读状态字
while(t7)
temp_3=XBYTE[CRAD1];
XBYTE[CWAD1]=com;
}
void pr1(uchar dat) //写显示数据子程序
{
temp_3=XBYTE[CRAD1];
while(t7)
temp_3=XBYTE[CRAD1];
XBYTE[DWAD1]=dat;
}
void pr3(uchar com) //写指令代码子程序
{
temp_3=XBYTE[CRAD1];
while(t7)
temp_3=XBYTE[CRAD1];
XBYTE[CWAD2]=com;
}
void pr4(uchar dat) //写显示数据子程序
{
temp_3=XBYTE[CRAD2];
while(t7)
temp_3=XBYTE[CRAD1];
XBYTE[DWAD2]=dat;
}
void int_fm12232(void) //显示器初始化
{
uchar com,i;
uchar D[]={0xe2,0xa4,0xa9,0xa0,0xc0,0xaf}; //复位、关休闲状态、设置1/32占空比、设置显示起始行为第一行、开显示设置
for(i=0;i<6;i++)
{
com=D[i];
pr0(com);
pr3(com);
}
for(i=0;i<7;i++)
{
disp_buf[i]=0;
}
dclear(0);
dian=0;
}
void dclear(uchar dat) //清屏或全显 dat为0清屏,为1全显
{
uchar i,j,com;
for(i=0;i<4;i++)
{
com=i|0xb8;
pr0(com);
pr3(com);
com=0;
pr0(com);
pr3(com);
for (j=0;j<0x50;j++) //一页清80字节
{
pr1(dat);
pr4(dat);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -