单片机:用AT89C51并行口设计显示一个数码电路,使数码管循环显示0~F,急求电路图和程序???

2025-03-13 19:04:04
推荐回答(1个)
回答1:

#include 

#include 

#define uchar unsigned char

#define uint unsigned int

uchar code DSY_CODE[]=

{

  0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff

};

void DelayMS(uint x)

{

  uchar t;

while(x--)

for(t=120;t>0;t--);

}

void main()

{

  uchar i=0;

P0=0x00;

while(1)

{

  P0=~DSY_CODE[i];

i=(i+1)%16;/*显示0-f*/

DelayMS(400);

}

}