液晶显示设计报告_第1页
液晶显示设计报告_第2页
液晶显示设计报告_第3页
液晶显示设计报告_第4页
液晶显示设计报告_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、泰州职业技术学院XX职业技术学院信息工程学院课程名称: 单片机原理与应用 课题名称: 基于STC89C52的红外遥控LCD显示字幕的设计 班 级: 11信息(2) 课题小组成员: A B 指导老师: C 摘要本次实验是基于STC89C52的红外遥控LCD显示字幕的设计。本设计以单片机为基础,红外遥控LCD屏,使它能显示名字,欢迎语,感谢语句。通过程序编译,系统仿真,下载测试,能够在LCD屏上显示字幕,并能够用遥控器的键实现从左往右的字幕显示。红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、

2、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。 目录一、系统总体框 -4二、单元模块电路设计 2.1各单元模块功能介绍及电路设计2.1.1红外线发射模块 -52.1.2红外线接收模块 -52.1.3显示模块 -62.1.4逻辑处理模块 -62.2电路参数的计算及元器件的选择2.2.1 LCD液晶显示屏1602 -7 2.2.2红外线遥控器TC9012 -72.3特殊器件的介绍 2.3.1红外接收器VS1838B -9三、系统软件设计 -12四、系统调试4.1调试方法 -174.2调试

3、内容 -174.3仿真图 -17五、设计总结5.1设计小结 -185.2收获体会 -185.3完善意见 -18 六、附录 -19一总体方案设计52单片机1602接收头红外遥控器 图1-1红外遥控器发射信号给接收头,接收头通过接收红外遥控器发送的数据传送给单片机,通过单片机控制显示屏。 二单元模块功能介绍及电路设计21各单元模块功能介绍及电路设计211红外线发射模块原理图图2-1212红外线接收接口图 图2-2213显示模块主要由五个子函数组成,即延时函数,定时器函数,初始化函数,读指令模块和读数据模块五个子函数。214 逻辑处理模块逻辑处理模块是整个软件设计的核心,逻辑处理模块主要得到从定时/

4、计数器中溢出的数据,显示在液晶显示器上。并且当得到外部中断指令时,处理外部中断响应。22电路参数的计算及元器件的选择221 LCD液晶显示屏1602:1)主要技术参数:显示容量:16×2个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(W×H)mm2)引脚功能说明:1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如下表:编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据

5、5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极222红外线遥控器TC9012红外线遥控器使用TC9012专用发射集成模块做的,用频率为38、占空比为1/3的PPM方式调制,当一个键按下超过36ms 振荡器使芯片激活如果这个键按下且延迟大约108ms,这108ms 发射代码由一个起始码9ms ,一个结果码4.5ms (结果码加起始码构成一个12.5ms的引导码), 低8位地址码9ms-8ms, 8位地址码9ms-8ms ,8位数据码9ms-8ms和这8位数据的反码 9ms-8ms 组成,我们提取的即是那8位的数据码。其数据帧如下

6、图:数字0和1的脉冲如下:当接受端当检测到有红外线发过来, 将接收端置低, 否则置高。解码的关键是如何识别“0”和“1”,从位的定义我们可以发现“0”、“1”均以0.56ms的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms,所以必须根据高电平的宽度区别“0”和“1”。如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可靠,一般取0

7、.84ms左右均可。23特殊器件的介绍231 红外接收器VS1838B1)光电参数2)极限参数3)基本参数4)尺寸5)特性小型设计;内置专用IC;宽角度及长距离接收;抗干挠能力强;能抵挡环境干挠光线;低电压工作;6)应用视听器材(音箱,电视,录影机,碟机)家庭电器(冷气机,电风扇,电灯)其它红外线遥控产品;三、系统软件设计 #include "reg52.h"#define uchar unsigned char#define uint unsigned int/IO引脚定义:sbit hongwaixian=P33;/红外接收数据引脚,sbit lcdrs=P10; /R

8、S 数据/命令选择sbit lcdrw=P11; /RW读写选择sbit lcden=P12; /使能信号/*数据定义*/ uchar code t1="li xue mei" uchar code t2="zhang yan" uchar code t3="Hello!" uchar code t4="Thank you" unsigned char ly_lhj4;/保存NEC的四个字节数据bit ly_flag;/成功接收标志/函数声明:void display1();void display2();/定义显

9、示函数,直接显示缓冲区数值void delay(void);void delay_ms(uint m) uint x,y; for(x=m;x>0;x-) for(y=120;y>0;y-); /延时子函数,短暂延时void delay(void)unsigned char i=10;while(i-);void write_com(uchar com)/写命令 P0=com;lcdrs=0;lcdrw=0;lcden=0;delay_ms(5);lcden=1; void write_date(uchar date)/写数据 P0=date; lcdrs=1; lcdrw=0;l

10、cden=0;delay_ms(5);lcden=1; void init() /初始化 P0=0; write_com(0x38); delay(); write_com(0x38); delay(); write_com(0x38); write_com(0x08); write_com(0x01); write_com(0x06); write_com(0x0c); /*主函数开始*/void main(void) init();EA=1;/首先开启总中断EX1=1; /开启外部中断1,红外接收数据引脚IT1=1; /设置成下降沿触发方式TMOD=0X10; /定时器1的方式1,16位计

11、数器,用来计数时间if(ly_flag)/接收成功处理显示缓冲,以16进制显示ly_flag=0; switch(ly_lhj2) case 0x00: display1(); break; case 0x02: display2(); break; default:break; /*外中断1入口函数,P33引脚,红外线接收IC数据脚*/void hongwai(void) interrupt 2unsigned char i,ia;/*开始判断是否为NEC波形引导码的前9MS和后4.5MS*/TL1=0;TH1=0;/定时/计数器1初始值TR1=1;/定时器以12M晶振12分频计数,即1us

12、计数while(!hongwaixian);TR1=0;/信号翻转停止计数if(TH1<30|TH1>40)/NEC引导码前9MS,计数约9000,TH1约等于35,给个误差值,用30-40之间来判断return;TH1=0;/定时/计数器1初始值TR1=1;while(hongwaixian)delay();if(TH1>22)/NEC引导码引导码的后4。5MS,计数约4500,TH1约等于17return;TR1=0;if(TH1<12)/NEC引导码引导码的后4。5MS,计数约4500,TH1约等于17return;/*开始接收四个字节内容*/for(i=0;i&

13、lt;4;i+)for(ia=0;ia<8;ia+)while(!hongwaixian);/低电平开始,不处理只等待高电平TH1=0;TR1=1;/高电平开始,启动计数while(hongwaixian)delay();if(TH1>15)return;TR1=0;/高电平结束,判断数据1或0向变量移入ly_lhji>>=1;/数据由高位移入低位if(TH1>4)/时间量TH1高于4,即高于1MS判断为1ly_lhji|=0x80;ly_flag=1;/接收成功TF1=0;/显示函数,参数为显示内容void display1()uchar num; write_

14、com(0x80); for(num=0;num<10;num+) write_date(t1num); delay_ms(500);write_com(0xc0);for(num=0;num<9;num+) write_date(t2num); delay_ms(500);void display2() uchar num; write_com(0x80);for(num=0;num<6;num+) write_date(t3num); delay_ms(500); write_com(0xc0); for(num=0;num<9;num+) write_date(t

15、4num); delay_ms(500);四系统调试4.1调试方法1)程序编写无误后,生成.hex文件2)画软件仿真图,观察仿真效果3)仿真效果出现后,通过STC软件下载至开发板上4)对比仿真效果与实际效果,进一步完善程序4.2调试内容1)LCD是否能显示所输入的字符串2)是否能精确延时3)遥控器是否能正确控制LCD屏4)能否实现左移的功能4.3(1)仿真图 (2)实物图:五.设计总结5.1设计小结本次单片机设计是用单片机控制一个简单系统的实际应用。通过单片机这个核心控制元件,做成了一个可控制的LCD字幕显示屏。它首先具备一个字幕显示的功能,作用相当于一个显示屏,通过单片机显示在液晶上;其次具备字幕可调节的功能,用按键控制字幕的显示,使系统能够人性化与个性化。5.2收获体会这次设计中,我深刻体会到钻研的重要性,一个看似简单的系统,却需要着大量的知识储备和很强的钻研精神,理论和实践往往是两回事,理论上很简单的事情在实际操作中往往会遇到很多意想不到的困难,学科的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论