这篇文章是笔者的第一篇文章,这篇以及后续文章的主要内容为单片机的入门以及开发。
同时笔者也会从浅入深,从简单到困难来一步步记录单片机的学习历程。
首先是51单片机的流水灯,电路图如下:
上面就是流水灯的电路图以及简单图示,以下为这个电路的电路分析:
因为单片机的IO口输出电流非常小,无法直接用IO口驱动发光二极管,所以我们需要用到STC89C52(AT89C52)这个芯片(可以理解为电流放大的芯片)。
①我们的电路板一般的工作电压是5V,芯片高电平的输入电压为≥3.15V,低电平输入电压为0~1.35V,而我们使用的单片机STC89C52输出的电压为5V或者0V。
②Vcc=4.5V对应的是500ns,单片机执行一条指令最少的时间为1.08微秒,大于500纳秒,不需要额外加入延时就能达到芯片的要求。
③工作温度在-45摄氏度和85摄氏度之间
同时我们需要注意的是,单片机执行一条指令的时间是微秒级别的,所以单纯的写一条代码让单片机执行是不可行的,因为时间太短,我们的肉眼几乎观察不到。所以我们必须在写出一段代码来延长单片机运行的时间。同时我们要求流水灯循环下去,所以我们要在最外层再套一个while循环:
在Delay1ms函数的后面设置一个形参的好处是我们可以按照自己的意愿来自由设置每个LED灯的亮灭时间,是普通流水灯的“PLUS”。同时在外层套用一个while循环则可以让流水灯一直进行下去
编写运行完代码后我们看一下单片机的工作情况:
51单片机流水灯
以上就是51单片机入门阶段LED流水灯的大致原理、具体操作以及部分注意事项了,希望能够帮到大家!