单片机控制流水灯和数码管.pptx
流水灯的操作2013.03.22
010203点亮第一个灯;让第一个灯闪烁;从第一个灯依次点亮至最后一个灯;
01用C51自身的库函数实现;02用C语言中的和实现;实现流水灯左移和右移的方法
C51库函数instrins.h循环左移unsignedchar_crol_(unsignedcharc,unsignedcharb);
C51库函数instrins.h循环左移unsignedchar_crol_(unsignedcharc,unsignedcharb);
C语言中的和每执行一次操作,被操作数高位数丢失,低位补零;
C语言中的和每执行一次操作,被操作数低位数丢失,高位补零;
第一次一个管亮流动一次,第二次两个管亮流动,依次到8个管亮,然后重复整个过程。先奇数亮再偶数亮,循环三次;一个灯上下循环三次;两个分别从两边往中间流动三次;再从中间往两边流动三次;8个全部闪烁3次;关闭发光管,程序停止。用8个发光管演示出8位二进制数累加过程。任务
灯光在微电脑控制之下完成由亮到暗的逐渐变化,感觉像是在呼吸。实现灯不同亮度的两种方法:调节灯的保护电阻,使用PWM。呼吸灯的操作
01数码管的介绍02数码管的操作数码管的操作
LED数码显示方式及电路静态显示方式LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。
动态显示动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。