任务六液晶显名字和电话

上传人:宝路 文档编号:52877429 上传时间:2018-08-26 格式:PPT 页数:22 大小:1.17MB
返回 下载 相关 举报
任务六液晶显名字和电话_第1页
第1页 / 共22页
任务六液晶显名字和电话_第2页
第2页 / 共22页
任务六液晶显名字和电话_第3页
第3页 / 共22页
任务六液晶显名字和电话_第4页
第4页 / 共22页
任务六液晶显名字和电话_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《任务六液晶显名字和电话》由会员分享,可在线阅读,更多相关《任务六液晶显名字和电话(22页珍藏版)》请在金锄头文库上搜索。

1、任务六液晶显示 名字和学号,设计一个程序在1602液晶上显示:welcome To XINGMING 00,任务要求,在液晶屏上显示第一行: welcome To Pingd第二行: XINGMING 00(学号在最后 两个格),软硬件条件,1、万用表、学习实验板套件、导线等。 2、计算机、KEIL uVISION软件、STC-ISP-V3.1软件和等 。 3、LCD1602工业字符型液晶,能够同时显示16x2即32个字符。,分析,(1)、分析电路。 (2)、分配端口地址。 (3)、学习1602结构 (4)、设计框图(5)、写出程序:,知识点延深 RTC1602主要硬件构成说明,RTC1602

2、的接口定义,RTC1602的控制寄存器,1、指令寄存器(IR) 2、数据寄存器(DR) 3、忙标志:BF 4、地址计数器(AC) 5、显示数据寄存器(DDRAM) 6、字符产生器(CGROM) 7、字符产生器(CGRAM),CGROM字符编码与字符关系对照图,RTC1602的指令系统,单片机是通过控制HD44780来控制RTC1602进行显示。控制指令有9种,各种指令的格式及功能说明如表,RTC1602指令表,功能描述:清除显示屏所有的内容,光标回到原点。,指令说明:(1)清屏,指令说明:(2)归位,功能描述:清地址计数器 AC=0;将光标及光标所在位的字符回原点;但 DDRAM 中的内容并不

3、改变。,指令说明:(3)设置输入模式,功能描述:设置光标、显示画面移动方向。 I/D:地址指针AC变化方向标志。 I/D=1时,读写一个字符后,地址计数器AC自动加1; I/D=0时,读写一个字符后,地址计数器AC自动减1。 S:显示移位标志。 S=1时,写入一个字符后全部显示往左(I/D=1)移动或者往右(I/D=0)移动; S=0时,写一个字符显示不发生位移。,指令说明:(4)显示开关控制,功能描述:设置光标、显示画面移动方向。 D:显示开/关控制标志。D=1,开显示;D=0,关显示。关显示后,显示数据仍保持在 DDRAM 中,立即开显示可以再现。 C:光标显示控制标志。:C=1,光标显示

4、;C=0,光标不显示。 不显示光标并不影响模块其它显示功能。B:闪烁显示控制标志。B=1,光标闪烁,B=0,不显示光标。,指令说明:(5)设置显示模式,功能描述:设置模块的显示方式。我们在以后的项目中固定显示模式为162、57的点阵,8位数据总线。,指令说明:(6)设置数据指针,功能描述:设置 DDRAM 地址指针。它将 DDRAM 存储显示字符的字符码的首地址送入 地址计数器AC 中,于是显示字符的字符码就可以写入 DDRAM 中或者从 DDRAM 中读出。 RTC1602有两行,每行有40个地址,我们只取前16个就行了。要想在正确的位置显示字符,必须在地址前加上80H。例如我们要在DDRA

5、M的01H地址处显示字符“A”,那么地址数据为80H +01H,即81H。往81H中写入数据0x41H(A的代码),这样就能在DDRAM的01H处显示字符“A”。,指令说明:(7)读忙标志BF,功能描述:当 RS=0和 R/W=1 时,在E 信号高电平的作用下,BF和 AC6AC0 被读到数据总线 DB7DB0 的相应位,通过BF的值来判断模块的工作状态。 BF:内部操作忙标志,BF=1,表示模块正在进行内部操作,此时模块不接收任何外部指令和数据,直到BF=0 为止。,指令说明:(8)写数据,功能描述:写数据到DDRAM中。,指令说明:(9)读数据,RTC1602的写时序图,小车,#inclu

6、de #define uint unsigned int #define uchar unsigned char #define out0 P0 sbit rs_1602=P23; sbit wr_1602=P24; sbit e_1602=P25; uchar a=0; /*/ /*检查LCD忙状态 lcd_busy为1时,忙,等待。lcd-busy为0时,闲,可写指令与数据。 */ /*/ void busy( )uchar mang;e_1602=0;rs_1602=0;wr_1602=1;doout0=0xff;e_1602=1;mang=out0;e_1602=0;while(man

7、g,wr_1602=0;e_1602=1;e_1602=0;wr_1602=1; /*/ /*写指令数据到LCD */ /*RS=L,RW=L,E=高脉冲,D0-D7=指令码。*/ /*/ void writeorder(uchar x) busy();out0=x;rs_1602=0;wr_1602=0;e_1602=1;e_1602=0;wr_1602=1; /*/ /* LCD初始化设定 */ /*/ void init1602() writeorder(0x38); /16*2显示,5*7点阵,8位数据 delpayms(5);writeorder(0x38);writeorder(0

8、x08); /0x38writeorder(0x01); /清除LCD的显示内容writeorder(0x06); /移动光标writeorder(0x0c); /显示开,关光标 void writebyte(uchar x,y,dod) x,void writestring(uchar x,y,uchar code *p) uchar i=0; x,void main() init1602();while(1) writeorder(0x0c);writestring(0,0,“welcome To Pingd“); writestring (1,0, “mingzi “);writebyte(1,14,a/10+0x30);writebyte(1,15,a%10+0x30); ,愿老师们能将单片机技术应用到实践教学中。,最后祝老师们快乐!,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号