开篇:润墨网以专业的文秘视角,为您筛选了一篇基于单片机的学习型遥控器设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
【摘 要】从基本原理、软件实现和硬件实现等方面着手设计一种基于STC90C51单片机的学习型红外线遥控器。本设计采用彩屏显示、触摸屏控制,可实现对多个NEC协议红外遥控器发出的红外信号进行学习,可将多个用电器的遥控功能集成在该学习型遥控器中,大大提高了人机交互性能。本设计可拓展到智能家居的红外控制解决方案当中。
【关键词】STC90C51单片机;TFT;触摸屏;红外线;载波
0 引言
近年来,红外遥控已经涉及到各类家电和工业设备。但各厂商遥控器互不兼容,应用范围有限,传统的单一控制和被动控制红外遥控器已无法满足人们的需求。随着科技的发展,单片机在控制领域起到越来越重要的作用,触摸屏和彩屏的成本的逐渐降低,所以采用以单片机90C51为控制核心进行遥控应用设计,分为控制模式和学习模式,加之采用触摸屏输入,彩屏显示界面。可极大地提高遥控器人机交互性能。
1 整体原理
学习型遥控器就是基于对BIT‘0’和BIT‘1’的识别(由于NEC协议的编码长度比较通用,故采用)BIT‘0’是先高电平为0.56ms然后低电平为0.56ms。BIT‘1’是先高电平为0.56ms然后低电平为1.69ms。
当NEC协议遥控器在按键按下后,会周期性地发出同一种32位二进制码,它的周期约为108ms。一般大约是45--63ms之间,当一个键按下超过了36ms,振荡器就会使芯片激活,从而发射一组编码脉冲,这个编码脉冲一般是由一个起始码(大约9ms),一个结果码(大约4.5ms),低8位地址码(大约9-18m),高8位地址码(大约9-18ms),8位数据码(大约9-18ms)和这8位数据的反码(大约9-18ms)组成。
本方案是基于单片机的学习型遥控器,红外波形的学习模式方案如图1和控制模式方案如图2。以STC90C516R+为核心,通过测量NEC协议红外遥控信号的脉冲宽度来原封不动地保存红外遥控编码,并利用单片机定时器T0实现38KHz载波,根据触摸屏相应操作单片机控制输出红外遥控波形,实现了红外波形的学习和控制。
2 硬件实现
硬件整体原理如图3所示。
红外解码模块设计。采用PC 1838一体化红外解码器,它的第二脚接地,第三脚接5V的电源,第一脚接到单片机的P3.2中。PC 1838红外解码后,单片机P3.2将接收高低电平脉冲信号,下降沿有效。单片机可以对红外编码长度进行测量并记录下来。
片外EEPROM模块设计。当在本系统学习模式情况下,选择彩屏上的按键(即触摸)。就会有相应的数据存储到AT24C08中,在断电的情况下也不会使数据丢失。当在本系统控制模式情况下,选择彩屏上的按键(即触摸)。就会有相应的数据从AT24C08中调用出来。
TFT彩屏显示模块设计。TFT-GGIN7009UTSW-W是属于电阻屏,它的22,23,24,25,26,27,28,29脚接STC90C516RD+单片机的1,2,3,4,5,6,7,8脚。TFT-GGIN7009UTSW-W的14,15,16,17,18,19,20,21脚接STC90C516RD+单片机的32,33,34,35,36,37,38,39脚。TFT-GGIN7009UTSW-W的11,12,13脚接STC90C516RD+单片机的28,27,26脚TFT-GGIN7009UTSW-W1,2,3,4,5,6,7,31,32,33,38,39脚接地。TFT-GGIN7009UTSW-W的8,9,10脚接电源。
触摸屏控制模块设计。XPT2046是属于集成在TFT-GGIN7009UTSW-W一块触摸屏控制芯片。XPT2046的11,12,14,15,16分别接STC90C516RD+的21,25,23,22,24脚。XPT2046采用差分控制模式。可有效的提高精度。当人触碰触摸屏时,X-,X+,X-,Y+坐标值将会进行读取,进行差分运算后,存储到相应的地址中,从而达到了人机交互的目的。
红外载波发射模块设计。运用STC90C516RD+的定时器T0产生38KHZ的载波(因为我们设置TO定时器的TH0=0xFF,TL0=0xE6;也就是大约每26us产生一次中断,而在程序中,根据接收的编码的PWM高低电平可以控制是否发射出去。从而就得到的38KHZ的载波。)然后信号经过电阻后到达了8050的基极,8050发射极接地,集电极接电阻后接红外发光二极管的负极。当有信号从STC90C516RD+发出时,通过三极管8050控制红外二极管的亮灭。
单片机模块设计。本模块采用STC90C516RD+单片机,它是本系统的CPU。它的20,40脚接地和5V电源,为单片机供电。它的1,2,3,4,5,6,7,8脚接彩屏的高位数据入口,32,33,34,35,36,37,38,39脚接彩屏的低位数据入口,26,27,28脚分别接彩屏的WR,RS,CS。13脚接彩屏的复位脚,上述这些脚控制着彩屏。它的18,19脚接12MHZ晶振。它的9脚接复位电路。它的21,22,23,24,25接触摸屏的PEN,T-CS,DI,CLK,DO脚,以读取触摸屏坐标信号。它的10,11脚接入小按钮,以选择控制模式和学习模式。它的12脚接PC 1838,以读取接收红外高低电平脉冲信号。它的14脚要用于定时器T0接红外发射模块,以发射学习到的红外高低电平脉冲信号。它的15脚接蜂鸣器,以方便人机交流。
3 调试
整体调试如图。图4、图5为一级界面。图6、图7为二级界面。图8、图9为二级界面。
当系统通电或者是复位的时候。系统会首先进入图4一级界面A,等待3秒钟后,自动刷新到图5一级界面B中。
学习模式时,选择按键K1时,界面会刷新,进入图6二级界面A中,其界面上有七个模块可供选择,每个模块代表一个遥控器。当选择图6二级界面A中的前三个(model 1,model2,model3)模式后,会调用如图8三级界面A所示。当人按下如图8三级界面A所示界面相应按键的时候,学习型遥控器会对红外遥控信号进行学习,学习成功后,蜂鸣器响,并且相应按键变红后变绿。当选择图6二级界面A中的后四个(model4,model5,model6,model7)模式后,会调用如图9三级界面B所示。当人按下如图9三级界面B所示界面相应按键的时候,学习型遥控器会对红外遥控信号进行学习学习成功后,蜂鸣器响并且相应按键变红后变绿。
控制模式时,选择按键K2时,界面会刷新,进入图7二级界面B中,其界面上有七个模块可供选择,每个模块代表一个遥控器。当选择图7二级界面B的前三个(model 1,model2,model3)模式后,会调用如图8 三级界面A所示。当人按下如图8三级界面A所示界面相应按键的时候,学习型遥控器会对红外遥控信号进行学习,学习成功后,蜂鸣器响,并且相应按键变红后变绿。当选择图7二级界面B的后四个(model4,model5,model6,model7)模式后,会调用如图9 三级界面B所示。当人按下如图9 三级界面B所示界面相应按键的时候,学习型遥控器会对红外遥控信号进行学习,学习成功后,蜂鸣器响,并且相应按键变红后变绿。
【参考文献】
[1]肖伸平,欧伟明,何静,凌云,刘剑.单片机原理与应用:系统设计[M].电子工业出版社,2009.
[2]郑锋,王巧芝,李英建,刘瑞国.51单片机应用系统典型模块开发大全[M].中国铁道出版社,2004.
[3]徐爱钧,彭秀华.KEIL CX51 V7.0单片机高级语言编程与uVISION2应用实践[M].北京:电子出版社,2005.
[4]何立民.单片机高级编程[M].北京:北京航天航空大学出版社,2000.
[5]KEIL Software Inc.RTX51 Real-time Kernel[OL].http:///rtx51,2004.
基金项目:湖南工业大学大学生研究性学习与创新性实验计划项目。
作者简介:宋血平(1992―),男,湖南郴州人,湖南工业大学自动化专业2011级本科生。