单片机原理与应用技术课程设计报告(论文)题目(基于单片机的红外遥控系统)专业班级:电气102班姓名:时间:2013.11.07 ~2013.11.28指导教师:徐君鹏邵锋苗青林完成日期:2013年11月28 日1红外系统设计任务书1.设计目的与要求设计一个红外遥控系统。
准确地理解有关要求,独立完成系统设计,要求所设计的电路具有以下基本功能:(1)有效遥控距离大于10米。
(2)遥控控制的路数在5路以上。
(3)采用数码管显示当前工作的控制电路。
2.设计内容(1)画出电路原理图,正确使用逻辑关系;(2)确定元器件及元件参数;(3)进行电路模拟仿真;(4)SCH文件生成与打印输出;(5)PCB文件生成与打印输出;3.编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。
4.答辩在规定时间内,完成叙述并回答问题。
2基于单片机的红外遥控系统电子102班马艳红摘要:随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的遥控系统开始进入了人们的生活。
传统的遥控器采用专用的遥控编码及解码集成电路,这种方法虽然制作简单、容易,但由于功能键数及功能受到特定的限制,只实用于某一专用电器产品的应用,应用范围受到限制。
而采用单片机进行遥控系统的应用设计,具有编程灵活多样、操作码个数可随便设定等优点。
本设计主要应用了AT89s52单片机作为核心,综合应用了单片机中断系统、定时器、计数器等知识,应用红外光的优点。
遥控操作的不同,遥控发射器通过对红外光发射频率的控制来区别不同的操作。
遥控接收器通过对红外光接收频率的识别,判断出控制操作,来完成整个红外遥控发射、接收过程。
其优点硬件电路简单,软件功能完善,性价比较高等特点,具有一定的使用和参考价值。
关键词:单片机,红外遥控,中断,定时,计数,频率1 引言红外技术的一个重要分支是红外通信技术的应用,这个应用的发展非常迅速,尤其是红外通信应用于计算机设备中,近几年的发展已经表现出其非常成熟的特性。
基于单片机的红外线遥控系统力求概念清楚,层次分明,经过大量翻阅工作,了解设计基本过程,结合自己设计的原始资料,从而进一步指导设计的开展。
本次设计首先通过对指导老师的咨询确定了设计的基本思路,即分别用两块单片机驱动发射和接收两个电路,这样设计外围器件简单,主要通过编程实现其功能。
后来又通过对图书馆资料和网络资料以及和指导老师的讨论逐步对电路进行了完善。
电路完成后,通过对《单片机应用程序设计技术》《单片机实验与实践技术》等书的研究确定了编程的大致思想,通过不断的仿真,一步一步的改进程序,直至仿真成功。
把程序烧入做好的PCB板中,进行硬件调试,直到功能实现。
2 总体设计方案目前市场上一般采用的遥控编码及解码集成电路。
此方案具有制作简单、容易等特点,但由于功能键数及功能受到特定的限制,只适合用某一专用电器产品的应用,应用范围受到限制。
而采用单片机进行遥控系统的应用设计,具有编程灵活多样、操作码个数可随意设定等优点。
本单片机遥控应用系统采用红外线发射频率的不同,来识别不同的遥控功能。
当单片机通电后p2.0口持续发射38khz的方波,我们按下某一个按键的时候,由单片机识别出该按键后,由p2.1口发射一定频率的脉冲,该脉冲与38KHz左右的载波脉冲进行调制,然后将已调制的脉冲进行缓冲放大,激励红外发光二极管将电能转化为光能,使得红外发光二极管发射出一定频率的红外线,当接收控制系统接收到该红外光后,由单片机内定时/计数器得到该红外光的频率,然后将该频率送往CPU,由CPU对该信号进行反编码,识别出控制信号,从而对控制电路实施控制功能。
完成整个遥控功能。
2.1 设计思路红外遥控系统分为发射和接收两部分。
单片机红外遥控接收器主要有单片机、hs0038组成的红外遥控接收电路、状态指示电路、发光led指示电路理论以及单片机的一些外围电路组成。
单片机接收到信号由接收电路解调并从外部中断0输入单片机。
门控制位GATE使计数器T0受INT0控制,当GATE为1,TR0为1时,只有INT0引入高电平时才开始计数,利用此功能可以计算高电平脉冲宽度,从而找到对应的波形,使发光led和数码管正确显示。
342.2 总体设计框图图1接收框图3 设计原理分析3.1硬件电路设计 3.1.1发射电路发射电路采用独立键盘独立式按键配置灵活,软件结构简单,上拉电阻保证了按键断开时,I/O 口线有确定的高电平。
根据红外发射管本身的物理特性,必须要有载波信号与即将发射的信号相“与”,然后将相“与”后的信号送发射管,才能进行红外信号的发射传送,而在频率为38KHz 的载波信号下,射管的性能最好,发射距离最远,38K 载波与发射信号进行逻辑“与”运算后,通过三极管的功率驱动到红外发光二极管上。
红外发送电路由74ls00芯片,单片机发送控制电路和由8050三极管组成的红外发送管驱动输出电路组成,当单片机P2.1口输出为“0”时,发射管不发光,当单片机P2.1口输出为“1”时,红外发送管发出38KHz 调制红外线。
具体的发射波形如图2图2 调制过程中的波形3.1.2接收电路红外接收电路专门采用集成电路hs0038,hs0038有三个引脚,一个接电源一个接地,另外一个接 收 电路5V 电 源数 码 管 显示 AT89S51单 片 机发 光 led 显示接信号端,它集光电转换,解调和放大于一体。
红外一体化接收头的测试可以利用图5所示的电路进行,在HS0038 的电源端与信号输出端之间接上一只二极管及一只发光二极管后,再配上规定的工作电源(为+5V),当手拿遥控器对着接收头按任意键时,发光二极管会闪烁,说明红外接收头和遥控器工作都正常;如果发光二极管不闪烁发光,说明红外接收头和遥控器至少有一个损坏。
只要确保遥控器工作正常,很容易判断红外接收头的优劣。
当收到38KHz调制红外线时,hs0038输出解调后的波形如图6。
信号脚接到P3.2脚上,当hs0038收到第一个红外脉冲时,触发INT0产生中断,使单片机计数器TR0置1,TO开始计数,算出脉冲宽度,根据得到的计数值控制数码管和led显示。
图3图4 解调的波形3.2软件程序设计此系统是一个红外遥控发射器,设计目的就是根据按键的不同,发射出不同的红外信号。
传统的遥控器都是采用遥控发射专用集成芯片,例如飞利浦公司生产专用芯片SAA3010,三菱公司生产的M50462P专用发射芯片。
由于这些芯片的功能键数及功能受到特定的限制,只适合于某一专用电器产品的应用,应用范围受到限制。
本系统采用单片机制作,采用编程的方法,由于编程具有灵活性,故应用范围较广,操作码可随意设定。
53.2.1程序设计程序用计数器/定时器T0计数算出接收的脉冲宽度,得到对应波形,从而控制发光二极管的亮灭和数码管显示。
T0的工作方式为方式1,门控制位GATE置1,当INT0接收到接收电路解调过的波形时,为防止第一个高电平不完整,因此当第二个高电平到达时,TR0置1,T0允许计数,当INT0接收到高电平时开始计数,当高电平跳变为低电平时计数停止,根据计数值和机器周期计算脉冲宽度。
TH0和TH1初始值都设置为0,对应的频率和计数值分别是200HZ/13 58,400HZ/09 AD,500HZ/07 BD,650HZ/05 F4,800HZ/04 06,1000HZ/03 DE,1500HZ/02 94,2000HZ/01 F0。
由于这8个频率对应的计数值的高八位都不同,因此程序中只用比较高八位的值就能判断输入的波形性是哪一路的,即只取13 09 07 05 04 03 02 01这8个计数值,这样程序简单,而且能够减小误差。
4 总结与体会经过三周的思考与查阅和不断的努力,终于完成了此次单片机实习。
本文采用单片机AT89S051和红外线接收芯片设计了一款红外线遥控系统,分析了实验系统的软件和硬件设计,并对软件和硬件都进行了调试,做出了如下创新性工作:本设计是用单片机控制红外线发射和接收芯片实现遥控功能的同时,具有同步显示功能。
具有遥控的功能,具有很强的实用性,可开发成为具体的产品。
如应用到电视,电子钥匙,洗衣机,艺术彩灯系统等,具有推广价值。
但是由于时间的仓促,本系统还存在很多的不足,虽然本系统有8路遥控开关控制,但是在实际遥控控制系统中,一般要求的控制操作不止8路,这就要求系统进行功能的扩展,由于单片机引脚的限制,如果要扩展功能,就必须应用组合键来操作,不过也可以应用多片单片机来实现,但如果这样设计必将使遥控器的体积增大。
而现代电器正朝小型化发展,所以一般不采用这种方法。
而是在改变电路硬件结构的基础上重新编程,这样整个设计过程就变的相对复杂,由于时间和水平的限制,在此不考虑这种情况。
另外一点不足就是精度的问题,由于红外管的灵敏度问题啊,以及系统在布线上,器件与器件之间的相互干扰,多少存在一定的影响,所以这种遥控操作准确性还存在不足。
最后一点就是单片机电源的稳定性,复位电路过于简单,使得系统的抗干扰能力不强,使系统不能稳定的运行。
以上三点不足之处是我能想到的,系统肯定还存在其他方面的不足,还望老师能够赐教,指正出不足来。
计算机的发展可以说是日新月异,它给我们的生活、工作带来了翻天覆地的变化,现代生产生活计算机无处不在。
随着近代单片机的发展,人民的生活工作环境更是向着智能化、自动化方向发展,单片机主要的特点就是功能强大并且成本相当的低,所以很多领域都应用了单片机。
我想,随着我们的努力,单片机应用技术会越来越成熟,它的功能会越来越强大参考文献[1]周慈航.单片机应用程序设计技术[M].北京:北京航空航天大学出版社,1992.19~29[2]何立民.单片机实验与实践教程[M].北京:北京航空航天大学出版社,2006.116~1206[3]陈政.基于单片机的红外线遥控系统 [D].武汉:湖北经济学院电子工程系,2008[4] 张毅刚彭喜元,单片机原理及接口技术 [M] 人民邮电出版社,2006,4~50[5] 赵晓安. MCS-51单片机原理及应用[M] 天津:天津大学出版社,2001.3[6] 郭天祥. MCS-51单片机原理基础应用提高[M] 哈尔滨:哈尔滨工业大学出版社,2001.3附录一:汇编源程序PS1 EQU 69H7PS2 EQU 78HPS3 EQU 67HPS4 EQU 66HPS5 EQU 65HPS6 EQU 64HPS7 EQU 63HPS8 EQU 62HA T1 EQU 61HA T2 EQU 60HA T3 EQU 5FHA T4 EQU 5EHA T5 EQU 5DHAT6 EQU 5CHA T7 EQU 5BHA T8 EQU 5AHORG 0000HCLR P3.1SETB P3.0LCALL DELL Y30MSCLR P3.0AJMP MAINORG 30HMAIN:JB P1.0,LOOP0JB P1.1,LOOP1JB P1.2,LOOP2JB P1.3,LOOP3AJMP MAINLOOP0:MOV P2,#7FHJB P1.0,$A1:JB P1.0,Z0JB P1.1,Z1JB P1.2,Z2JB P1.3,Z3AJMP A1Z0:LJMP S0Z1:LJMP S1Z2:LJMP S2Z3:LJMP S3LOOP1:MOV P2,#7FH8JB P1.1,$A2:JB P1.0,Z4JB P1.1,Z5JB P1.2,Z6JB P1.3,Z7AJMP A2Z4:LJMP S4Z5:LJMP S5Z6:LJMP S6Z7: LJMP S7LOOP2:MOV P2,#7FHJB P1.2,$A3:JB P1.0,Z8JB P1.1,Z9JB P1.2,Z10JB P1.3,Z11AJMP A3Z8:LJMP S8Z9:LJMP S9Z10:LJMP S10Z11:LJMP S11LOOP3:MOV P2,#7FHJB P1.3,$A4:JB P1.0,Z12JB P1.1,Z13JB P1.2,Z14JB P1.3,Z15AJMP A4Z12:LJMP S12Z13:LJMP S13Z14:LJMP S14Z15:LJMP S15S0:MOV P2,#0C0HSETB P3.0LCALL DELL Y30MSCLR P3.0JB P1.0,$9AJMP MAINS1:MOV P2,#0F9HSETB P3.0LCALL DELL Y30MSCLR P3.0JB P1.1,$AJMP MAINS2:MOV P2,#0A4HSETB P3.0LCALL DELL Y30MSCLR P3.0JB P1.2,$AJMP MAINS3:MOV P2,#0B0HSETB P3.0LCALL DELL Y30MSCLR P3.0JB P1.3,$AJMP MAINS4:MOV P2,#99HSETB P3.0LCALL DELL Y30MSCLR P3.0JB P1.0,$AJMP MAINS5:MOV P2,#92HSETB P3.0LCALL DELL Y30MSCLR P3.0JB P1.1,$AJMP MAINS6:MOV P2,#82HSETB P3.0LCALL DELL Y30MSCLR P3.0JB P1.2,$AJMP MAIN10S7:MOV P2,#0F8HSETB P3.0LCALL DELL Y30MSCLR P3.0JB P1.3,$AJMP MAINS8:MOV P2,#80HSETB P3.0LCALL DELL Y30MSCLR P3.0JB P1.0,$AJMP MAINS9:MOV P2,#90HSETB P3.0LCALL DELL Y30MSCLR P3.0JB P1.1,$AJMP MAINS10:MOV P2,#88HSETB P3.0LCALL DELL Y30MSCLR P3.0JB P1.2,$AJMP MAINS11:MOV P2,#83HSETB P3.0LCALL DELL Y30MSCLR P3.0JB P1.3,$AJMP MAINS12:MOV P2,#0C6HSETB P3.0LCALL DELL Y30MSCLR P3.0JB P1.0,$AJMP MAINS13:11MOV P2,#0A1HSETB P3.0LCALL DELL Y30MSCLR P3.0JB P1.1,$AJMP MAINS14:MOV P2,#86HSETB P3.0LCALL DELL Y30MSCLR P3.0JB P1.2,$AJMP MAINS15:MOV P2,#8EHSETB P3.0LCALL DELL Y30MSCLR P3.0JB P1.3,$AJMP MAINSC0:MOV SBUF, #0FEHJNB TI, $CLR TISC1:MOV A, R6SUBB A, #02HJNC SC11JNZ SC2SC11:MOV SBUF,#0FEHJNB TI, $CLR TISC2:MOV A, R6SUBB A, #03HJNC SC22JNZ SC3SC22:MOV SBUF, #0FEHJNB TI, $CLR TISC3:MOV A, R6SUBB A, #04HJNC SC33JNZ SC4SC33:MOV SBUF, #0FEH12JNB TI, $CLR TISC4:MOV A, R6SUBB A, #05HJNC SC44JNZ SC5SC44:MOV SBUF, #0FEHJNB TI, $CLR TISC5:MOV A, R6SUBB A, #06HJNC SC55JNZ SC6SC55:MOV SBUF, #0FEHJNB TI, $CLR TISC6:MOV A, R6SUBB A, #07HJNC SC66JNZ EXIT_CSC66:MOV SBUF, #0FEHJNB TI, $CLR TINOPNOPEXIT_C:NOP;**************************************************************** ;******* 24C02读写程序×××;**************************************************************** AT_RADE:PUSH PSWPUSH ACCMOV R0,#A T1 ;CPU首地址MOV R6,#06H ;8字节MOV R5,#08H ;8位MOV R7,#00H ;24C02首地址LCALL READ ;读数据NOPNOPPOP ACCPOP PSWRET13A T_WR:PUSH PSWPUSH ACCMOV R0,#PS1 ;CPU RAM首地址MOV R6,#06H ;8字节MOV R5,#08H ;8 BITMOV R7,#00H ;24C02 RAM 首地址LCALL WRT ;先写进NOPNOPPOP ACCPOP PSWRET;---------------------READ: NOPNOPLCALL START0MOV A,#0A0HLCALL WRBLCALL ACKJB F0,RD_FAILMOV A,R7LCALL WRBLCALL CHKJB F0,RD_FAILLCALL START0MOV A,#0A1HLCALL WRBLCALL CHKJB F0,RD_FAILRD_N: NOPNOPLCALL RDBMOV @R0,ADJNZ R6,GO_ACKLCALL N_ACKRD_FAIL:NOPLCALL STOPMOV A,#0FFHRET ;*************readGO_ACK: NOPNOP14DEC R0LCALL ACKJMP RD_N;写串行器件R0:RAM的起始地址,R5:位计数器, ;R6:写的字节数(页),R7:写的起始地址WRT: NOPNOPLCALL START0MOV A,#0A0HLCALL WRBYTLCALL CHKJB F0,WR_FAILMOV A,R7LCALL WRBYTLCALL CHKJB F0,WR_FAILWR_N: NOPNOPMOV A,@R0LCALL WRBYTLCALL CHKJB F0,WR_FAILDEC R0DJNZ R6,WR_NWR_FAIL:NOPLCALL STOPMOV A,#0FFHRET ;;--------------------START0: NOPNOPSETB SDASETB SCLNOPNOPCLR SDANOPNOPCLR SCLNOPRET;-------------------STOP: NOP15NOPCLR SDASETB SCLNOPNOPSETB SDANOPNOPCLR SCLNOPRET;--------------------ACK: NOPNOPCLR SDASETB SCLNOPNOPCLR SCLSETB SDANOPRET;--------------------N_ACK: NOPNOPSETB SDASETB SCLNOPNOPCLR SCLCLR SDANOPRET;--------------------CHK: NOPNOPSETB SDANOPNOPSETB SCLNOPNOPMOV C,SDA16CLR SCLNOPNOPRET;---------------------RDB: NOPNOPSETB SDAMOV R5,#8RD_B: NOPNOPCLR SCLNOPNOPSETB SCLNOPNOPMOV C,SDARLC ANOPNOPSETB SDACLR SCLDJNZ R5,RD_BNOPRET;一字节数据发送子程序WRBYT: MOV R5,#8WLP: RLC AJC WR1CLR SDASETB SCLNOPNOPCLR SCLDJNZ R5,WLPRETWR1: SETB SDASETB SCLNOPNOPCLR SCL17DJNZ R5,WLPRET;--------------------WRB: NOPNOPMOV R5,#8WR_B: NOPNOPSETB SDARLC AJC WR_1CLR SDANOPWR_1: SETB SCLNOPNOPCLR SCLNOPCLR SDANOPDJNZ R5,WR_BNOPRETMOV R7,#33HDL1:MOV R6,#14HDL0:MOV R5,#82HDJNZ R5,$DJNZ R6,DL0DJNZ R7,DL1RETT10MSD:SETB RS0MOV R4, #12TM:MOV R3, #128TM6:DJNZ R3, TM6DJNZ R4, TMCLR RS0RETT100MSD:MOV R3, #200D11:MOV R4, #12518D12:DJNZ R4, D12DJNZ R3, D11RET1920附录三:PCB图212223单片机原理与应用技术课程设计报告(论文)题目(基于单片机的红外遥控系统)专业班级:电子102班姓名:马艳红时间:2013.11.07 ~2013.11.28指导教师:徐君鹏邵锋苗青林完成日期:2013年11月28 日24红外系统设计任务书2.设计目的与要求设计一个红外遥控系统。