是谁动了我的blog? https://passport2.21ic.com/?439628 [收藏] [复制] [RSS]

日志

单片机的软件编解码的实现

已有 745 次阅读2006-10-21 16:07 |个人分类:工作日志|系统分类:单片机

在没有接触过类似软件编码解码的情况下,自己摸索了编解码的方法。效果还不错。


   发射部分(遥控器):


      单片机采用价格低廉的MDT10P20(仿PIC16C57)。发射机采用具有四通道(频点)的发射模块,因此发射码中即可以不需要有地址码部分。


     遥控器包括按键扫描(橡胶按键)、led显示指示、数据发射三部分。


     按键扫描采用常用的3*5按键阵列。处理:按下有效,即按下后,马上处理相关程序(发送数据),然后等待释放(发送次数根据数据命令方式有关)。


       led显示为遥控器背景灯指示,点亮时间为3s。


     数据发射主要难点为数据编码部分。由于以前没接触过单片机的软件编码解码,因而编码的格式不是很合理。编码格式如下:


       码头:10ms高,1ms低


  每位数据:


     每位数据头:6ms高,1ms低


       数据位:


              0:1ms 高 1ms 低


              1:3ms 高 1ms 低


          为减少误码,每位数据发4次


   如发射数据9,则如下:


   总码头 单位数据码头 1111 单位数据码头 0000  单位数据码头 0000 单位数据码头 1111 .


   这样即可发射 1~15的数据,刚好15个按键值.


 


  接收部分(控制部分):


  单片机采用低价中档pic16f716(三定时器、一PWM模块--控制直流电机转速用)。 


  无线数据接收部分:采用同发射模块对应的具有四通道的接收模块。


  功能:结合 74ls08和pwm模块控制4调速电机;利用两个mos管桥两个直流电机的正反转。


  无线数据接收过程:检测是否接收到总码头,接收到后,开始接收后面的4位数据。没位数据接收到一半以上才算正码。


      效果:几乎无误码。


路过

鸡蛋

鲜花

握手

雷人

全部作者的其他最新日志

评论 (0 个评论)