红外遥控器通常采用什么通讯协议

今日头条

1142人已加入

描述

入门还是入坑看了就知道,总结了一套单片机系统学习规划

一、从8位单片机入门比较简单易学一点,选好一个型号,认真学习,直到精通。

二、多练习,多写代码,多上网看看别人的博客,当然自己还要有一块学习板了。

三、掌握简单常用的模拟电路和数字电路,比如:电容滤波、电阻限流、运放放大等等,将来你在设计电路和调试程序的时候都会用到。

四、精通C语言,特别是指针和数组,最好把预编译和处理过程了解一下。

五、掌握一个电路设计软件,对于单片机,其实会Protell99都可以了。

六、会使用万用表,最好有示波器,而且要掌握一些常用的测试手段。

七、在自己学习过程中,整理并形成自己的元器件库和常用程序库,这是你进阶下一阶段成为高手的关键。

八、多看看各种单片机案例,掌握各种常用芯片的使用,嵌入式就是一个逐渐积累的过程。你的嵌入式技术有多高,就看你心里的案例与资源有多少。现在各种功能都有模块或专用芯片,还都提供UR、SPI、IIC等接口。

九、剩下很重要的一点就是打开我的头像关注一下,之后不迷路,如有别的需求可找我聊天,叫我“林老师”入门教程不定期分享。

通讯协议

红外通信常采用的通信协议,日常生活当中使用的红外遥控器,大多采用的是NEC的通讯协议,尤其像电视机等等,空调这种很多厂商都是用它们专用的,通用的协议也就是NEC的协议,NEC的协议它是采用了脉冲宽度调制的办法,NEC的协议也就是单总线的协议,如果说大家对单总线的协议有所熟悉的话,之后说红外通信的编程的时候,会更容易理解,实际上就是靠时间来控制这个脉冲。

NEC的通讯协议它采用的是脉冲宽度调制,既然是脉冲宽度调制,那就是说你要调的就是高电平的时间和低电平的时间,要利用发光管它的通断时间的不同来表示不同的数据,用红外管发光,这里指的发光就是说产生38K载波,也就是让它发光的时间,比如我让它通着时间,让它开一段时间,但是这一段时间它产生的就是38K载波频率的时间,就是通和断借助这个来发送0和1.

通讯协议

它怎么做的?它首先是使用38K载波频率,也就是这个发光管通和断,通的时候它就是一直在产生38K载波频率,并不是指仅是把它点亮,这里指的通就是指这个管子在产生38K的载波,实际上就是这个管子在以38K载波的频率在闪烁,就是指的是它的通,如果让这个发光管通,就让它产生38K的闪烁,如果不通那就是把它关掉,这就是它的通和断,这个通断不是仅仅是发光,这个通就是指的产生38K载波的闪烁,这样的话就可以借助这个来做编码。

怎么编码?NEC的协议它是采用了引导码,用户码,数据码,结束码来构成的,它的引导码就是说要表示什么时候开始传输信号,比如DS18B10它也有开始信号,就是说要告诉人家我什么时候开始传输信号,这个时候就是用引导码来表示的,它是用9毫秒的载波加上4.5毫秒的空闲,也就是说9毫秒的通,4.5毫秒的断,实际上就是9毫秒里面,这个地方要产生9毫秒的38K的闪烁,也就是让这个管子产生38K频率,这个频率我让这个管子产生这个频率,产生九毫秒。

通讯协议

这个闪烁一直产生这个频率的闪烁,产生多长时间九毫秒,产生九毫秒之后,就让它关掉不让它产生光了,也就不让它闪烁了,这个时候就是4.5毫秒,这个就代表是引导码,引导码之后就是用户码,也就是客户码,一般来说是用16位的客户码,这个主要是用来区分不同的遥控器也好,或者是不同的产品也好,这个用户码大家可以自己来定义,不同的遥控器,它的这个用户码也是不一样的。

接着就是数据码,数据码的话是真正的数据,比如说按下某个按键,就是发出了数据,这个就是你的数据码,数据码它使用的是先发的是八位数据码,然后再发的是八位数据码的反码,采用的是这种办法,最后是结束码,具体来看一下下面这个示意图,这个示意图给出了引导码,地址码也就是用户码,然后地址码的反码,命令码和命令码的反码以及结束码。

  审核编辑:汤梓红

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

全部0条评论

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

×
20
完善资料,
赚取积分