基于89c51的74ls138模块的四位数码管动态显示
简介
本人的开发板上只有八位数码管,因此是将p2口的三位接在138的输入上,输出口的前四位接在八位数码管的位选段上以实现四位数码管的显示。
动态数码管的显示原理是利用余辉效应,又被称作视觉暂留效应。(人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称“后像”,视觉的这一现象则被称为“视觉暂留”。——百度百科)。虽然数码管在同一时刻只点亮一个,但是因为视觉暂留看起来就像连续的。与坐地铁时窗外的广告同理。
应当注意的是若要用protues仿真,程序中位选段的语句应在段选段的前面,否则会出现乱码情况,在实物上实验时没有这一现象。
下面附代码和仿真
#include < reg51.h >
#include <intrins.h>
sbit LS138A=P2^2;
sbit LS138B=P2^3;
sbit LS138C=P2^4;
unsigned int LedNumVal = 0 ,LedOut[8];
unsigned char code Disp_Tab[] = {
~0xC0,~0xF9,~0xA4,~0xB0,~0x99,~0x92,~0x82,~0xF8,~0x80,~0x90,~0x88,<