单片机流水灯程序,由按钮控制流水灯程序

目前在学单片机,已经学会做流水灯了,怎么做红外遥控灯?

单片机流水灯程序,由按钮控制流水灯程序

已经会用单片机实现流水灯的功能,说明对单片机有了初步的入门知识,会配置单片机的GPIO口输出了,建议再学习以下单片机的GPIO的输入,比如按键输入 。因为红外遥控会使用到GPIO输出和GPIO输入,还用会要定时器甚至中断 。下面从硬件设计和程序设计介绍一下红外遥控的设计 。1.红外发射电路的设计红外遥控涉及到一发一收,即一个红外发射管和一个红外接收管配合使用 。
红外发射管一般是透明的,跟发光二极管LED驱动方法一致 。如下图所示,是设计的红外发射电路 。单片机输出高电平时三极管导通,发射管工作发出红外光,这里也可以用按键来控制 。2.红外接收电路的设计红外接收管用来接收发射管所发出的红外光,红外接收管可以用普通的接收管,也可以使用专用的红外接收头,如VS1838系列接收头,下图是使用1838接收头实现的红外电路 。
当接收到红外光后,1838输出低电平 。如果你是通过单片机开发板来学习的,那么板子上应该带有红外接收头,并且配有红外遥控器,尽可能的利用手边的资源 。3.简单红外遥控的实现硬件电路设计好之后,就要设计程序了 。你可以使用红外遥控控制板子上LED灯的亮灭、流水灯的花样变换、继电器的工作灯 。这种简单的指令只需要检测红外输出的电平就可以 。
【单片机流水灯程序,由按钮控制流水灯程序】如果单片机检测到低电平,说明有人按了红外遥控器,把继电器打开即可,不需要走协议 。4.红外数据通信的实现如果用通过红外来传输数据的话,就需要遵循一定的协议了 。目前常用的红外通讯协议是NEC的协议,如下图规定了逻辑0和逻辑1的脉冲宽度 。逻辑0的时间为1.12ms,脉冲宽度为560us;逻辑1的时间为2.25ms,脉宽为560us,除此之外一帧完整的数据应该包括:引导码、8位的客户码、8位客户码的补码、8位的按键值、8位按键值的补码等 。

    推荐阅读