对于单片机的显示方式有很多种:闪烁,交替,流水灯等等。但今天我做的就是流水灯,但实际上所用的代码都差不多,只有把显示方式的子程序改一下即可。我用到的语言是C语言,而且是用键盘控制的。
只要把相应的电平变为低电平就可以了;相反,如果要接LED熄灭,就要把相应的电平变为高电平;同理,接在P1.1~P1. 7口的其他7个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。同样的道理,可以让8个灯左移显示方式,右移显示方式,开幕式显示方式。
在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。
代码:
#include<reg52.h>
#include<absacc.h>
#include<intrins.h>
#define COM8255
XBYTE[0xF003]
#define PA8255
XBYTE[0XF000]
#define PB8255
XBYTE[0xF001]
#define PC8255 XBYTE[0xF002]
#define uchar
unsigned char
#define u8
unsigned char
code const u8
SegArray1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //左移方式
code const u8