新闻中心

EEPW首页>汽车电子>设计应用> 红外遥控技术在汽车中的应用

红外遥控技术在汽车中的应用

作者: 时间:2010-08-21 来源:网络 收藏

四、软件编程

  单片机89C2051软件包括主程序,串行口中断服务程序和定时中断服务程序三部分,在2051单片机内部RAM区建立相应的工作单元和标志位。

  (一)、发送程序:SEND-BUFO∽SEND-BUF3为四个字符发送缓冲区,SEND-MARK为请求发送标志。当键盘扫描到有发送请求时,启动定时器,在P1.0输出一个38K的方波,同时启动串行口,把SEND-BUFO至SEND-BUF3中的数据,发送至SBUF中,合成后发送。其程序流程过程如下:

  发送主程序:初始化时设置定时器、看门狗和串行口,并清显示,而后扫描键盘。若有键按下,进行按键处理;若是发送键,则置串口发送标志,启动定时器和串行发送程序,后返回主程序中的显示程序,送显示数据至缓冲区。

  串口中断程序:现场保护,取发送数据至发送缓冲区,启动软件定时产生38K的方波,而后判数据是否发送完毕,结束则清除发送标志,反之,则返回继续送数据。

  定时中断程序:现场保护回填定时长度,启动计数定时,并在指定的管脚P1.0取反,变成反相电平,返回。

  (二)、接收程序:REC-BUFO∽REC-BUF4为四个字符的接收缓冲区,REC-MARK为数据接收完整的标志。当串行口中断产生时,按次序接收数据至REC-BUF0至REC-BUF3中,数据满后,计算累加和。如果正确,置REC-MARK标志;反之,把缓冲区数据清零。主程序中若判断有REC-MARK标志,则把数据进行处理后,送外存25045和显示缓冲区中显示,同时由于接收是在汽车中进行,电源电压和其它干扰很多,包括有可能产生的串行口误判等。因此,为了保证程序能正常运行,启动了25045中的看门狗电路,以每隔500ms时间定时刷新。其程序流程过程如下:

  接收主程序:初始化时设置定时器、看门狗、清显示和外存25045判断有否数据接收标志,若有进行数据判断,正确的写至数据外存,并送至显示区显示,反之,返回主程序的显示程序和刷新看门狗。

  串行口中断接收程序:现场保护后,判断接收数据是否为头或尾部数据,作相应处理是正常数据时存放缓存,并指针加一,当完整的一组数据正常收到后,置接收数据标志后返回。

  定时中断程序和发送一致,只是定时刷新看门狗。

五、结束语

  以上方法非常简单地实现了红外线遥控信号的接收解码,极大地节约了硬件实现的资源开销。该系统的设计已应用于公交车中,改善了公交系统的服务质量,提高了工作效力。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭