LCD1602代码问题,有些不明白,请教大家了

2019-03-26 15:59发布

#define CESECT1 0x200000  //表示什么?
#define CESECT2 0x400000
#define CESECT3 0x600000

//#define LCD_COM (*((unsigned int *)0x400000))
//#define LCD_DAT (*((unsigned int *)0x400002))

#define LCD_COM (*((unsigned int *)0x601000)) //指令寄存器?
#define LCD_DAT (*((unsigned int *)0x601002)) // 数据寄存器?

addr =  (int *)CESECT2;
LCDCOM =  (int *)CESECT3;
LCDOUT =  (int *)CESECT3;
LCDIN  =  (int *)CESECT2

还有对1602液晶的读写,r/w体现怎么哪里? 控制寄存器的为什么要设定三次?
               LCD_REG=0x00;     //rs=0 en=0               
               LCD_DATA=content;
               LCD_REG=0x02;       //rs==1  en==0   写指令端口
               delaynum(80);
               LCD_REG=0x00;  //en=0


此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
kooking
2019-03-27 00:16
< 根据字面意思LCD_COM是命令LCD_DAT是数据,(*((unsigned int *)0x601000))感觉比较像寄存器。
LCD的读写一般是操作寄存器,
控制寄存器设定三次是因为每次设定生的操作都不一样,要探究原因,可能需要看一下手册

一周热门 更多>