基于51单片机的红外遥控发射接收proteus仿真设计

描述

仿真图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编译,代码有注释,可以结合报告理解代码含义。

发射器和接收器两份代码。

遥控器遥控器

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分