单片机课程设计 遥控器.docx
- 文档编号:30740031
- 上传时间:2023-08-20
- 格式:DOCX
- 页数:25
- 大小:150.62KB
单片机课程设计 遥控器.docx
《单片机课程设计 遥控器.docx》由会员分享,可在线阅读,更多相关《单片机课程设计 遥控器.docx(25页珍藏版)》请在冰豆网上搜索。
单片机课程设计遥控器
学号**********
单片机原理及应用A课程设计
设计说明书
通用型电视遥控器的设计
起止日期:
2014年7月7日至2014年7月12日
学生姓名
班级
成绩
指导教师(签字)
控制与机械工程学院
2014年6月20日
课程设计任务书
2013—2014学年第1学期
控制与机械工程学院电气工程及其自动化专业班级
课程设计名称:
单片机原理及应用A课程设计
设计题目:
通用型电视遥控器的设计
完成期限:
自2014年7月7日至2014年7月12日共1周
设计依据、要求及主要内容(可另加附页):
一、课程设计的目的
1、进一步熟悉和掌握单片机的结构及工作原理。
2、掌握单片机的接口技术及相关外围芯片的外特性,控制方法。
3、通过课程设计,掌握以单片机为核心的电路设计的基本方法和技术。
4、通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。
5、通过完成一个包括电路设计和程序开发的完整过程,了解开发一单片机应用系统的全过程,为今后从事相应打下基础。
二、课程设计的基本要求
1、认真认识设计的意义,掌握设计工作程序,学会使用工具书和技术参考资料,并培养科学的设计思想和良好的设计作风。
2、提高模型建立和设计能力,学会应用相关设计资料进行设计计算的方法。
3、提高独立分析、解决问题的能力,逐步增强实际应用训练。
4、课程设计的说明书要求简洁、通顺,计算正确,图纸表达内容完整、清楚、规范。
5、课程设计说明书封面格式要求见《天津城市建设学院课程设计教学工作规范》
附表1。
三、课程设计具体要求
1、要求每位同学独立完成设计任务。
2、原理图设计。
1)原理图设计要符合项目的工作原理,连线要正确。
2)图中所使用的元器件要合理选用,电阻,电容等器件的参数要正确标明。
3)原理图要完整,CPU,外围器件,扩器接口,输入/输出装置要一应俱全。
3、程序调计
1)根据要求,将总体项能分解成若干个子功能模块,每个功能模块完成一个特定的功能。
2)根据总体要求及分解的功能模块,确定各功能模块之间的关系,设直出完整的程序流程图。
4、设计说明书
1)原理图设计说明
简要说明设计目的,原理图中所使用的元器件功能及在图中的作用,各器件的工作过程及顺序。
2)程序设计说明
对程序设计总体功能及结构进行说明,对各子模块的功能以及各子模块之间的关系作较详细的描述。
3)画出工作原理图,程序流程图如并给出相应的程序清单。
四、设计任务
用MCS-51系列单片机AT89C52代替专用遥控芯片的设计方案,通过软件模拟实现了电视机遥控编码的发射,并且达到“一器多用”。
指导教师(签字):
系(教研室)主任(签字):
批准日期:
2014年7月10日
摘要
随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的遥控系统开始进入了人们的生活。
传统的遥控器采用专用的遥控编码及解码集成电路,这种方法虽然制作简单、容易,但由于功能键数及功能受到特定的限制,只实用于某一专用电器产品的应用,应用范围受到限制。
而采用单片机进行遥控系统的应用设计,具有编程灵活多样、操作码个数可随便设定等优点。
本文介绍了一种用MCS-51系列单片机AT89C52代替专用遥控芯片的设计方案,通过软件模拟实现了电视机遥控编码的发射,并且达到“一器多用”。
综合应用了单片机中断系统、定时器、计数器等知识,应用红外光的优点。
遥控操作的不同,遥控发射器通过对红外光发射频率的控制来区别不同的操作。
遥控接收器通过对红外光接收频率的识别,判断出控制操作,来完成整个红外遥控发射、接收过程。
其优点硬件电路简单,软件功能完善,性价比较高等特点,具有一定的使用和参考价值。
关键词:
单片机红外遥控编码中断定时计数
绪论
为适应社会发展的需要,微型计算机不断的更新换代,新产品层出不穷。
在微型计算机的大家族中,几年来单片微型计算机异军突起,发展极为迅速。
单片微型计算机(Sing-ChipMicrocomputer)简称单片机。
它是在一块芯片上集成中央微处理器(CentralProcessingUnit,CPU)、随机存取存储器(RandomAccessMemory,RAM)、只读存储器(ReadOnlyMemory,ROM)、定时/计数器及I/O(Input/Output)接口电路等部件,构成一个完整的微型计算机。
它的特点是:
高性能,高速度,体积小,价格低廉,稳定可靠,应用广泛。
上世纪八十年代初,日本率先在电视产品中使用了红外遥控技术,目前已经在电视机上得到了广泛应用。
电视遥控器使用的是专用集成发射芯片来实现遥控码的发射,如东芝TC9012,飞利浦SAA3010T等。
这些芯片价格较贵,且相互之间采用的遥控编码格式互不兼容,所以各机型的遥控器通常只能针对各自的遥控对象而无法通用。
本文在试验验证的基础上,介绍了如何利用低成本的MCS-51系列单片机来实现遥控码的模拟发射,并实现遥控器的通用化。
万能遥控器的实现原理就是对芯片内部的存储器进行了扩展,先收集市场上可能存在的所有遥控器的编码,然后将这些编码存储在万能遥控器内部的芯片里,对这些编码根据电器的型号进行编号(也就是代码表),在实际使用时,根据电器的型号从代码表里找到编号,按照使用要求输入编号,就可以使用了。
万能遥控器并非万能,它和内部芯片中预先存储的编码有关。
一、单片机的产生和发展
单片微型计算机(Sing-ChipMicrocomputer)简称单片机。
它是在一块芯片上集成中央微处理器(CentralProcessingUnit,CPU)、随机存取存储器(RandomAccessMemory,RAM)、只读存储器(ReadOnlyMemory,ROM)、定时/计数器及I/O(Input/Output)接口电路等部件,构成一个完整的微型计算机。
它的特点是:
高性能,高速度,体积小,价格低廉,稳定可靠,应用广泛。
单片机的发展史并不长,它的产生和发展与计算机的产生与发展大体同步,也经历了四个阶段。
第一阶段(1970年——1974年):
为4位单片机阶段。
这种单片机的特点是:
价格便宜控制功能强,片内含有多种I/O接口,有的根据不同用途还配有许多专用接口,有些甚至还包括A/D转换器、D/A转换、声音合成等电路。
丰富的I/O功能大大增强了四位单片机应用与录音机、摄像机、电视机、电冰箱、洗衣机、录像机和电子玩具等产品。
第二阶段(1974年——1978年):
为低中档8位单片机阶段。
它是8位单片机的早期产品,以Inter公司的MCS-48系列单片机为代表,这个系列的单片机在片内集成8位CPU、并行I/O口、8位定时/计数器、RAM和ROM等,中断处理较简单,片内RAM和ROM容量较小,且寻址范围不大于4KB。
第三阶段(1978年——1983年):
为高档8位单片机阶段。
这类单片机在低、中档基础上发展起来的,其性能有明显提高。
以Inter公司的MCS-48系列单片机为代表,在片内增加了串行接口,有多级中断处理系统,有16位定时/计数器,片内RAM、ROM容量增大,信纸范围可达64KB,有的片内带有A/D转换接口。
这类单片机功能强,应用领域广,是目前各类单片机中应用最多的一种。
第四阶段(1983年—现在):
为8位单片机巩固发展阶段及16位单片机、32位单片机推出阶段。
此阶段主要特点是:
一方面不断发展16位单片机、32位单片机及专用单片机。
16位单片机除CPU为16位外,片内RAM为232B,ROM位8KB,片内带有高速输入输出部件,多通道10位A/D转换部件,中断处理为8级,其实时处理能力强。
今年来,各个计算机厂家已进入高性能的32位单片机研制、生产阶段,32位单片机除了具有更高的集成度外,主振频率已达20MHz,这使32位单片机的数据处理速度比16位单片机快的多,性能比8位、16位单片机更加优越。
二、电视遥控器组成及原理
2.1遥控技术原理
通常电视遥控信号的发射,就是将某个按键所对应的控制指令和系统码(由0和1组成的序列),调制在32~56KHz范围内的载波上,然后经放大、驱动红外发射管将信号发射出去。
通常彩电遥控信号的发射,就是将某个按键所对应的控制指令和系统码(由0和1组成的序列),调制在32~56KHz范围内的载波上,然后经放大、驱动红外发射管将信号发射出去。
不同公司的遥控芯片,采用的遥控码格式也不一样。
在此较普遍的两种,一种是NEC标准,一种是PHILIPS标准。
本设计主要讲述NEC标准。
NEC标准:
遥控载波的频率为38KHz(占空比为1:
3);当某个按键按下时,系统首先发射一个完整的全码,然后经延时再发射一系列简码,直到按键松开即停止发射。
简码重复延时108ms,每两个引导脉冲上升沿之间的间隔都是108ms。
一个完整的全码如图2.1所示。
其中,引导码高电平4.5ms,低电平4.5ms;系统码8位,数据码8位,共32位;数据0用“高电平0.5625ms+低电平0.5625ms”表示,数据1用“高电平0.5625ms+低电平1.6875ms”表示,如图2.2所示:
一个简码=引导码+系统码位0的反码+结束位(0.5625ms)高电平。
各部分码的作用:
引导码用来通知接收器其后为遥控数据。
系统码用来区分是哪一机型的数据,接收端依此来判断后续的数据是否为须执行的指令。
数据码用来区分是哪一个键被按下,接收端根据数据码做出应该执行什么动作的判断。
简码是在持续按键时发送的码。
它告知接收端,某键是在被连续地按着。
遥控数据传输系统的关键是数据传输的可靠性。
为了提高编码的可靠性,NEC标准规定系统码、数据码后分别接着传送一个同样的码或者反码,供误码校验用。
图2.1NEC标准下的主码表示
图2.2NEC标准下,数据0和1的表示
2.2遥控器的组成及原理
遥控器主要由形成遥控信号的微处理器芯片、晶体振荡器、放大晶体管、红外发光二极管以及键盘矩阵本单片机遥控应用系统采组成。
用红外线发射频率的不同,来识别不同的遥控功能。
当我们按下某一个按键的时候,由单片机识别出该按键后,由CPU向接有红外发射管的端口发射一定频率的脉冲,该脉冲与38KHz左右的载波脉冲进行调制,然后将已调制的脉冲进行缓冲放大,激励红外发光二极管将电能转化为光能,使得红外发光二极管发射出一定频率的红外线,当接收控制系统接收到该红外光后,由单片机内定时/计数器得到该红外光的频率,然后将该频率送往CPU,由CPU对该信号进行反编码,识别出控制信号,从而对控制电路实施控制功能。
完成整个遥控功能。
目前市场上一般采用的遥控编码及解码集成电路。
此方案具有制作简单、容易等特点,但由于功能键数及功能受到特定的限制,只适合用某一专用电器产品的应用,应用范围受到限制。
而采用单片机进行遥控系统的应用设计,具有编程灵活多样、操作码个数可随意设定等优点。
万能遥控器的实现原理就是对芯片内部的存储器进行了扩展,先收集市场上可能存在的所有遥控器的编码,然后将这些编码存储在万能遥控器内部的芯片里,对这些编码根据电器的型号进行编号(也就是代码表),在实际使用时,根据电器的型号从代码表里找到编号,按照使用要求输入编号,就可以使用了。
万能遥控器并非万能,它和内部芯片中预先存储的编码有关。
2.3红外通信技术原理
从光学的角度而言,红外是频率低于红色光的不可见光,的无线光谱的整个频率中占有很小一个频率段,波长为0.75—100微秒之间,其中0.75—3微秒之间的红外光称为近红外,3—30微秒之间的红外光称为中红外,30—100微秒之间的称为远红外。
红外光就其性质而言很简单,与普通光线的频率特性没有很大的区别,但是,由于任何有热量的物体均有能量产生,所以红外的利用非常广泛,而且不可取代,能否检测红外、能测到多少红外或者红外检测的技术是否可以应用于任何自然的或想象的场合是红外应用技术的关键。
当今红外技术的一个重要分支是红外通信技术的应用,这个应用的发展非常迅速,尤其是红外通信应用于计算机设备中,近几年的发展已经表现出其非常成熟的特性。
2.4选择红外遥控的原因
无线遥控方式可分为无线电波式、声控式、超声波式和红外线式。
由于无线电式容易对其它电视机和无线电通讯设备造成干扰,而且,系统本身的抗干扰性能也很差,误动作多,所以未能大量使用。
超声波式频带较窄,易受噪声干扰,系统抗干扰能力差以及声控式识别正确率低,难度大而未能大量采用。
红外遥控方式是以红外线作为载体来传送控制信息的,同时随着电子技术的发展,单片机的出现,催生了数字编码方式的红外遥控系统的快速发展。
另外,红外遥控具有很多的优点,例如红外线发射装置采用红外发光二极管,遥控发射器易于小型化且价格低廉;采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,增加遥控功能,提高信号传输的抗干扰性,减少误动作,而且功率消耗低;红外线不会向室外泄露,不会产生信号串扰;反应速度快、传输效率高、工作稳定可靠等。
所以现在很多无线遥控方式都采用红外遥控方式。
三、单片机红外遥控器设计
3.1单片机红外遥控发射器原理
单片机红外遥控发射器主要有单片机、行列式键盘、低功耗空闲方式控制电路、红外管发射电路以及单片机的一些电源、复位、震荡子电路组成。
单片机不工作时一直处于低功耗状态,采用了空闲节电工作方式。
当遥控器的某一按键被按下以后,外部中断1产生中断,唤醒单片机进入工作状态,查询键盘按下的是哪一个按键,当确认按键后,控制软件启动定时器T0、T1,T1作为发射时间控制器,T0作为红外线发射频率控制器,T0定时溢出时中断程序使红外管接口电平反转一次,写入定时器的初值不同,在输出端口就得到不同的发射频率。
T1定时溢出时中断程序关闭关闭T0定时器,停止红外线发射。
其设计原理框图如图3.1所示。
图3.1单片机遥控发射器设计原理图
3.2单片机红外遥控接收器原理
单片机红外遥控接收器主要有单片机、红外遥控接收电路、状态指示电路、控制电路以及单片机的一些外围电路组成。
利用单片机中的T0作为红外脉冲计数器,T1作为计数时间控制器。
当电路中红外接收管接收到第一个红外脉冲时,外部中断1被触发,启动计数器T0和定时器T1。
定时溢出,中断程序关闭计数器T0,读入计数值并进行判断,确定操作对象(遥控按键)对其进行反转操作,控制电路对所控制的负载进行开或关。
还可对接收电路实行上锁功能,对控制电路上锁后,遥控器不能对控制电路实施遥控功能。
其设计原理方框图如图3.2所示:
图3.2红外接收遥控电路原理框图
3.3系统硬件电路设计
1.CPU时钟电路
时钟电路用于产生单片机工作所需要的时钟信号。
时钟信号可以有两种方式产生:
内部时钟方式和外部时钟方式。
(1)内部时钟方式
2051单片机有一个高增益反向放大器,用于构成振荡器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。
在XTAL1和XTAL2两端跨接晶体或陶瓷振荡器,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟发生器,见下图,外接晶振时,C1、C2值通常选择为30pF左右;外接陶瓷振荡器时,C1、C2约为47pF。
C1、C2对频率有微调作用,震荡频率范围是1.2—12MHz。
为了减少寄生电容,更好的保证振荡器稳定可靠的工作,谐振器和电容应尽可能安装的与单片机芯片靠近。
内部时钟发生器实质上是一个二分频的触发器,其输出信号是单片机工作所需的时钟信号。
(2)外部时钟方式
外部时钟方式是采用外部振荡器,外部振荡信号由XTAL2端接入后直接送至内部时钟发生器。
输入端XTAL1应接地,由于XTAL2端的逻辑电平不是TTL的,故建议外接一个上拉电阻。
一般情况下,单片机时钟输入均采用内部时钟方式,外接一个震荡电路,本系统采用内部时钟方式,晶振采用12MHz,其电路如图3.3所示。
图3.3AT89C2051时钟电路
3.4独立式按键结构
矩阵式键盘即行列式键盘,用I/O线组成行、列结构,按键设置在行列的交电上,行列线分别连接到按键开关的两端,按键中有无按键按下是由列线送入扫描字,行线读入行线状态来判断的。
本设计中的4*4矩阵键盘扫描时先经4位输出口向4位列线输出低电平,然后再输入4位行线的状态,若行线状态皆为高电平则表明无键按下,若行线状态有低电平则表明有键被按下。
其电路原理图如图3.4下:
图3.44*4键盘电路
3.5遥控发射电路设计
遥控发射部分,主要由AT89C52单片机、矩阵式操作键盘、红外发射电路和电源部分组成。
实现一旦有键按下,单片机进行键盘查询,并由查询的键号控制红外发射管发射相应的脉冲。
运用了红外发射电路,遥控信息码由单片机的定时器0调制成38KHZ的红外线载波信号,由P3.4口输出,经三极管9013放大后由红外发射管发射出去。
其电路原理图如图3.5所示。
图3.5遥控发射部分的电路原理图
3.6遥控接收电路设计
主要由AT89S52单片机、红外接收电路、数码显示电路、继电器控制电路和电源电路组成。
遥控器发射的信号经红外接收处理传递给单片机,单片机根据不同的信息码进行相应的继电器的控制,并完成相应的现实功能。
本设计采用SM0038一体化接收头,其解调频率为38KHZ,当接收到38KHZ的红外脉冲信号时输出为低电平,反之输出高电平。
经其解调后的信号输入单片机的中断和串行接收口。
通过单片机的中断查询可进行下一步操作。
另外还要使用数码显示电路为方便识别发射的按键号码,以及显示受控制的电路,在接收部分设置数码显示电路。
显示电路主要由显示驱动器4511和数码管LED组成。
CD4511是7段译码器,与其它驱动器不同的是,它显示数码‘6’和‘9’时没有拖尾现象,它所驱动对象是共阴极LED数码管。
CD4511的四个信号输入端用单片机P1端口中的四位来实现。
最后还要加上继电器控制电路,继电器控制电路可由单片机的P0和P2口输出,一共可以有16个支路,即可以控制16个电器,而这16个支路的电路形式完全相同,在本次设计模型中,可选择其中的一个或几个支路来演示。
以P2.1口为例,将其连接到继电控制电路中三极管9012的基极,三极管的射极接继电器,使整个控制部分接到交流电器中。
当P2.1输出低电平时,三极管导通,继电器吸合,对应的电器设备电源接通,设备开启工作;否则P0或P2口相应引脚输出为高电平,三极管截止,继电器断开,对应的电器设备因断电而不能工作。
其电路原理图如图3.6所示。
图3.6接收控制部分的电路原理图
四、系统软件设计
4.1遥控发射器程序设计
此系统是一个红外遥控发射器,设计目的就是根据按键的不同,发射出不同的红外信号。
传统的遥控器都是采用遥控发射专用集成芯片,例如飞利浦公司生产专用芯片SAA3010,三菱公司生产的M50462P专用发射芯片。
由于这些芯片的功能键数及功能受到特定的限制,只适合于某一专用电器产品的应用,应用范围受到限制。
本系统采用单片机制作,采用编程的方法,由于编程具有灵活性,故应用范围较广,操作码可随意设定。
主程序流程图如图4.1所示:
否
是
否
是
图4.1遥控发射主程序流程图
4.2键盘扫描程序
键盘扫描程序就是扫描键盘看是否有键按下,如有键按下,判断出是哪一个键,当确定按下某一个键后,即执行红外发射程序。
扫描的方法是判断P1口各位的电平,无按键按下时,各位均为高电平,当某一个按键按下以后,该位即为低电平。
通常,按键所用开关为机械弹性开关,均利用了机械触点的合、断。
一个电压通过机械触点的断开、闭合过程,由于机械触点的弹性作用,一个按键开关在闭和时不会马上稳定接通,在断开时也不会一下断开。
因而,在闭合和断开的瞬间均伴随着一连串的抖动,抖动时间的长短由按键的机械特性决定,一般为5—10ms。
按键电路的消抖措施通常有硬件和软件两种方法[24]。
硬件消除键盘抖动措施主要就是外加双稳态电路或者滤波电路的方法。
本电路采用的是软件消抖的方法,就是调用一个延时子程序,延时时间设定为6ms。
4.3定时器中断服务程序
定时器T1作为发射时间控制器,当确认某一按键被按下后,T1开始记时,记时时间为50ms,记时时间到,定时器1产生中断,红外脉冲停止发射。
同时将红外脉冲发射端口P3.4电平置成无效电平。
定时器T0作为红外线发射频率控制器,当定时时间到产生中断,将P3.4端口反转一次,同时对定时器重新装初值,定时时间与前相同,T0重新定时,时间到又将P3.4端口反转一次,如此往复,直到定时器1记时时间到,关闭定时器1和定时器0重新回到主程序。
此处采用了一个位标志bz,在宏指令中将其定义为位寻址区的07H,当定时器在执行中断服务程序时,将该位定义为高点平1,使主程序不断的查询该位,当该位为1时,等待中断程序的执行,此时向外发射红外脉冲;当该位为0时,中断结束,主程序继续向下执行。
4.4遥控接收程序设计
遥控接收器是根据接收到的不同频率的红外光信号,由CPU转化为对应的控制功能对控制电路实施控制。
当接收电路接收到第一个红外线脉冲时,中断INT1被触发,启动定时器1和计数器0。
定时器1作为计数时间控制器,计数器0作为在规定记数时间内所记得的红外脉冲数。
接收信号端接至P3.3和P3.4口,该两引脚为复用引脚,P3.3引脚复用为外部中断1请求输入端;P3.4引脚复用为定时器/计数器0计数脉冲输入端。
当收到第一个红外脉冲时,INT1被触发,T0和T1开始工作,每收到一个红外脉冲,计数器0记数值加一,当定时器定时时间到,产生中断,保存计数器0的计数值。
由于定时时间为50ms,故各种不同状态对应的红外脉冲数大约为15、30、45、60、75、90、105、120个,然后将记数值与上述各值比较。
由于存在误差,计数器0的记数值不可能严格和上述值相等,只要近似相等就行,限制的误差范围为5,即将记数值加减5得到两个数值,再判断哪一个值在这一范围之内,即可断定遥控发射器发射出的红外信号的发射频率即为该值,从而可断定出遥控操作,然后由接收遥控器CPU将其转化为控制操作,对外电路实施控制功能。
程序流程图4.2所示:
是
否
是
否
是否
图4.2遥控接收流程图
4.5程序清单
#include"reg52.h"
sbitir=P2^0;//红外发射管控制脚,使用24M晶振
sbitled=P2^1;
sbitka=P1^0;
sbitkb=P1^1;
sbitkc=P1^2;
sbitkd=P1^3;
unsignedintcount,set_count;//中断计数,设定中断次数
bitirflag,keyflag;//红外发送标志位,按键标志位
unsignedcharirsys[]={0x00,0xff};//16位用户码
unsignedcharirdata,ircode;//发送的红外数据
voidmain()
{
timer0_init();//定时0初始化
count=0;//中断计数先清0
irflag=0;//红外发射标志先置0
while
(1)
{
keyscan();//键值扫描
if(keyflag)//若有按键按下
{
led=0;
delay(10);
ir_send();//发送红外
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机课程设计 遥控器 单片机 课程设计