




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
天津职业大学 二○一五~二○一六学年第1学期 电子信息工程学院 通信系统综合实训报告书 课程名称:通信系统综合实训 班级:通信技术(5)班 学号: 姓名:韩美红季圆圆陈真真 指导教师:崔雁松 2023年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;//定义变量 ucharIRCOM[7]; /*********声明子函数**************/ voiddelay(ucharx);//x*0.14MS voiddelayms(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计数过长自动离开。 }//高电平计数完毕 IRCOM[j]=IRCOM[j]>>1;//数据最高位补“0” if(N>=8){IRCOM[j]=IRCOM[j]|0x80;}//数据最高位补“1” N=0; } } if(IRCOM[2]!=~IRCOM[3]) {EX1=1;return;} switch(IRCOM[2]) { case0x45: // 全亮 P2=0x00; break; case0x47: //

王子****青蛙
实名认证
内容提供者


最近下载