项目10液晶显示日历.ppt_第1页
项目10液晶显示日历.ppt_第2页
项目10液晶显示日历.ppt_第3页
项目10液晶显示日历.ppt_第4页
项目10液晶显示日历.ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机技术应用项目课件,项目十 液晶显示日历,主讲:刘彤,一、项目描述,利用液晶显示器显示日历,秒、时、分、日、月、年、星期; 能够设定当前日历;,1. 项目任务,一、项目描述,2. 项目目标,二、项目资讯,一、单片机外围器件-液晶LCD12864结构与工作原理 二、单片机外围器件-时钟芯片DS1302结构与工作原理,主要内容,12864分类 12864点阵液晶显示屏有三种控制器,分别是KS0107(KS0108)、T6963C和ST7920,三种控制器主要区别是:KS0107(KS0108)不带任何字库、T6963C带ASCII码,ST7920带国标二级字库(8千多个汉字)。,一、液晶LCD12864结构与工作原理,三、项目咨询,带字库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接固定电平高电平或低电平。 模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。 如背光和模块共用一个电源,可以将两个电源合二为一。 当有背光亮但不能显示,需要调节对比度; 显示不清晰,需要增大供电电流,更换大电流usb 线或者使用外部供电。,三、项目咨询,RS,R/W的配合选择决定控制界面的4种模式:,忙碌标志,BF标志提供内部工作情况.BF=1表示模块在进行内部操作,此时模块不接受外部指令和数据.BF=0时,模块为准备状态,随时可接受外部指令和数据.,三、项目咨询,根据这个时序图可以从12864液晶模块内部RAM中读出相应的数据,忙检测函数就是根据这个时序图写出来的。,读时序:,三、项目咨询,读写时序,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_wdat(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-0402B内部提供1282字节的字符显示RAM缓冲区(DDRAM)。字符显示是通过将字符显示编码写入该字符显示RAM实现的。根据写入内容的不同,可分别在液晶屏上显示CGROM(中文字库)、HCGROM(ASCII码字库)及CGRAM(自定义字形)的内容。 三种不同字符/字型的选择编码范围为:00000006H(其代码分别是0000、0002、0004、0006共4个)显示自定义字型,02H7FH显示半宽ASCII码字符,A1A0HF7FFH显示8192种GB2312中文字库字形。,三、项目咨询,所以只要我们写入指令0x01,整个屏幕就被清空了。,LCD初始化:,一般用指令0x0c,开显示,关闭光标,LCD12864操作:,三、项目咨询,指令0X06光标右移,既可以控制扩展功能,又可以控制绘图显示的指令!用0X30,基本指令集,三、项目咨询,汉字显示坐标,显示汉字一屏可以显示4*8=32个16*16的汉字。实物图对照下,把地址也表到实物图上去了。,三、项目咨询,写汉字或ASCII码字符 汉字和ASCII码字符坐标是一样的,只不过一个汉字的位置可以放两个ASCII码字符。因为前者为16*16后者为16*8,这样一行可以显示16个ASCII码了。在显示一串字符穿的时候,给一个起始地址,屏幕就会依次显示出来(自动加一功能)。 操作流程 (1)进入基本指令模式(指令为0x30); (2)写入xy地址(地址需要查上表,写入DDRAM); (3)写入欲写入的汉字的编码(一般以数组形式存放);,三、项目咨询,void Dis_Str(uchar X,uchar Y,uchar *str) uchar pos; if (X=0) X=0x80; else if (X=1) X=0x90; else if (X=2) X=0x88; else if (X=3) X=0x98; pos = X+Y ; lcd_wcmd(pos); /显示地址 while(*str!=0) /未结束 lcd_wdat(*str+); delay(5); ,在x,y处显示汉字或字符函数,ASCII显示坐标:,它的坐标和汉字的坐标是一样的,只不过一个汉字的位置可以放两个ASCII码字符。因为前者为16*16后者为16*8,这样一行可以显示16个ASCII码了。在显示一串字符穿的时候,给一个起始地址,屏幕就会依次显示出来(自动加一功能)。,操作的具体流程: A进入基本指令模式(指令16,指令为0x30) B写入xy地址(地址需要查上表,用指令8,也就是写入DDRAM) C写入欲写入的汉字的编码(一般定义一个数组,直接把ASACII码存放在里面即 可,存储的时候它就是以编码的形式。例如:uchar code dis1=“SH“;),三、项目咨询,带中文字库的128X64显示模块时应注意以下几点: 欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,再写入中文字符编码。 显示ASCII字符过程与显示中文字符过程相同。不过在显示连续字符时,只须设定一次显示地址,由模块自动对地址加1指向下一个字符位置,否则,显示的字符中将会有一个空ASCII字符位置。 模块在接收指令前,向处理器必须先确认模块内部处于非忙状态,即读取BF标志时BF需为“0”,方可接受新的指令。如果在送出一个指令前不检查BF标志,则在前一个指令和这个指令中间必须延迟一段较长的时间,即等待前一个指令确定执行完成。指令执行的时间请参考指令表中的指令执行时间说明。,三、项目咨询,二、单片机外围器件-时钟芯片DS1302结构与工作原理 专题课件12-时钟芯片DS1302,三、项目咨询,方案一:采用单片机内部资源,例如,内部定时器,完成时间、日期等功能的实现,再结合液晶显示日历; 方案二:采用专用时钟芯片,例如,DS1302等,通过单片机对芯片的读写,完成时间、日期等数据操作,再结合液晶显示日历; 比较:方案一不用扩展外围电路,占用内部资源,但需要单片机参与计算,才能完成日历功能;方案二需要增加少量简单的外围电路,可以直接与单片机接口,日历功能由专用芯片完成,精度高,不占用单片机内部资源 ;经过比较,选用方案二能保证一定精度,性价比高。,三、项目分析,1.功能分析,利用单片机实现液晶显示日历,有多种方案可以选择:,单片机与LCD12864接口电路,二、项目分析,2.硬件电路设计,LCD_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:按照模块化开发原则,组织编写程序,读取DS1302时钟数据,在LCD上显示,第一行显示年月日;第二行显示时分秒;第三行显示星期;设定日期:2012年12月1日;设定时间:23时59分50秒,星期6。,2、软件编写,四、项目实施,3.软硬件功能调试及排故,电路调试 检查lcd接口电路和DS1302电路,连接无误。 软件调试 先完成案例1,能够正常在lcd12864上显示信息;在此基础上再增加读取时钟数据,完成案例2,实现液晶显示日历;,四、项目实施,程序编译 案例1和案例2分别编译成Hex文件。 效果验证 下载编译程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论