动态数码管(0-60)

程序如下:

#include<reg51.h>

unsigned char table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
sbit shi=P2^0;
sbit ge=P2^1;

void delay(void) {
  unsigned char i=10;
  while(i--);
}

void display(unsigned char da) { 
	shi=0;
  P0=table[da%10];
  delay();
  P0=0xff;
  shi=1;
  ge=0;
  P0=table[da/10];
  delay();
  P0=0xff;
  ge=1;
}

void main() {
   unsigned char i=0;
   unsigned char jishu;
   unsigned int j;
   while(1) {
     j=2000;
     while(j--) 
			 display(jishu);
     if(jishu<60)
       jishu++;
     else
       jishu=0;
   }
}

仿真如下:
在这里插入图片描述

发布了43 篇原创文章 · 获赞 41 · 访问量 1809

猜你喜欢

转载自blog.csdn.net/weixin_45662626/article/details/102399496