仿真图proteus7.8及以上
程序编译器:keil 4/keil 5
编程语言:C语言
设计编号:S0054
1.主要功能:
设计一个51单片机红外遥控发射接收proteus仿真设计
功能要求:
1、使用单片机模拟红外遥控器发射红外编码;
2、利用从机接收红外编码,并将编码以16进制显示到数码管上。
需注意仿真中51单片机芯片是兼容的,AT89C51,AT89C52是51单片机的具体型号,内核是一样的。相同的原理图里,无论stc还是at都一样,引脚功能都是一样的,程序是兼容的,芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片。
资料下载链接:
https://docs.qq.com/doc/DS2hYRWduR05Eemdk
以下为本设计资料展示图:
2.仿真设计
开始仿真
打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。开始仿真数码管显示00,示波器直线。
按下数字按键1,发射机发送编码:同步码+地址码(0X0f)+地址反码(0Xf0)+命令码(0X0C)+命令反码(0XC0)。接收机接收到编码解析显示命令码:
用proteus仿真里的示波器抓取数据可得直观的编码信号。如下入时同步码,先发送9ms低电平,再发送4.5ms高电平。
同步码之后发送地址码(0X0f)+地址反码(0Xf0)。地址码是0X0F,二进制是0000 1111,地址反码0XF0,二进制1111 0000。按照NEC协议低位在前高位在后,发送编码的顺序是1111 0000 0000
。用示波器抓取如下:
地址码之后发送命令码(0X0C)+命令反码(0XC0)。命令码是0X0C,二进制是0000 1100,命令反码0XC0,二进制0011 0000按照NEC协议低位在前高位在后,发送编码的顺序是0011 0000 1100 1111。用示波器抓取如下:
以上实验现象符合红外编码NEC协议编码。
以上仿真结果均符合设计要求。
程序代码
使用keil4或者keil5编译,代码有注释,可以结合报告理解代码含义。
发射器和接收器两份代码。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !