




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目五液晶万年历制作,任务纲要,12864液晶显示屏与液晶显示万年历,任务一12864液晶显示数字,(一)任务要求使用YL-236单片机实训考核装置显示模块中的TG12864液晶屏,上电后液晶屏显示界面从左往右显示下图数字:第一行字符点阵大小为816,第二行字符点阵大小为1632。,任务一12864液晶显示数字,1.图形界面上的字符(1)字符在12864液晶显示模块上的位置:第0页和第1页上从左至右显示字符“2012-02-20”,其中左屏显示数字字符“2012-02-”,右屏显示字符“20”;在12864液晶显示模块的第2-5页居中显示1632字符“12:00:00”,其中左屏显示数字字符“12:0”,右屏显示字符“0:00”。(2)字符在12864液晶显示模块上的大小:“2012-02-20”字符大小为816,“12:00:00”字符大小为1632。,(二)任务分析,任务一12864液晶显示数字,2.实现的方法由于字符大小不同,所以首先应取两种不同大小字符的字模。显示函数必须对液晶模块初始化,设定字符的显示位置,调用显示字符子函数将字符字模送到对应的显示RAM中,LCD便能将所需的字符显示在显示屏对应的位置了。,(二)任务分析,任务一12864液晶显示数字,3.12864液晶显示模块知识,TG12864是一款无字库的图形点阵显示器,其屏幕由64(行)128(列)点阵组成,可以显示16点阵的4行8列(32个)汉字、8点阵的8行8列(64个)字母和12864全屏幕点阵图形。,(1)模块外形及引脚,数据总线接口DB0-DB7,控制引脚,任务一12864液晶显示数字,3.12864液晶显示模块知识,模块的引脚及功能,(1)模块外形及引脚,任务一12864液晶显示数字,3.12864液晶显示模块知识,模块带有显示缓存;单片机将代表点阵的亮或暗(1或0)的信息写入到显示缓存中,LCD的行、列驱动器会自动扫描LCD点阵,保持用户期望的显示效果。写入到显示缓存中的数据是按字节为单位来进行读写的。,(2)模块显示字符原理,任务一12864液晶显示数字,3.12864液晶显示模块知识,(2)模块显示字符原理,任务一12864液晶显示数字,3.12864液晶显示模块知识,12864液晶显示模块上显示的点与显示缓存RAM是一一对应的,显示器点阵大小为64X128,显示RAM有64X128个位,按字节划分共分为8(0-7)个页,每页为8(0-7),行,每行为128个位;显示RAM区每个字节对应屏上点的排列方式为:纵向排列,低位在上,高位在下。,(2)模块显示字符原理,任务一12864液晶显示数字,3.12864液晶显示模块知识,显示RAM区与显示屏点映射图,(2)模块显示字符原理,任务一12864液晶显示数字,3.12864液晶显示模块知识,模块与单片机硬件接口电路,(3)模块的使用硬件接口电路,任务一12864液晶显示数字,3.12864液晶显示模块知识,模块的控制指令,(3)模块的使用模块控制指令,12864液晶显示模块的页地址就是X地址,8行为1页,共8页,第0页地址为0XB8。,1286412864液晶显示模块的列地址就是Y地址。Y地址范围为0-63,分成左右两半屏(由CS1与CS2来选择),第0列地址为0X40。,任务一12864液晶显示数字,3.12864液晶显示模块知识,模块的控制指令,(3)模块的使用模块控制指令,12864液晶显示模块的开始线是由内部的Z地址计数器控制的,开始线地址设定范围为0-63行范围内任意一行,第0行起始线的地址为0XC0。,任务一12864液晶显示数字,3.12864液晶显示模块知识,模块的驱动函数,(3)模块的使用驱动函数,voiddelay(uintus);/短延时函数声明voiddelay_ms(uintms);/毫秒级延时函数声明voidcheck_busy_12864();/检测TG12864是否忙函数声明voidwcmd_12864(ucharcmd);/写命令到LCD函数声明voidwdat_12864(uchardat);/写数据到LCD函数声明voidclr_12864(ucharss,ucharx,uchary);/清屏函数声明voidinit_12864();/初始化函数声明,任务一12864液晶显示数字,3.12864液晶显示模块知识,模块的驱动函数,(3)模块的使用驱动函数,/*写命令到LCD函数参数:cmd命令*/voidwcmd_12864(ucharcmd)/写命令到LCD函数check_busy_12864();/忙状态检测RS=0;/向LCD发送命令RW=0;/写有效E=1;/产生下降沿的高电平部分DATAPORT=cmd;/命令字送LCD数据端口E=1;/保持高电平短暂延时E=0;/产生下降沿的低电平部分,任务一12864液晶显示数字,3.12864液晶显示模块知识,模块的驱动函数,(3)模块的使用驱动函数,/*参数:row起始页,col起始列,n字模的第n个字*/voiddisp_num8x16(ucharrow,ucharcol,ucharn)uchari;/定义i为局部变量if(col64)CS1=1,CS2=0;/选左半屏elseCS1=0,CS2=1;col-=64;/选右半屏for(i=0;i8;i+)/for循环控制8列扫描字符wcmd_12864(0 xb8+row);/设定页wcmd_12864(0 x40+col+i);/设定列wdat_12864(num8X16i+n*16);/写第n个字符的上半部分wcmd_12864(0 xb8+row+1);/设定页wcmd_12864(0 x40+col+i);/设定列wdat_12864(num8X16i+n*16+8);/写第n个字符的下半部分代码,任务一12864液晶显示数字,(三)硬件电路,硬件模块接线原理图,任务一12864液晶显示数字,(四)参考程序,主函数流程图,任务一12864液晶显示数字,(五)任务实施步骤,1硬件电路连接;2.使用keil软件建立工程项目12864LCD1,然后再建一个文件名为12864SZ1.C的源程序文件,将上面的参考程序输入并保存;3.在项目的头文件组中将12864液晶模块的驱动程序12864LCD.h添加到项目中;4.对源程序进行编译和链接,产生目标代码并装入仿真器中;5.进行仿真器调试运行,直到12864液晶的显示正常;6.进行扎线,整理。,Thanks!,任务二12864液晶显示汉字和数字,(一)任务要求使用YL-236单片机实训考核装置显示模块中的12864液晶屏,上电后屏幕显示如图所示的数字和汉字。其中:第一行数字点阵大小为816,中文字符点阵大小为1616,居中显示;中间一行数字点阵大小为1632;第三行中文字符点阵大小为1616靠左显示。,任务二12864液晶显示汉字和数字,1.实现的方法与前一任务相比:一是多了显示几个中文字符,而显示中文字符的原理和显示数字的原理是一样的,只要按点阵大小对中文字符取模就可以;二是字符的位置发生了改变,这个只能在程序中改变设定的位置就能完成。因此在该任务中我们主要是考虑程序的写法,由于该程序中有多处字符的字模大小不一样,考虑到简化程序,编写适应不同字模大小的通用显示程序。,(二)任务分析,任务二12864液晶显示汉字和数字,2.C语言的指针知识,(1)指针的概念,指针是一种包含了其他变量或函数地址的变量,它里面存储的数值为内存的地址。指针的定义的形式为:指针的类型*指针变量名其中指针类型是与指针所指向的数据相符合的数据类型,如int、char、float等;*表示所要定义的是一个指针变量,而不是一个普通变量;指针变量名则应该遵循普通变量名的命名规则。,例如:char*s;/定义了指向字符型变量S的指针变量,任务二12864液晶显示汉字和数字,2.C语言的指针知识,(2)获取指针的值,指针的值是指针本身存储的数值,这个值将被编译器当作一个地址,而不是一个一般的数值。在C语言中,用char*s=,任务二12864液晶显示汉字和数字,2.C语言的指针知识,(3)指针与数组,将指针与数组相联系,目的是通过指针来访问数组中的各元素,利用指针来进行函数参数的传递,本质上进行地址的传递。,例如:chari,*s,a=1,2,3,4,5,6;s=a;/请注意数组名a直接赋值给指针sfor(i=0;i=6;i+)printf(%dn,si);,任务二12864液晶显示汉字和数字,2.C语言的指针知识,(4)使用指针的显示函数,voiddisp_12864(ucharrow,ucharcol,ucharx,uchary,uchar*s)uchari,j;/定义i和j为局部变量if(col64)CS1=1,CS2=0;/选左半屏elseCS1=0,CS2=1;col-=64;/选右半屏for(i=0;iy;i+)/控制字符的页数wcmd_12864(0 xb8+row+i);/写起始页wcmd_12864(0 x40+col);/写起始列for(j=0;j=29)/刷新显示,任务四12864液晶万年历制作,(三)硬件电路,硬件模块接线原理图,任务四12864液晶万年历制作,(三)硬件电路,硬件模块接线图,任务四12864液晶万年历制作,(四)参考程序,主函数流程图,任务四12864液晶万年历
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 茂名廉租房管理办法
- 计价规则变更管理办法
- 中国高速收费管理办法
- 诚信红黑榜管理办法
- 上海张江资金管理办法
- 行文流程及管理办法
- 三线企业社区管理办法
- 试生产核算管理办法
- 专利双向许可管理办法
- 专项资金资金管理办法
- IATF16949内审员培训资料
- 艾梅乙反歧视培训课件
- 劳模创新工作室申报材料
- 非物质文化遗产保护与乡村振兴的协同发展路径
- 高中化学人教版高考大单元一 第一章 第4讲 氧化还原反应的概念和规律
- 敢于提问班会课件
- 作物生产与经营管理专业教学标准(高等职业教育专科)2025修订
- QGDW10936-2018物料主数据分类与编码规范
- 煤气中毒急救方法与处理流程
- 第11课《岳阳楼记》课件-统编版语文九年级上册
- 广东省广州市2023-2024学年二年级下学期数学期末试卷(含答案)
评论
0/150
提交评论