资源预览内容
第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
第9页 / 共14页
第10页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
简易计算器 之1602液晶显示屏,LCD(Liquid Crystal Display):液晶显示器的缩写,一种被动式的显示器,即液晶本身并不发光,而是经液晶经过处理后能改变光线通过方向的特性,而达到白底黑字或黑底白字显示的目的。 液晶显示器具有功耗低、抗干扰能力强等优点,广泛用在仪器仪表和控制系统中。,按排列形状分:字段型、点阵字符型和点阵图形。 (1)字段型 广泛用于电子表、数字仪表、计算器中。 (2)点阵字符型 显示字母、数字、符号。它是由57或54点阵组成,广泛应用在单片机应用系统中。 (3)点阵图形型 笔记本电脑和彩色电视等设备中。,+5V电压,对比度可调 内含复位电路 提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能 有80字节显示数据存储器DDRAM 内建有160个5X7点阵的字型的字符发生器CGROM 8个可由用户自定义的5X7的字符发生器,读状态 输入:RS=0,RW=1,E=1 读数据 输入:RS=1,RW=1,E=1,写指令 输入:RS=0,RW=0,E=下降沿脉冲,DB0DB7=指令码 写数据 输入:RS=1,RW=0,E=下降沿脉冲,DB0DB7=数据,bit lcd_busy() bit result; LCD_RS = 0; LCD_RW = 1; LCD_EN = 1; delayNOP(); result = (bit)(P0 ,这个函数的作用是检查LCD是否处于忙碌状态,如果返回值是1则表示处于忙状态,需要等待,返回值为0则表示LCD处于空闲状态,可写指令或者数据。,void lcd_wcmd(unsigned char cmd) while(lcd_busy(); LCD_RS = 0; LCD_RW = 0; LCD_EN = 0; _nop_(); _nop_(); LCD_data = cmd; delayNOP(); LCD_EN = 1; delayNOP(); LCD_EN = 0; ,这个函数的作用是写指令到LCD,cmd是待写的指令,待写的指令在正确的时序下输入D0D7,void lcd_wdat(unsigned char dat) while(lcd_busy(); LCD_RS = 1; LCD_RW = 0; LCD_EN = 0; LCD_data = dat; delayNOP(); LCD_EN = 1; delayNOP(); LCD_EN = 0; ,这个函数是写显示数据到LCD,与上一个函数很相似,只是时序不同,所以一个是写指令,一个是写数据。,void lcd_init() delay(15); lcd_wcmd(0x38); /16*2显示,5*7点阵,8位数据 delay(5); lcd_wcmd(0x38); delay(5); lcd_wcmd(0x38); delay(5); lcd_wcmd(0x0c); /显示开,关光标 delay(5); lcd_wcmd(0x06); /移动光标 delay(5); lcd_wcmd(0x01); /清除LCD的显示内容 delay(5); ,这个函数的作用是对LCD进行初始化设置,在main函数中需要首先对LCD进行初始化才能正确的操作LCD,void main(void) unsigned char m=0; P0=0xFF; /置P0口 lcd_init(); /初始化LCD lcd_pos(0); /设置显示位置为第一行的第1个字符 while(diap_1m != 0) lcd_wdat(diap_1m); /显示字符 m+; lcd_pos(0x40); /设置显示位置为第二行第1个字符 m = 0; while(diap_2m != 0) lcd_wdat(diap_2m); /显示字符 m+; while(1) ,Thank You !,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号