51单片机38译码器实现动态数码管控制

51单片机38译码器实现动态数码管控制

代码如下:

#include

void delay(void) //延时函数
{
unsigned char i, j;
for (i=0;i<10;i++)
{
for(j=0;j<10;j++);

}
void main(void)
{
//译码后的选位数组
 unsigned char yimaweima[8]={0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7};
//段码数组
unsigned char duanma[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
unsigned char i;
while(1)
{
for(i=0;i<8;i++)
{
P1=yimaweima[i]; //选择数码管
P0=duanma[i+1]; //段码值输送
delay(); //延时
P0=0x00; //消影
}

}


}

效果图

51单片机38译码器实现动态数码管控制_第1张图片

你可能感兴趣的:(单片机开发经验)