项目10液晶显示日历.ppt

上传人:小飞机 文档编号:5888457 上传时间:2023-08-29 格式:PPT 页数:35 大小:1.92MB
返回 下载 相关 举报
项目10液晶显示日历.ppt_第1页
第1页 / 共35页
项目10液晶显示日历.ppt_第2页
第2页 / 共35页
项目10液晶显示日历.ppt_第3页
第3页 / 共35页
项目10液晶显示日历.ppt_第4页
第4页 / 共35页
项目10液晶显示日历.ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《项目10液晶显示日历.ppt》由会员分享,可在线阅读,更多相关《项目10液晶显示日历.ppt(35页珍藏版)》请在三一办公上搜索。

1、单片机技术应用项目课件,项目十 液晶显示日历,主讲:刘彤,一、项目描述,利用液晶显示器显示日历,秒、时、分、日、月、年、星期;能够设定当前日历;,1.项目任务,一、项目描述,2.项目目标,二、项目资讯,一、单片机外围器件-液晶LCD12864结构与工作原理二、单片机外围器件-时钟芯片DS1302结构与工作原理,主要内容,12864分类12864点阵液晶显示屏有三种控制器,分别是KS0107(KS0108)、T6963C和ST7920,三种控制器主要区别是:KS0107(KS0108)不带任何字库、T6963C带ASCII码,ST7920带国标二级字库(8千多个汉字)。,一、液晶LCD12864

2、结构与工作原理,三、项目咨询,带字库12864(详见手册),带字库的12864的基本特性:(1)显示分辨率:12864点(就是64行,每行128个点)(2)内置汉字字库,提供8192个1616点阵汉字(12864内部有一个CGROM,内容掉电可以存储,所以汉字字库会存放在里面。满屏最多显示4*8=32个汉字)。(3)内置 128个168点阵ASCII字符(12864一次最多可以显示4*16=64个ASCII字符)。(4)通讯方式:串行、并口可选(数据写入和读出可以是以串行的方式,也可以是以并行的方式。),三、项目咨询,三、项目咨询,如在实际应用中仅使用并口或串口某种通讯模式,可将PSB接固定电

3、平高电平或低电平。模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。如背光和模块共用一个电源,可以将两个电源合二为一。当有背光亮但不能显示,需要调节对比度;显示不清晰,需要增大供电电流,更换大电流usb 线或者使用外部供电。,三、项目咨询,RS,R/W的配合选择决定控制界面的4种模式:,忙碌标志,BF标志提供内部工作情况.BF=1表示模块在进行内部操作,此时模块不接受外部指令和数据.BF=0时,模块为准备状态,随时可接受外部指令和数据.,三、项目咨询,根据这个时序图可以从12864液晶模块内部RAM中读出相应的数据,忙检测函数就是根据这个时序图写出来的。,读时序:,三、项目咨询

4、,读写时序,bit lcd_busy()bit result;LCD_RS=0;LCD_RW=1;LCD_EN=1;_nop_();_nop_();_nop_();_nop_();result=(bit)(P0,忙信号检测函数,写时序,写指令、数据都是根据这个时序图完成。,(1)写指令void lcd_wcmd(uchar cmd)while(lcd_busy();LCD_RS=0;LCD_RW=0;LCD_EN=0;_nop_();_nop_();P0=cmd;delayNOP();LCD_EN=1;delayNOP();LCD_EN=0;,写指令或数据,(1)写数据void lcd_wda

5、t(uchar dat)while(lcd_busy();LCD_RS=1;LCD_RW=0;LCD_EN=0;_nop_();_nop_();P0=dat;delayNOP();LCD_EN=1;delayNOP();LCD_EN=0;,指令说明模块控制芯片提供两套控制命令,基本指令和扩充指令如下:基本指令(见手册)扩展指令(见手册),三、项目咨询,中文字库的128X64-0402B每屏可显示4行8列共32个1616点阵的汉字,每个显示RAM可显示1个中文字符或2个168点阵全高ASCII码字符,即每屏最多可实现32个中文字符或64个ASCII码字符的显示。带中文字库的128X64-0402

6、B内部提供1282字节的字符显示RAM缓冲区(DDRAM)。字符显示是通过将字符显示编码写入该字符显示RAM实现的。根据写入内容的不同,可分别在液晶屏上显示CGROM(中文字库)、HCGROM(ASCII码字库)及CGRAM(自定义字形)的内容。三种不同字符/字型的选择编码范围为:00000006H(其代码分别是0000、0002、0004、0006共4个)显示自定义字型,02H7FH显示半宽ASCII码字符,A1A0HF7FFH显示8192种GB2312中文字库字形。,三、项目咨询,所以只要我们写入指令0 x01,整个屏幕就被清空了。,LCD初始化:,一般用指令0 x0c,开显示,关闭光标,

7、LCD12864操作:,三、项目咨询,指令0X06光标右移,既可以控制扩展功能,又可以控制绘图显示的指令!用0X30,基本指令集,三、项目咨询,汉字显示坐标,显示汉字一屏可以显示4*8=32个16*16的汉字。实物图对照下,把地址也表到实物图上去了。,三、项目咨询,写汉字或ASCII码字符汉字和ASCII码字符坐标是一样的,只不过一个汉字的位置可以放两个ASCII码字符。因为前者为16*16后者为16*8,这样一行可以显示16个ASCII码了。在显示一串字符穿的时候,给一个起始地址,屏幕就会依次显示出来(自动加一功能)。操作流程(1)进入基本指令模式(指令为0 x30);(2)写入xy地址(地

8、址需要查上表,写入DDRAM);(3)写入欲写入的汉字的编码(一般以数组形式存放);,三、项目咨询,void Dis_Str(uchar X,uchar Y,uchar*str)uchar pos;if(X=0)X=0 x80;else if(X=1)X=0 x90;else if(X=2)X=0 x88;else if(X=3)X=0 x98;pos=X+Y;lcd_wcmd(pos);/显示地址 while(*str!=0)/未结束 lcd_wdat(*str+);delay(5);,在x,y处显示汉字或字符函数,ASCII显示坐标:,它的坐标和汉字的坐标是一样的,只不过一个汉字的位置可以

9、放两个ASCII码字符。因为前者为16*16后者为16*8,这样一行可以显示16个ASCII码了。在显示一串字符穿的时候,给一个起始地址,屏幕就会依次显示出来(自动加一功能)。,操作的具体流程:A进入基本指令模式(指令16,指令为0 x30)B写入xy地址(地址需要查上表,用指令8,也就是写入DDRAM)C写入欲写入的汉字的编码(一般定义一个数组,直接把ASACII码存放在里面即 可,存储的时候它就是以编码的形式。例如:uchar code dis1=SH;),三、项目咨询,带中文字库的128X64显示模块时应注意以下几点:欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,

10、再写入中文字符编码。显示ASCII字符过程与显示中文字符过程相同。不过在显示连续字符时,只须设定一次显示地址,由模块自动对地址加1指向下一个字符位置,否则,显示的字符中将会有一个空ASCII字符位置。模块在接收指令前,向处理器必须先确认模块内部处于非忙状态,即读取BF标志时BF需为“0”,方可接受新的指令。如果在送出一个指令前不检查BF标志,则在前一个指令和这个指令中间必须延迟一段较长的时间,即等待前一个指令确定执行完成。指令执行的时间请参考指令表中的指令执行时间说明。,三、项目咨询,二、单片机外围器件-时钟芯片DS1302结构与工作原理专题课件12-时钟芯片DS1302,三、项目咨询,方案一

11、:采用单片机内部资源,例如,内部定时器,完成时间、日期等功能的实现,再结合液晶显示日历;方案二:采用专用时钟芯片,例如,DS1302等,通过单片机对芯片的读写,完成时间、日期等数据操作,再结合液晶显示日历;比较:方案一不用扩展外围电路,占用内部资源,但需要单片机参与计算,才能完成日历功能;方案二需要增加少量简单的外围电路,可以直接与单片机接口,日历功能由专用芯片完成,精度高,不占用单片机内部资源;经过比较,选用方案二能保证一定精度,性价比高。,三、项目分析,1.功能分析,利用单片机实现液晶显示日历,有多种方案可以选择:,单片机与LCD12864接口电路,二、项目分析,2.硬件电路设计,LCD_

12、RS=P2.7;LCD_R/W=P2.6;E1=P2.5;PSB=VCC;,SCLK=P1.2;I/O=P1.3;CE=P1.4;,单片机与DS1302接口电路,三、项目分析,通过项目咨询环节,我们了解了对LCD12864和DS1302操作的基本函数;利用操作基本函数,进行项目主函数的编写,流程图如右图所示;,3.软件设计思路,四、项目实施,微机一台(Windows XP系统、Keil等相关软件)单片机学习开发板一块USB下载线一条,1、硬件平台准备,四、项目实施,案例1:编写程序,在LCD12864上第一行显示字符“湖南铁道欢迎你”,第二行显示“2012年12月1日”。案例2:按照模块化开发

13、原则,组织编写程序,读取DS1302时钟数据,在LCD上显示,第一行显示年月日;第二行显示时分秒;第三行显示星期;设定日期:2012年12月1日;设定时间:23时59分50秒,星期6。,2、软件编写,四、项目实施,3.软硬件功能调试及排故,电路调试检查lcd接口电路和DS1302电路,连接无误。软件调试先完成案例1,能够正常在lcd12864上显示信息;在此基础上再增加读取时钟数据,完成案例2,实现液晶显示日历;,四、项目实施,程序编译案例1和案例2分别编译成Hex文件。效果验证下载编译程序到开发板,观察效果。,4、效果验证或结果测试,五、项目评价与总结提高,1.项目评价标准,项目10考核评价表,五、项目评价与总结提高,2.项目总结,单片机与LCD12864接口电路及显示。单片机与DS1302接口电路及时钟数据读取方法。单片机C语言的模块化编程的组织方法。,3.拓展与提高,能够看懂LCD12864和DS1302时序图,通过时序图编写自己的液晶接口函数和DS1302接口函数。,谢谢观赏,谢谢观赏,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号