版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、任务纲要任务纲要12864液晶显示屏与液晶显示万年历任务一 12864液晶显示数字(一)任务要求 使用YL-236单片机实训考核装置显示模块中的TG12864液晶屏,上电后液晶屏显示界面从左往右显示下图数字:第一行字符点阵大小为816,第二行字符点阵大小为1632。2012-02-2012:00:00任务一任务一 1286412864液晶显示数字液晶显示数字1.图形界面上的字符 (1)字符在12864液晶显示模块上的位置:第0页和第1页上从左至右显示字符“2012-02-20”,其中左屏显示数字字符“2012-02-”,右屏显示字符 “20”;在12864液晶显示模块的第2-5页居中显示163
2、2字符“12:00:00”,其中左屏显示数字字符“12:0”,右屏显示字符 “0:00”。 (2)字符在12864液晶显示模块上的大小: “2012-02-20”字符大小为816, “12:00:00” 字符大小为1632。(二)任务分析任务一任务一 1286412864液晶显示数字液晶显示数字2.实现的方法 由于字符大小不同,所以首先应取两种不同大小字符的字模。显示函数必须对液晶模块初始化,设定字符的显示位置,调用显示字符子函数将字符字模送到对应的显示RAM中,LCD便能将所需的字符显示在显示屏对应的位置了。(二)任务分析任务一任务一 1286412864液晶显示数字液晶显示数字3.1286
3、4液晶显示模块知识 TG12864是一款无字库的图形点阵显示器,其屏幕由64(行)128(列)点阵组成,可以显示16点阵的4行8列(32个)汉字、8点阵的8行8列(64个)字母和12864全屏幕点阵图形。(1 1)模块外形及引脚)模块外形及引脚任务一任务一 1286412864液晶显示数字液晶显示数字3.12864液晶显示模块知识模块的引脚及功能(1 1)模块外形及引脚)模块外形及引脚任务一任务一 1286412864液晶显示数字液晶显示数字3.12864液晶显示模块知识 模块带有显示缓存;单片机将代表点阵的亮或暗(1或0)的信息写入到显示缓存中,LCD的行、列驱动器会自动扫描LCD点阵,保持
4、用户期望的显示效果。写入到显示缓存中的数据是按字节为单位来进行读写的。(2 2)模块显示字符原理任务一任务一 1286412864液晶显示数字液晶显示数字3. 12864液晶显示模块知识(2 2)模块显示字符原理任务一任务一 1286412864液晶显示数字液晶显示数字3. 12864液晶显示模块知识 12864液晶显示模块上显示的点与显示缓存RAM是一一对应的,显示器点阵大小为64X128,显示RAM有64X128个位,按字节划分共分为8(0-7)个页,每页为8(0-7),行,每行为128个位;显示RAM区每个字节对应屏上点的排列方式为:纵向排列,低位在上,高位在下。(2 2)模块显示字符原
5、理任务一任务一 1286412864液晶显示数字液晶显示数字3. 12864液晶显示模块知识显示RAM区与显示屏点映射图(2 2)模块显示字符原理任务一任务一 1286412864液晶显示数字液晶显示数字3. 12864液晶显示模块知识模块与单片机硬件接口电路(3 3)模块的使用硬件接口电路任务一任务一 1286412864液晶显示数字液晶显示数字3. 12864液晶显示模块知识模块的控制指令(3 3)模块的使用模块控制指令 12864液晶显示模块的页地址就是X地址,8行为1页,共8页,第0页地址为0XB8。 1286412864液晶显示模块的列地址就是Y地址。Y地址范围为0-63,分成左右两
6、半屏(由CS1与CS2来选择),第0列地址为0X40。任务一任务一 1286412864液晶显示数字液晶显示数字3. 12864液晶显示模块知识模块的控制指令(3 3)模块的使用模块控制指令 12864液晶显示模块的开始线是由内部的Z地址计数器控制的,开始线地址设定范围为0-63行范围内任意一行,第0行起始线的地址为0XC0。任务一任务一 1286412864液晶显示数字液晶显示数字3. 12864液晶显示模块知识模块的驱动函数(3 3)模块的使用驱动函数void delay(uint us); /短延时函数声明void delay_ms(uint ms); /毫秒级延时函数声明void ch
7、eck_busy_12864(); /检测TG12864是否忙函数声明void wcmd_12864(uchar cmd); /写命令到LCD函数声明void wdat_12864(uchar dat); /写数据到LCD函数声明void clr_12864(uchar ss,uchar x,uchar y);/清屏函数声明void init_12864(); /初始化函数声明任务一任务一 1286412864液晶显示数字液晶显示数字3.12864液晶显示模块知识模块的驱动函数(3 3)模块的使用驱动函数/*写命令到LCD函数 参数:cmd命令*/void wcmd_12864(uchar c
8、md) /写命令到LCD函数 check_busy_12864(); /忙状态检测 RS=0; /向LCD发送命令 RW=0; /写有效 E=1; /产生下降沿的高电平部分 DATAPORT=cmd; /命令字送LCD数据端口 E=1; /保持高电平短暂延时 E=0; /产生下降沿的低电平部分 任务一任务一 1286412864液晶显示数字液晶显示数字3.12864液晶显示模块知识模块的驱动函数(3 3)模块的使用驱动函数/*参数:row起始页,col起始列,n字模的第n个字*/void disp_num8x16(uchar row,uchar col,uchar n) uchar i; /定
9、义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个字符的下半部分代码 任
10、务一任务一 1286412864液晶显示数字液晶显示数字(三)硬件电路硬件模块接线原理图任务一任务一 1286412864液晶显示数字液晶显示数字(四)参考程序主函数流程图任务一任务一 1286412864液晶显示数字液晶显示数字(五)任务实施步骤1硬件电路连接;2. 使用keil软件建立工程项目12864LCD1,然后再建一个文件名为12864SZ1.C的源程序文件,将上面的参考程序输入并保存;3. 在项目的头文件组中将12864液晶模块的驱动程序12864LCD.h添加到项目中;4. 对源程序进行编译和链接,产生目标代码并装入仿真器中;5. 进行仿真器调试运行,直到12864液晶的显示正常
11、;6. 进行扎线,整理。ThanksThanks!任务二任务二 1286412864液晶显示汉字和数字液晶显示汉字和数字(一)任务要求使用YL-236单片机实训考核装置显示模块中的12864液晶屏,上电后屏幕显示如图所示的数字和汉字。其中:第一行数字点阵大小为816,中文字符点阵大小为1616,居中显示;中间一行数字点阵大小为1632;第三行中文字符点阵大小为1616靠左显示。任务二任务二 1286412864液晶显示汉字和数字液晶显示汉字和数字1.实现的方法与前一任务相比:一是多了显示几个中文字符,而显示中文字符的原理和显示数字的原理是一样的,只要按点阵大小对中文字符取模就可以;二是字符的位
12、置发生了改变,这个只能在程序中改变设定的位置就能完成。因此在该任务中我们主要是考虑程序的写法,由于该程序中有多处字符的字模大小不一样,考虑到简化程序,编写适应不同字模大小的通用显示程序。(二)任务分析任务二任务二 1286412864液晶显示汉字和数字液晶显示汉字和数字2. C语言的指针知识(1 1)指针的概念 指针是一种包含了其他变量或函数地址的变量,它里面存储的数值为内存的地址。 指针的定义的形式为:指针的类型 *指针变量名 其中指针类型是与指针所指向的数据相符合的数据类型,如int、char、float等;*表示所要定义的是一个指针变量,而不是一个普通变量;指针变量名则应该遵循普通变量名
13、的命名规则。例如:char *s; /定义了指向字符型变量S的指针变量任务二任务二 1286412864液晶显示汉字和数字液晶显示汉字和数字2. C语言的指针知识(2 2)获取指针的值 指针的值是指针本身存储的数值,这个值将被编译器当作一个地址,而不是一个一般的数值。在C语言中,用&操作符可以获取变量或常量在内存中的地址,我们称之为取地址操作符。获取到了数据所在的地址,我们就能把这个地址传递给指针了。 获取变量或常量指针的操作为:&变量名或常量名例如:char c=8;char *s=&c; /定义字符型指针变量s并作初始化赋值;任务二任务二 1286412864液晶显
14、示汉字和数字液晶显示汉字和数字2. C语言的指针知识(3 3)指针与数组 将指针与数组相联系,目的是通过指针来访问数组中的各元素,利用指针来进行函数参数的传递,本质上进行地址的传递。例如:char i, *s, a = 1,2,3,4,5,6;s = a; /请注意数组名a直接赋值给指针sfor (i = 0; i =6; i+) printf(%dn, si);任务二任务二 1286412864液晶显示汉字和数字液晶显示汉字和数字2. C语言的指针知识(4 4)使用指针的显示函数void disp_12864(uchar row,uchar col,uchar x,uchar y,uchar
15、 *s) uchar i,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)&(month=2)&(year%4!=0)day=1;month+;/月数处理 if(day=30)&(month=2)&(year%4=0)day=1;month+; if(day=31)&
16、;(month=4|month=6|month=9|month=11)day=1;month+; if(day=32)&(month=1|month=3|month=5|month=7|month=8|month=10|month=12)day=1;month+; if(month=13) year+; /年处理 if(year=100)year=0; disp_time(); /刷新显示任务四任务四 1286412864液晶万年历制作液晶万年历制作(三)硬件电路硬件模块接线原理图任务四任务四 1286412864液晶万年历制作液晶万年历制作(三)硬件电路硬件模块接线图任务四任务四 1286412864液晶万年历制作液晶万年历制作(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贵州城市职业学院《机械设计》2023-2024学年第一学期期末试卷
- 贵阳职业技术学院《数据科学导论》2023-2024学年第一学期期末试卷
- 油橄榄示范基地建设项目可行性研究报告-油橄榄市场需求持续扩大
- 贵阳人文科技学院《乐理视唱一》2023-2024学年第一学期期末试卷
- 广州中医药大学《智慧城市信息系统建设与实践》2023-2024学年第一学期期末试卷
- 2025山西省建筑安全员-A证考试题库及答案
- 2025河南省建筑安全员B证(项目经理)考试题库
- 2025河南省安全员B证考试题库附答案
- 2025福建建筑安全员B证考试题库附答案
- 2025上海市安全员A证考试题库
- 滞销风险管理制度内容
- 关于物业服务意识的培训
- JJF 2184-2025电子计价秤型式评价大纲(试行)
- 排污许可证办理合同1(2025年)
- GB/T 44890-2024行政许可工作规范
- 上海科目一考试题库参考资料1500题-上海市地方题库-0
- 【7地XJ期末】安徽省宣城市宁国市2023-2024学年七年级上学期期末考试地理试题(含解析)
- 设备操作、保养和维修规定(4篇)
- (完整版)四年级上册数学竖式计算题100题直接打印版
- 玻璃瓶罐的缺陷产生原因及解决方法63699
- 高层住宅(23-33层)造价估算指标
评论
0/150
提交评论