版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验三 LCD1602液晶显示实验 姓名 专业 学号 成绩 一、实验目的 1. 掌握Keil C51软件与proteus软件联合仿真调试的方法; 2. 掌握LCD1602液晶模块显示西文的原理及使用方法; 3. 掌握用8位数据模式驱动LCM1602液晶的C语言编程方法; 4. 掌握用LCM1602液晶模块显示数字的C语言编程方法。 二、实验仪器与设备 1.微机一台 C51集成开发环境 仿真软件 三、实验内容 1. 用Proteus设计一LCD1602液晶显示接口电路。要求利用P0口接LCD1602液晶的数据端,做LCD1602液晶的控制信号输入端。口扩展3个功能键K1K3。参考电路见后面。 2
2、. 编写程序,实现字符的静态和动态显示。显示字符为 第一行:“1.姓名全拼”,第二行:“2.专业全拼+学号”。 3. 编写程序,利用功能键实现字符的垂直滚动和水平滚动等效果显示。显示字符为: “1.姓名全拼 2.专业全拼+学号 EXP8 DISPLAY ” 主程序静态显示“My information!” 四、实验原理 液晶显示的原理:采用的LCD显示屏都是由不同部分组成的分层结构,位于最后面的一层是由荧光物质组成的可以发射光线的背光层,背光层发出的光线在穿过第一层偏振过滤层之后进入包含成千上万水晶液滴的液晶层,液晶层中的水晶液滴都被包含在细小的单元格结构中,一个或多个单元格构成屏幕上的一个像
3、素。当LCD中的电极产生电场时,液晶分子就会产生扭曲,从而将穿越其中的光线进行有规则的折射,然后经过第二层过滤层的过滤在屏幕上显示出来。 1. LCD1602采用标准的14引脚(无背光)或16引脚(带背光)接口,各引脚接口说明如表: 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 4 RS 数据/命令选择 12 D5 数据 5 R/W 读/写选择 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源负极
4、 2. 1602液晶模块内部的控制器共有11条控制指令,如表所示: 3. 芯片时序表: 41602LCD的一般初始化(复位)过程 (1) 延时15ms。 。)不检测忙信号38H(写指令(2) (3) 延时5ms。 (4) 写指令38H(不检测忙信号)。 (5) 延时5ms。 (6) 写指令38H(不检测忙信号)。 (7) 以后每次写指令、读/写数据操作均需要检测忙信号。 (8) 写指令38H:显示模式设置。 (9) 写指令08H:显示关闭。 (10) 写指令01H:显示清屏。 (11) 写指令06H:显示光标移动设置。 (12) 写指令0CH:显示开及光标设置。 五、实验步骤 1. 用Prot
5、eus设计1602液晶显示接口电路; 2. 在Keil C51中编写液晶显示控制程序,编译通过后,与Proteus联合调试; 3. 按动功能键,观察字符及效果是否正确显示。 六、电路设计调试及程序 1) 实验电路 2) 程序设计与调试 静态显示#include<> P0=date; #define uchar unsigned char delay(5); #define uint unsigned int lcden=1; uchar code table= Xin ; delay(5); uchar code table1= 412381; lcden=0; sbit lcde
6、n=P22; sbit lcdrw=P21; void init() sbit lcdrs=P20; uchar num; lcden=0; void delay(uint z) lcdrw=0; write_com(0x38); uint x,y; write_com(0x0c); for(x=z;x>0;x-) write_com(0x06); for(y=110;y>0;y-); write_com(0x01); write_com(0x80+0x00); void write_com(uchar com) void main() lcdrs=0; P0=com; init(
7、); delay(5); delay(100); lcden=1; while(1) delay(5); lcden=0; for(num=0;num<12;num+) void write_data(uchar date) write_data(tablenum); delay(200); lcdrs=1; write_com(0x02); void init() write_com(0x80+0x40); lcden=0; for(num=0;num<16;num+) lcdrw=0; write_com(0x38); write_data(table1num); write_
8、com(0x0f); delay(200); write_com(0x06); write_com(0x01); while(1); write_com(0x80+0x00); void main() 动态显示 #include<> init(); #define uchar unsigned char delay(100); #define uint unsigned int while(1) uchar code table= Xin ; uchar code table1= 412381; for(num=0;num<12;num+) sbit lcden=P22; s
9、bit lcdrw=P21; write_data(tablenum); sbit lcdrs=P20; delay(200); uchar num; void delay(uint z) write_com(0x02); write_com(0x80+0x40); uint x,y; for(num=0;num<16;num+) for(x=z;x>0;x-) for(y=110;y>0;y-); write_data(table1num); delay(200); void write_com(uchar com) write_com(0x01); lcdrs=0; P0
10、=com; delay(5); 按键实现不同效果 lcden=1; #include<> delay(5); #define uchar unsigned char lcden=0; #define uint unsigned int uchar code table=My void write_data(uchar date) information!; uchar code table1= Xin; lcdrs=1; uchar code table2= 412381; P0=date; uchar code table3= EXP8; delay(5); uchar code
11、 table4= DISPLAY; lcden=1; uchar num,i,j; delay(5); uchar flag1,flag2,flag3,flag4; lcden=0; sbit k1=P30; sbit k2=P31; TL0=(65536-10000)%6; EA=1; sbit k3=P32; ET0=1; sbit k4=P33; TR0=1; sbit lcden=P22; EX0=1; sbit lcdrw=P21; IT0=1; sbit lcdrs=P20; IP=0x05; void delay(uint z) EX1=1; IT1=1; uint x,y; d
12、elay(100); for(x=z;x>0;x-) while(1) for(y=110;y>0;y-); flag3=0; write_com(0x01); void write_com(uchar com) write_com(0x80+0x01); delay(50); lcdrs=0; for(num=0;num<15;num+) P0=com; delay(5); write_data(tablenum); lcden=1; delay(200); delay(5); lcden=0; delay(200); write_com(0x01); void write
13、_data(uchar date) lcdrs=1; void display() P0=date; delay(5); if(k1=0) lcden=1; delay(5); while(1) lcden=0; if(flag1=1) break; void init() if(flag3=0)/ lcden=0; if(flag1=1)break;/控制返回 lcdrw=0; write_com(0x01); write_com(0x38); write_com(0x80+0x00); write_com(0x0f); delay(50); write_com(0x06); 显 for(n
14、um=0;num<11;num+) / write_com(0x01); Xin 示 void main() if(flag1=1) break; while(flag3=1) init(); TMOD=0x01; if(flag1=1)break; TH0=(65536-10000)/256; for(num=0;num<13;num+) /显示 write_data(table1num); EXP8 delay(200); if(flag1=1) break; while(flag3=1) write_com(0x80+0x40); for(num=0;num<16;nu
15、m+)/显示 if(flag1=1)break; 412381 write_data(table3num); if(flag1=1) break; delay(200); while(flag3=1) delay(200);if(flag1=1) break; if(flag1=1) break; write_com(0x80+0x40); for(num=0;num<13;num+) / write_data(table2num); 显示 delay(200); DISPLAY write_com(0x01); if(flag1=1) break; while(flag3=1) del
16、ay(200); write_com(0x80+0x00); 显示 for(num=0;num<16;num+)/ if(flag1=1)break; 412381 write_data(table4num); delay(200); if(flag1=1) break; while(flag3=1) write_com(0x01); write_com(0x80+0x00); if(flag1=1)break; for(num=0;num<13;num+) /显 示 write_data(table2num); DISPLAY delay(200); if(flag1=1) br
17、eak; while(flag3=1) write_com(0x80+0x40); 显 for(num=0;num<13;num+) / EXP8 if(flag1=1)break; 示 write_data(table4num); if(flag1=1) break; delay(200); while(flag3=1) write_com(0x80+0x40); if(flag1=1)break; for(num=0;num<11;num+) / 显示 Xin write_data(table3num); delay(200); if(flag1=1) break; while
18、(flag3=1) write_com(0x01); write_com(0x80+0x00); if(flag1=1)break; if(flag1=1)break; write_data(table4num); write_data(table1num); delay(50); delay(200); while(1) if(flag1=1) break; while(flag3=1) flag3=0; 清标志位 flag1=0;/ if(flag1=1)break; write_com(0x01);/清屏 if(flag3=0) if(k2=0) write_com(0x1c); /if
19、(flag1=1)break; /整屏左移或右移 write_com(0x01);/清屏 delay(100); write_com(0x80+0x00); if(flag1=1) break; for(num=0;num<11;num+) /显示 Xin flag3=0; if(flag1=1)break; flag1=0;/write_data(table1num); 清除标志位 write_com(0x01);/清屏 delay(50); write_com(0x80+0x10); void time0() interrupt 1 for(num=0;num<16;num+)/显示 412381 T
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 博物馆研学活动组织实施手册
- 《13 光幻视与光游戏》(教学设计)四年级下册综合实践活动长春版
- 2025-2026学年毕业设计可以写教学设计
- 学校食堂节日供餐管理手册
- 2025-2026学年立秋黏土画教案
- 2025-2026学年编结艺术教学设计
- 2.1 速度变化规律教学设计(1)-鲁科版高中物理必修第一册
- 2025-2026学年教学设计 感想
- 2026年汕头市濠江区社区工作者招聘考试备考题库及答案详解
- 2026年鸡西市梨树区网格员招聘笔试备考题库及答案详解
- 物流中心突发停电应急处置预案
- 2026年超星尔雅学习通《形势与政策(春)》章节练习题包及参考答案详解【能力提升】
- 访客入厂安全教育
- 雨课堂学堂在线学堂云《课堂教学技能实训(河北师范)》单元测试考核答案
- 内蒙古丰电能源储灰场Ⅱ格改造工程项目环境影响报告书
- 一级公路施工组织设计
- 制造企业生产产品质量追溯管理制度
- 2025中央企业重点领域常态化安全生产督导帮扶工作方案
- (更新)成人术后谵妄预防与护理专家共识课件
- 安全月活动总结培训课件
- 煤矿防灭火技术培训课件
评论
0/150
提交评论