我用的是0804;程序如下:请各位指教。 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int uchar c; uchar code tabledu[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x67}; sbit dula=P3^1; sbit wela=P3^0;
sbit csda=P3^2; sbit wrda=P3^6;
sbit csad=P3^3; sbit rdad=P3^4; sbit wrad=P3^5; uchar a1,a2,a3; display(uchar,uchar,uchar); delay(uchar); void main() {
while(1) { csda=1; wrda=1; csad=0; wrad=0; _nop_(); wrad=1; csad=1; csad=0; rdad=0; _nop_(); P2=0xff; c=P2; rdad=1; csad=1; a1=c/100%100; a2=c/100%10; a3=c%100; display(a1,a2,a3); } } display(uchar bai,uchar shi,uchar ge) { P0=0xff; wela=1; wela=0; P0=tabledu[bai]; dula=1; dula=0; P0=0x06; wela=1; wela=0; delay(1);
P0=0xff; wela=1; wela=0; P0=tabledu[shi]; dula=1; dula=0; P0=0x05; wela=1; wela=0; delay(1);
P0=0xff; wela=1; wela=0; P0=tabledu[ge]; dula=1; dula=0; P0=0x03; wela=1; wela=0; delay(1); } delay(uchar x) { uchar a,b; for(a=x;a>0;a--) for(b=255;b>0;b--); }
|