让8只数码管初始显示零,每隔大约1s加一显示,到数码管显示9后,再从一开始显示
用延时函数实现加一显示
程序:
#include <reg51.h>
void delay(unsigned char n);
int main(void)
{
unsigned char led[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//0-9μ?×?Dí??
unsigned char i;
P2=0x00;
while(1)
{
for(i=0;i<10;i++)
{
P0=led[i]; delay(250); if(P0==led[9]){P0=led[0];i++ ; }}
}}
void delay(unsigned char n)
{
unsigned char i,j;
for(i=0;i<n;i++)
for(j=0;j<n;j++);
}