数码管扫描演示.c

来自「AT89S52单片机程序50例(00-50)」· C语言 代码 · 共 27 行

C
27
字号
//数码管扫描演示

#include <reg52.h>

unsigned char const dofly[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};  //显示段码值01234567(共阴极数码管)
unsigned char code seg[]={0,1,2,3,4,5,6,7};  //分别对应相应的数码管点亮

//延时子程序
void delay(unsigned int cnt)
{
 while(--cnt);
}

//主程序
void main()
{
	unsigned char i=0;
    while(1)
    {
    	P0=dofly[i];  //取显示数据
	    P2=seg[i];  //取段码
	    delay(30000);  //扫描间隙延时,这个时间比较长,用于演示动态扫描(延时可以修改,以观察动态扫描现象)
	    i++;
	    if(8==i)
	    i=0;
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?