版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电子系统设计创新与实践报告一简易红外遥控系统班级:通信09-1姓名:何探学号: 3090731126指导老师:李新1 任务设计并制作红外遥控发射机和接收机。2 要求(1 )自制红外无线收、发器,可以上电工作。(2 )调制方式:自选编码调制方式。(3 )遥控对象:4个,被控设备用LED分别代替,LED发光表示工作(4 )接收机距离发射机不小丁 1m。(5 )具有红外信号学习功能。3 系统方案设计框图如下:(遥控接收端红外遥控有发送和接收两个组成部分:发送端采用单片机将待发送的二进制信号编码调制为一系列的脉冲申信号, 通过红外发射管发射红外信号。红外接收端普遍采用价格便宜,性能可靠的一体 化红外接
2、收头(如HSOO38它接收红外信号频率为38KH乙周期约26US)接收红 外信号,它同时对信号进行放大、检波、整形,得到相应电平的编码信号,再送 给单片机,经单片机解码并执行,去控制相关对象。(1) 二进制信号的编码本设计米用不同的脉宽宽度来实现二进制信号的编码,可由发送单片机来完成。用图2-2(a)表示二制信号中的高电平1',其特征是脉冲中低电平的宽度 等丁 0.26ms,相当丁 10个26us的宽度,高电平的宽度等丁 0.52ms,相当丁 20 个26us的宽度;用图2-2(b)表示二进制信号中的低电平'0',其特征是脉冲中 高电平的宽度等丁 0.26mS,而低电平
3、的宽度是高电平的二倍,等丁 0.52ms,相 当丁 20个26us的宽度。上述10个和20个脉冲宽度还可适当调整,以适应不同 数据传输速度的需要。图2-2 (a)' 1'的表示图2-2 ( b)'0'的表示(2)二进制信号的调制二进制信号的调制仍由发送单片机来完成,它把编码后的二进制信号调制成 频率为38KHz的问断脉冲申,相当丁用二进制信号的编码乘以频率为 38KHz的脉 冲信号得到的问断脉冲申,即是调制后用丁红外发射二极管发送的信号。如图 2-3所示,A是二进制信号的编码波形,B是频率为38KHz(周期为26uS)的连续 脉冲申,c是经调制后的问断脉冲申(相
4、当丁 C=A*B),用丁红外发射二极管发送 的波形。图2-3中,待发送的二进制数据为10。A发送前的二进制数据0、1编码T=26us单个脉冲C=A*B、调制后的二进制信号(发送)图2-3、二进制信号的调制(3)二进制信号的解调二进制信号的解调由一体化红外接收头HSOO3束完成,它把收到的红外信号(图2-4中波形D,也是图2-3中波形(C)经内部处理并解调复原,输出图 2-4 中波形E(正好是对图2-3中波形A的取反),HS0038的解调可理解为:在输入有 脉冲申时,输出端输出低电平",否则输出局电平*。二进制信号的解码由接收单片 机来完成的它把红外接收头送来的二进制编码波形通过解码,
5、还原出发送端发送的数据。如图2-4,把波形E解码后还原成数据信息101。D、红外接收头接收的波形(输入)E、解调后的输出波形图2-4、HS0038的输入输出波形(4)基丁字节传输的红外遥控数据格式在发送字节的开始先通过单片机发送 20个脉冲宽度(每个脉冲周期26uS)的 高电平作为传输开始,接着发送8位数据(字节高位在前,低位在后),最后发送 10个脉冲宽度的低电平作为传输结束,如图 2-5所示。4 理论分析与硬件电路设计4.1主要器件介绍4.1.1 芯片 STC89C52 (1)芯片介绍STC89C5塞STS司生产的一种低功耗、高性能CMOS8微控制器,具有8K 在系统可编程Flash存储器
6、。STC89C5彼用经典的MCS-51内核,但做了很多的 改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash ,使得STC89C52»众多嵌入式控制应用系统提供高 灵活、超有效的解决方案。具有以下标准功能:8k字节Flash ,512字节RAM32位I/O 口线,看门狗定时器,内置4KBEEPROMMAX81窟位电路,3个16位 定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向 量2级中断结构),全双工申行口。另外 STC89C52可降至0Hz静态逻辑操作, 支持2种软件可选择节电模式。空闲模式下,CPU停止工
7、作,允许RAM定时器 /计数器、申口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率 35MHz 6T/12T 可选。3 XXSPDOMOt3PC«tAOQ3*07|AGF* jEXvp *l£PS53JF: 7u*lfiJ 桂 3,i P3ff(AU1 P; 4 .A* P3 3iAH 3P:2v*iJ| C <At引脚标注(2)相关特性STC89C52RC 单片机:8K 字节程序存储空间;512 字节数据存储空间;内带2K字节EEPROM储空间;可直接使用申口下载;AT89S52 单片机
8、:8K 字节程序存储空间;256 字节数据存储空间;没有内带EEPROM储空间;(3)相关参数1. 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意 选择, 指令代码完全兼容传统8051.2. 工作电压:5.5V3.3V (5V单片机)/3.8V2.0V (3V单片机)3. 工作频率范围:040MHz相当丁普通8051的080MH?实际工作 频率可 达 48MHz4. 用户应用程序空间为8K字节5. 片上集成512字节RAM6. 通用I/O 口(32个),复位后为:P0/P1/P2/P3是准双向口 /弱上拉,P0 口 是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I
9、/O 口用时,需 加上拉电阻。7. ISP (在系统可编程)/IAP (在应用可编程),无需专用编程器,无 需专用仿 真器,可通过申口( RxD/P3.0,TxD/P3.1 )直接下载用户程 序,数秒即可完成一8. 具有EEPRO伽能9. 共3个16位定时器/计数器。即定时器T0、T1、T210. 外部中断4路,下降沿中断或低电平触发电路,Power Down模式可 由外部 中断低电平触发中断方式唤醒11. 通用异步申行口( UART,还可用定时器软件实现多个 UART12. 工作温度范围:-40+85C (工业级)/075C (商业级)13. PDIP 封装4.1.2 集成电路74 LS21
10、74LS21 是由四输入与门构成,74LS21集成电路的引脚分布图如图3-3所示1A1BNC1C1D1Y接地Vcc2D2CNC2B2A2Y图3-3 74LS21集成电路的引脚分布图4.1.3 接收器 HS0038一体化红外接收头HSOO3的外部结构如图3-4所示,1脚GN或电源地,2 脚VC欲十SV, 3脚OUT%数据输出端(TTL电平,反相输出),可直接与单片 机相联。图3-4 HS0038的外观及引脚实际所用的H38B3卵号的红外接收头的管脚为管脚1是VCC,管脚2是GND 管脚3是OUT 一开始接错了,后面通过询问别人和查资料才知道。各个基本电路图的设计345(1)发射接收电路如图3-7
11、所示:VCC图3-7(a)接收电路图3-7(b)发射电路(2)键盘扫描:Title采用4*4键盘,键盘扫描采用低电平扫描,中断定时扫描方式。电路图如Size NumberSheetDrawn3-8所示,其公共端连接VCC初始时,令P2=F0H无论哪个按键被按都将 产生中断,开启定时器10ms扫描键盘。开始进行扫描时,P2.0一噜鼻,思&您h腿 持高电平。P2.4 P2.7只能有一个为低电平。程序流程图如图4-1所示。图3-8键盘扫描电路(3)控制电路:采用小灯的亮灭来模拟实际应用中的电路,电路如图 3-9所示3434LEDLEDR-C 330R亡330R330R-I 330R4 330
12、R330R 仁 330R 4 330P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7图3-9小灯控制电路5 主要电路设计(1)发射电路原理图如图所示(2)接收电路原理图如图所示SizeNumberDate: 2008-4-27File:3456 软件程序设计(1)发射程序#include<reg52.h>#include<intrins.h>#define uchar unsigned char发射引脚(接NPE极管基极)#define uint unsigned int sbit IR=P
13、1A0;/#define sam 0x80/用户识别码Titleunsigned char IRCOM7;#define m9 (65536-9000)/9mS#define m4_5 (65536-4500)/4.5mS#define m1_6 (65536-1650)/1.65mS#define m_56 (65536-560)/0.56mSSizeBDate:File:5Number2008-4-27F:222222222222222222.Ba#define m40 (65536-40000)/40mS#define m56 (65536-56000)/56mS编码发送程序单帧(8位数
14、据)发送程序载波发射+延时程序#define m2_25 (65536-2250)/2.25mS void SendDat(unsigned int Value); /NECvoid Z0(unsigned int temp); /void TT0(bit BT,unsigned int x);/38KHz void KEY();void delay(unsigned int count)unsigned int i,j;for(i=0;i<count;i+)for(j=0;j<110;j+); void main(void)TMOD = 0x01;/T0 16位工作方式IR=0;
15、/发射端口常态为低电平P2=0xf0;while(1)KEY();/*函数:NEC®码发送程序*/void SendDat(unsigned int Value)局电平9mS低电平4.5mSTT0(1,m9);/TT0(0,m4_5);/* 一发送4帧数据一*/Z0(sam);/用户码Z0(sam);/用户码Z0(Value); /操作码Z0(Value); /操作码反码*/*结束码TT0(1,m_56);TT0(0,m40);/*函数:单帧(8位数据)发送程序入口: temp*/void Z0(unsigned int temp)(unsigned int v;for(v=0;v&
16、lt;8;v+)(TT0(1,m_56);/高电平 0.65mSif(temp&0x01)TT0(0,m1_6); /发送最低位elseTT0(0,m_56);temp >>= 1;/右移一位 /*函数:38KHz载波发射+延时程序入口:(是否发射载波,延时约x (uS)*/void TT0(bit BT,unsigned int x)(TH0 = x>>8;/TL0 = x;TF0=0;/TR0=1;/if(BT = 0) while(!TF0); /BT=0 elsewhile(1)/BT=1(低电平)占空比5:26(IR = 1;if(TF0)break;
17、if(TF0)输入定时值溢出标志位活0启动定时器0时,不发射38KHz载波只延时;时,发射38KHzB冲+延时;38KHz载波break;IR = 0;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;TR0=0;/关闭定时器0IR =0;/载波停止后,发射端口常态为低void KEY()(uchar temp;P2=0xf7;/第一行键盘扫描temp=P2;temp=temp&
18、0xf0;if(temp!=0xf0)(delay(7);temp=P2;temp=temp&0xf0;if(temp!=0xf0)(temp=P2;switch(temp)(case 0x77:SendDat(0x01);break;case 0xb7:SendDat(0x02);break;case 0xd7:SendDat(0x03);break;case 0xe7:SendDat(0x04);break;P2=0xfb;/第二行键盘扫描temp=P2;temp=temp&0xf0;if(temp!=0xf0)(delay(7);temp=P2;temp=temp&
19、;0xf0;if(temp!=0xf0)(temp=P2;switch(temp)(case 0x7b:SendDat(0x05);break;case 0xbb:SendDat(0x06);break;case 0xdb:SendDat(0x07);break;case 0xeb:SendDat(0x08);break;P2=0xfd;/第三行键盘扫描temp=P2;temp=temp&0xf0;if(temp!=0xf0)(delay(7);temp=P2;temp=temp&0xf0;if(temp!=0xf0)(temp=P2;switch(temp)(case 0x7
20、d:SendDat(0x09);break;case 0xbd:SendDat(0x10);break;case 0xdd:SendDat(0x11);break;case 0xed:SendDat(0x12);break;P2=0xfe;/第四行键盘扫描temp=P2;temp=temp&0xf0;if(temp!=0xf0)(delay(7);temp=P2;temp=temp&0xf0;if(temp!=0xf0)(temp=P2;switch(temp)(case 0x7e:SendDat(0x13);break;case 0xbe:SendDat(0x14);brea
21、k;case 0xde:SendDat(0x15);break;case 0xee:SendDat(0x16);break;(2)接收程序#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intuchar distemp=100;void delay(uchar x); /x*0.14MSvoid delay1(int ms);sbit IRIN = P3A3;/红外接收器数据线sbit LED0 = P0A0;sbit LED1 = P0A1;s
22、bit LED2 = P0A2;sbit LED3 = P0A3;sbit LED4 = P0A4;sbit LED5 = P0A5;sbit LED6 = P0A6;sbit LED7 = P0A7;sbit LED8 = P2A0;sbit LED9 = P2A1;sbit LED10 = P2A2;sbit LED11 = P2A3;sbit LED12 = P2A4;sbit LED13 = P2A5;sbit LED14 = P2A6;sbit LED15 = P2A7;uchar IRCOM7;/*void main()允许总中断中断,使能INT1外部中断 触发方式为脉冲负边沿触发
23、(IE = 0x84;/TCON = 0x04;/IRIN=1;/I/O口 初始化LED0 =1;LED1 =1;LED2 =1;LED3 =1;LED4 =1;LED5 =1;LED6 =1;LED7 =1;LED8 =1;LED9 =1;LED10 =1;LED11 =1;LED12 =1;LED13 =1;LED14 =1;LED15 =1;delay1(10);/延时while(1)(switch(distemp)(case 0:LED0=0;delay(200);LED0=1;break;case 1:LED1=0;delay(200);LED1=1;break;case 2:LED
24、2=0;delay(200);LED2=1;break;case 3:LED3=0;delay(200);LED3=1;break;case 4:LED4=0;delay(200);LED4=1;break;case 5:LED5=0;delay(200);LED5=1;break;case 6:LED6=0;delay(200);LED6=1;break;case 7:LED7=0;delay(200);LED7=1;break;case 8:LED8=0;delay(200);LED8=1;break;case 9:LED9=0;delay(200);LED9=1;break;case 1
25、0:LED10=0;delay(200);LED10=1;break;case 11:LED11=0;delay(200);LED11=1;break;case 12:LED12=0;delay(200);LED12=1;break;case 13:LED13=0;delay(200);LED13=1;break;case 14:LED14=0;delay(200);LED14=1;break;case 15:LED15=0;delay(200);LED15=1;break;delay(20); /end main/*/ void IR_IN() interrupt 2 using 0 uns
26、igned char j,k,N=0;EX1 = 0;delay(15);if (IRIN=1) EX1 =1;return;/while (!IRIN) /delay (1);确认IR信号出现等IR变为高电平,跳过9ms的前导低电平信号for (j=0;j<4;j+)/for (k=0;k<8;k+)/while (IRIN) /信号。delay (1);while (!IRIN) /delay (1);while (IRIN) /delay(1);N+;if (N>=30) EX1=1;return;/0.14ms/IRCOMj=IRCOMj >> 1;收集四
27、组数据每组数据有8位等IR变为低电平,跳过4.5ms的前导高电平等IR变为高电平计算IR高电平时长计数过长自动离开。高电平计数完毕/数据最高位补“ 0”if (N>=8) IRCOMj = IRCOMj | 0x80; /数据最局位补“ 1”N=0;/end for k/end for jif (IRCOM2!=IRCOM3) ( EX1=1;return; switch(IRCOM2)(case 0x01:distemp = 0;break;case 0x02:distemp = 1;break;case 0x03:distemp = 2;break;case 0x04:distemp = 3;break;case 0x05:distemp = 4;break;case 0x06:distemp = 5;break;case 0x07:distemp = 6;break;case 0x08:distemp = 7;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 市场调查分析数据整合与处理工具
- 2026年医疗健康大数据平台建设与智能分析应用研究
- 2026年学科教学中引导学生进行知识建构的策略
- 2026年企业职工职业健康检查年度总结报告
- 2026年薪酬调查与薪酬方案设计实训报告
- 2026年寒假预习Unit 8 Making a difference 词汇短语练习(含解析) 人教版英语八年级下册
- 2026年国际数学奥林匹克国家集训队测试试题真题(含答案详解)
- 公司追偿协议书模板
- 建筑分割协议书范本
- 学校食堂管理制度集模板
- 少先队德育知识讲座
- 中医康复实训室方案及流程
- (完整)CRH380A动车组轮对检修流程及改进方案
- 四川省省属卫生事业单位公开招聘卫生专业技术岗位人员公共科目笔试大纲
- 船舶液压系统常见故障分析及解决方案
- 2023年中级注册安全工程师《安全生产专业实务(建筑施工安全)》真题及答案
- THSPP 0010-2023 欧标茶生产茶园栽培技术规程
- 危化品考试题库及答案参考
- 1213 日本当代建筑的坡屋顶的知识
- 情感性精神障碍患者的护理
- GB/T 33172-2016资产管理 综述、原则和术语
评论
0/150
提交评论