实验9 字符型LCD液晶显示广告牌控制

上传人:woxinch****an2018 文档编号:38983222 上传时间:2018-05-10 格式:DOC 页数:6 大小:239.79KB
返回 下载 相关 举报
实验9  字符型LCD液晶显示广告牌控制_第1页
第1页 / 共6页
实验9  字符型LCD液晶显示广告牌控制_第2页
第2页 / 共6页
实验9  字符型LCD液晶显示广告牌控制_第3页
第3页 / 共6页
实验9  字符型LCD液晶显示广告牌控制_第4页
第4页 / 共6页
实验9  字符型LCD液晶显示广告牌控制_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《实验9 字符型LCD液晶显示广告牌控制》由会员分享,可在线阅读,更多相关《实验9 字符型LCD液晶显示广告牌控制(6页珍藏版)》请在金锄头文库上搜索。

1、实验实验 9 9 字符型字符型 LCDLCD 液晶显示广告牌控制液晶显示广告牌控制一、实验目的一、实验目的1、学习字符型 LCD 的显示原理。2、学习掌握字符型 LCD 显示字符的用法。二、实验预备知识二、实验预备知识LCD 本身不发光,是通过借助外界光线照射液晶材料而实现显示的被动显示器件。可以显示各种文字、数字、图形。LM016L 为字符型液晶显示器 LCD,其图形符号、引脚及属性如图所示。引脚说明如下:数据线 D7D0控制线(有 3 根:RS、RW、E)1 根地线 Vss两根电源线(VDD、VEE)LM016L 的属性设置如下:每行的字符数为 16,行数为 2;时钟为 250KHz;行

2、1 的字符地址为 80H8FH行 2 的字符地址为 C0HCFH 图 5-61 LCD 图形符号和引脚三、实验内容三、实验内容字符型 LCD 液晶显示器的接口电路原理图使用 LCD 显示两行字符,第一行正中间显示字符为“SHEN ZHEN”,第二行显示字符为“Tel0123456”。四、程序设计步骤四、程序设计步骤1 1、PROTEUSPROTEUS 电路设计电路设计 字符型 LCD 液晶显示器电路原理图如图 5-62 所示,设计在 PROTEU ISIS 平台中进行。(1 1)新建设计文件)新建设计文件菜单【file】/【New Design】,出现选择模板窗口,选中”DEFAULT” 模板

3、,再单击”OK”按钮,在文件名框中输入文件名,单击”保存”按钮,则保存新建设计文件,其后缀自动为.DSN。 (2 2)从)从 PROTEUSPROTEUS 库中选取元器件库中选取元器件单击“P”按钮,在其左上角“Keywords”(关键字)一栏中输入以下元器件的关键字,将以下元器件添加到对象选择器中。AT89C51:单片机RES:电阻LM0160L:162 字符 LCD 显示器CAP、CAP-ELEC:电容、电解电容POT-HG:电位器CRYSTAL:晶振(3 3)放置元器件:)放置元器件:按照原理图合理放置元器件。(4 4)放置电源和地(终端)放置电源和地(终端) 单击工具栏中的终端按钮,在

4、对象选择器中选取电源(POWER)、地(GROUND), 用上述放置元器件方法分别放置于编辑区中。(5 5)电路图连线)电路图连线系统默认自动扑捉和自动布线有效。只要在两端点相继单击,便可画线。画折线,在拐弯处单击;若中途想取消,可右双击或按“Esc”;若终点在空白初,左双击即可结束。(6 6)设置、修改元器件的属性)设置、修改元器件的属性先右击后左击各器件,在弹出的属性编辑框中设置、修改它的属性。(7 7)电气检测)电气检测选择【Tools】/【Electrical Rule Check】菜单项,出现电气检查报告单,无错误,则用户可执行下一步。2 2、源程序设计、生成目标代码文件、源程序设计

5、、生成目标代码文件(1 1)源程序设计)源程序设计在在 KileKile 软件中软件中 显示程序参考如下: /程序:ex5_5.c /功能:LCD 液晶显示程序,采用 8 位数据接口 #include #include /库函数头文件,代码中引用了_nop_()函数 / 定义控制信号端口 sbit RS=0xb0; /P3.0 sbit RW=0xb1; /P3.1 sbit E= 0xb2; /P3.2 / 声明调用函数 void lcd_w_cmd(unsigned char com); /写命令字函数 void lcd_w_dat(unsigned char dat); /写数据函数 u

6、nsigned char lcd_r_start(); /读状态函数 void int1(); /LCD 初始化函数 void delay(unsigned char t);/可控延时函数 void delay1();/软件实现延时函数,5 个机器周期 void main()/主函数 unsigned char lcd=“SHEN ZHEN“; unsigned char i;P1=0xff; / 送全 1 到 P0 口int1(); / 初始化 LCDdelay(255);lcd_w_cmd(0x83); / 设置显示位置delay(255);for(i=0;i9;i+) / 显示字符串 l

7、cd_w_dat(lcdi);delay(200);while(1); / 原地踏步 /函数名:delay /函数功能:采用软件实现可控延时 /形式参数:延时时间控制参数存入变量 t 中 /返回值:无 void delay(unsigned char t) unsigned char j,i;for(i=0;it;i+)for(j=0;j50;j+); /函数名:delay1 /函数功能:采用软件实现延时,5 个机器周期 /形式参数:无 /返回值:无 void delay1() _nop_();_nop_();_nop_(); /函数名:int1 /函数功能:lcd 初始化 /形式参数:无 /

8、返回值:无 void int1() lcd_w_cmd(0x3c); / 设置工作方式lcd_w_cmd(0x0e); / 设置光标lcd_w_cmd(0x01); / 清屏lcd_w_cmd(0x06); / 设置输入方式lcd_w_cmd(0x80); / 设置初始显示位置 /函数名:lcd_r_start /函数功能:读状态字 /形式参数:无 /返回值:返回状态字,最高位 D7=0,LCD 控制器空闲;D7=1,LCD 控制器忙 unsigned char lcd_r_start() unsigned char s;RW=1;/RW=1,RS=0,读 LCD 状态delay1();RS=

9、0;delay1();E=1;/E 端时序delay1();s=P1;/从 LCD 的数据口读状态delay1();E=0;delay1();RW=0;delay1(); return(s);/返回读取的 LCD 状态字 /函数名:lcd_w_cmd /函数功能:写命令字 /形式参数:命令字已存入 com 单元中/返回值:无 void lcd_w_cmd(unsigned char com) unsigned char i;do / 查 LCD 忙操作i=lcd_r_start(); / 调用读状态字函数i=i / 与操作屏蔽掉低 7 位 delay(2);while(i!=0); / LCD

10、 忙,继续查询,否则退出循环RW=0;delay1();RS=0; / RW=1,RS=0,写 LCD 命令字delay1();E=1; /E 端时序delay1();P1=com; /将 com 中的命令字写入 LCD 数据口delay1();E=0;delay1();RW=1;delay(255); /函数名:lcd_w_dat /函数功能:写数据 /形式参数:数据已存入 dat 单元中 /返回值:无 void lcd_w_dat(unsigned char dat) unsigned char i;do / 查忙操作i=lcd_r_start();/ 调用读状态字函数i=i / 与操作屏

11、蔽掉低 7 位 delay(2); while(i!=0); / LCD 忙,继续查询,否则退出循环RW=0;delay1();RS=1;/ RW=1,RS=0,写 LCD 命令字delay1();E=1;/ E 端时序delay1();P1=dat;/ 将 dat 中的显示数据写入 LCD 数据口delay1();E=0;delay1();RW=1;delay(255); 第一步:建立一个工程项目文件执行菜单【Project 】/【New project 】,给项目文件取名并保存,选择单片机型号为AT89C51;第二步:选择目标器件右键 Target1-Options for Target“

12、 Target1”或选择【 Project】/ 【Options for Target“Target1” 】对选项卡进行设置,在“Output”选项卡,选中“Create HEX File”;第三步:新建一个源程序文件在菜单 File/New 编辑窗口中输入源程序,在菜单 File/Save 中保存源程序文件,文件后缀为.asm;第四步:把源程序文件添加到工程项目中单击工程项目【Target1】/【Source Group1】选择 Add File to Group Source Group1,选择文件类型 Asm Source File-单击 Add 按钮,添加完毕,关闭窗口;(2 2)源程

13、序编译、生成目标代码文件)源程序编译、生成目标代码文件选择【Project】/【Rebuild all target files】选项或单击工具栏中 按钮,如果编译成功,显示编译成功的信息,并生成目标代码文件,文件后缀.HEX。若编译失败,可对程序进行修改调试直到编译汇编成功。3 3、KeilKeil 与与 PROTEUSPROTEUS 的联合调试的联合调试(1 1)加载目标代码文件)加载目标代码文件在 PROTEUS 软件中,将鼠标指向AT89C51,先右击再左击,在此窗口中的“Program File”栏中,选择用 Kile 软件生成的.HEX 文件,单击“打开”按钮,完成添加文件。在 Clock Frequency 栏中把频率设定为 12MHz,单击“OK”。 源程序文件的添加(2)远程调试环境设置)远程调试环境设置 Kile 中目标调试设置在 PROTEUS 中的【Debug】菜单中选中【use remote debug monitor】进入 Keil 的【Project】菜单【Option for TargetTarget】,在 Debug 选项中右栏上部的下拉菜单中选中 PROTEUS VSM Simulator-51 Driver。再进入 seting,本机的 IP地址设为 127.0.0.1(若不在同一台机子上,则填另一台 IP 地址),端口号

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

当前位置:首页 > 高等教育 > 其它相关文档

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