预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

-..word.zlXX职业大学二○一五~二○一六学年第1学期电子信息工程学院通信系统综合实训报告书课程名称:通信系统综合实训班级:通信技术〔5〕班学号:130404564013040456411304045646姓名:美红季圆圆真真指导教师:雁松2015年11月17日任务要求利用C51单片机设计开发一套红外线收发、显示系统。具体要求:编写相关程序〔汇编、C语言均可〕;用Proteus绘制电路图并仿真实现根本功能;制作出实物需求分析〔系统的应用场景、环境条件、参数等〕现在各种红外线技术已经源源不断进入我们的生活中,在很多场合发挥着作用。机场、宾馆、商场等的自动门,会在人进出时自动地开启和关闭。原来,在自动门的一侧有一个红外线光源,发射的红外线照射到另一侧的光电管上,红外线是人体发觉不到的。当人走到大门口,身体挡住红外线,电管接收不到红外线了。根据设计好的指令,触发相应开关,就把门翻开了。等人进去后,光电管又可以接到红外线,恢复原来的线路,门又会自动关闭。因此这种光电管被称为“电眼〞,在许多自动控制设备显身手。在家庭中,许多电子设备如彩色电视、空调、冰箱和音响等,都使用了各种“红外线遥控器〞。利用它我们可以非常方便的转换电视频道或设定空调的温度档次。三、概要设计〔系统构造框图/系统工作说明流程图〕红外线收发、显示系统硬件由以下几局部组成:红外遥控器,51单片机最小系统,接收放大器一体集成红外接收头,LED灯显示电路。红外线接收是把遥控器发送的数据(已调信号)转换成一定格式的控制指令脉冲(调制信号、基带信号),是完成红外线的接收、放大、解调,复原成发射格式〔高、低电位刚好相反〕的脉冲信号。这些工作通常由一体化的接收头来完成,输出TTL兼容电平。最后通过解码把脉冲信号转换成数据,从而实现数据的传输。红外遥控系统电路框图详细设计〔Proteus电路图、程序流程图、源程序清单〕1〕Proteus电路图:2〕程序流程图:程序是首先初始化红外接收端口,然后检测是否接收红外信号,如果接收到红外信号就调用接收子程序,然后就通过L额度LED显示当前按键的结果,如下图:初始化红外接收端口调用接收子程序Y接收到红外信号?N开场LED灯显示返回程序流程图3〕源程序清单:#include<reg51.h>//头文件#defineucharunsignedchar//这里用"uchar"代替"unsignedchar","uchar"用来定义无符号字符型数。#defineuintunsignedint//"uint"用来定义无符号整型数。uchardistemp;//定义变量ucharIR[7];/*********声明子函数**************/voiddelay(ucharx);//x*0.14MSvoiddelayms(uint);sbitIRIN=P3^3;//定义红外接收器数据线/********定义LED灯口线***********/sbitP2_0=P2^0;//定义LED灯口线。sbitP2_1=P2^1;sbitP2_2=P2^2;sbitP2_3=P2^3;sbitP2_4=P2^4;sbitP2_5=P2^5;sbitP2_6=P2^6;sbitP2_7=P2^7;voidIR_IN()interrupt2using0{unsignedcharj,k,N=0;EX1=0;delay(15);if(IRIN==1){EX1=1;return;}//确认IR信号出现while(!IRIN)//等IR变为高电平,跳过9ms的前导低电平信号。{delay(1);}for(j=0;j<4;j++)//收集四组数据{for(k=0;k<8;k++)//每组数据有8位{while(IRIN)//等IR变为低电平,跳过4.5ms的前导高电平信号。{delay(1);}while(!IRIN)//等IR变为高电平{delay(1);}while(IRIN)//计算IR高电平时长{delay(1);N++;if(N>=30){EX1=1;return;}//0.14ms计数过长自动离开。}//高电平计数完毕IR[j]=IR[j]>>1;//数据最高位补“0〞if(N>=8){IR[j]=IR[j]|0x80;}//数据最高位补“1〞N=0;}}if(IR[2]!=~IR[3]){EX1=1;return;}switch(IR[2]){case0x45://全亮P2=0x00;break;case0x47://全灭P2=0xff;break;case0x16://当得出十六进制值为0x16时。P2_7=~P2_7;break;case0x0c:P2_6=~P2_6;break;case0x18:P2_5=~P2_5;break;case0x5e:P