LCD12864 GUI学习
第一天 之 初步学习
From EEworld: 常见泽
1. 12864液晶简介
在我们常用的人机交互显示界面中,除了数码管,LED,以及我们之前已经提到的LCD1602之外,还有一种液晶屏用的比较多。相信接触过单片机的朋友都知道了,那就是12864液晶。顾名思义,12864表示其横向可以显示128个点,纵向可以显示64个点。我们常用的12864液晶模块中有带字库的,也有不带字库的,其控制芯片也有很多种,如KS0108T6963,ST7920等等。在这里我们以ST7920为主控芯片的12864液晶屏来学习如何去驱动它。
(1) 实物图
(2) 引脚
2. 原理图
采用LaunchpadM430G2452作为主控MCU。
EN —— P2.0
RS —— P2.1
PSB —— P2.2
RW —— P2.3
3. 加入忙检测
以前编程的时候都很少加入忙检测,我之前一般都用延时来解决,这次重新学习就加入了忙检测。
看spec里面的介绍
这时候会有疑问,RS 怎么设置呢
程序:
void lcd_busy( )
{
unsigned char temp=0;
LCD_RS_Low; // 指令数据
LCD_RW_High;
P1DIR=0x00;
delay_ms(5);
do{
LCD_EN_High;
_NOP();
temp = P1IN; //temp = BUSY;
LCD_EN_Low;
}while(temp&0x80); //等待不忙,temp=0x00时不忙
P1DIR=0xff;
}