LCD12864怎样做到任意位置反色?用CGRAM的那种方法……搞得一头雾水。
答案:1 悬赏:60 手机版
解决时间 2021-01-25 02:08
- 提问者网友:太高姿态
- 2021-01-24 03:28
LCD12864怎样做到任意位置反色?用CGRAM的那种方法……搞得一头雾水。
最佳答案
- 五星知识达人网友:天凉才是好个秋
- 2021-01-24 05:07
#ifndef __12864_H__
#define __12864_H__
sbit RS=P3^2;
sbit RW=P3^3;
sbit E=P3^4;
void delay(unsigned char a)
{
unsigned char i,j;
for(i=0;i<=a;i++)
for(j=0;j<150;j++);
}
void write12864com(char com)
{
RS=0;
RW=0;
P1=com;
delay(5);
E=1;
delay(5);
E=0;
}
void write12864date(char dat)
{
RS=1;
RW=0;
P1=dat;
delay(5);
E=1;
delay(5);
E=0;
}
void init12864()
{
RS=1;
RW=1;
E=0;
P1=0xff;
write12864com(0x30);
delay(5);
write12864com(0x30);
delay(5);
write12864com(0x0f);
delay(5);
write12864com(0x01);
delay(5);
write12864com(0x02);
delay(5);
}
#endif
希望对你有帮助。
追问这个试过了,效果非常不理想,这个方法并不能任意位置反白,而且反白的时候一下就反了两行。追答试一试把光标设成反白显示,不闪烁,让那一块反白就把光标移到哪。看行不行,如果不行就试一试绘图吧。试一试把光标设成反白显示,不闪烁,让那一块反白就把光标移到哪。看行不行,如果不行就试一试绘图吧。
#define __12864_H__
sbit RS=P3^2;
sbit RW=P3^3;
sbit E=P3^4;
void delay(unsigned char a)
{
unsigned char i,j;
for(i=0;i<=a;i++)
for(j=0;j<150;j++);
}
void write12864com(char com)
{
RS=0;
RW=0;
P1=com;
delay(5);
E=1;
delay(5);
E=0;
}
void write12864date(char dat)
{
RS=1;
RW=0;
P1=dat;
delay(5);
E=1;
delay(5);
E=0;
}
void init12864()
{
RS=1;
RW=1;
E=0;
P1=0xff;
write12864com(0x30);
delay(5);
write12864com(0x30);
delay(5);
write12864com(0x0f);
delay(5);
write12864com(0x01);
delay(5);
write12864com(0x02);
delay(5);
}
#endif
希望对你有帮助。
追问这个试过了,效果非常不理想,这个方法并不能任意位置反白,而且反白的时候一下就反了两行。追答试一试把光标设成反白显示,不闪烁,让那一块反白就把光标移到哪。看行不行,如果不行就试一试绘图吧。试一试把光标设成反白显示,不闪烁,让那一块反白就把光标移到哪。看行不行,如果不行就试一试绘图吧。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯