代碼:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};
uchar code wei[]={0xFE ,0xFD, 0xFB, 0xF7, 0xEF, 0xDF, 0xBF, 0x7F};
sbit DU = P2^6;
sbit WE = P2^7;
uint Display_Buffer[3] = {0,0,0};
uint Count = 456;
void DigDisplay(uint i);
void delay(int z);
void main()
{
int j;
for(Count = 0;Count < 60; Count++)
{
for(j = 0;j < 100; j++)
{
DigDisplay(Count);
}
}
}
void DigDisplay(uint i )
{
Display_Buffer[0] = i/100;
Display_Buffer[1] = i%100/10;
Display_Buffer[2] = i%10;
WE = 1;
P0 = wei[0];
WE = 0;
DU = 1;
P0 = duan[ Display_Buffer[0] ];
DU = 0;
delay(2);
WE = 1;
P0 = wei[1];
WE = 0;
DU = 1;
P0 = duan[ Display_Buffer[1] ];
DU = 0;
delay(2);
WE = 1;
P0 = wei[2];
WE = 0;
DU = 1;
P0 = duan[ Display_Buffer[2] ];
DU = 0;
delay(2);
}
void delay(int z)
{
int x,y;
for(x=50;x>0;x--)
for(y=z;y>0;y--);
}
實現功能是數碼管前三位從0-60依次顯示。天祥單片機能實現功能,普中開發板只有第一位在0和8之間跳。求大神指教
萬分感謝
|