#include<reg52.h> #include<intrins.h> #define uint unsigned int #define uchar unsigned char uchar table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; uint i,num,num_1,num_2,a,b,c; uint qian,bai,shi,ge; void display(uint qian,uint bai,uint shi,uint ge); void delay(uint); void main() { TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; num_2=4221; while(1) { display(qian,bai,shi,ge); } } void delay(uint i) { int x,y; for(i=x;i>0;i--) for(y=110;y>0;y--); } void T0_timer() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; num++; if(num==2) { num=0; num_2--; } } void display(uint qian,uint bai,uint shi,uint ge) { qian=num_2/1000; bai=num_2/100%10; shi=num_2/10%100; ge=num_2%10; P1=0XFE; P0=table[qian]; delay(1); P1=0XFF; P0=0XFF; P1=0XFD; P0=table[bai]; delay(1); P1=0XFF; P0=0XFF; P1=0XFB; P0=table[shi]; delay(1); P1=0XFF; P0=0XFF; P1=0XF7; P0=table[ge]; delay(1); P1=0XFF; P0=0XFF; }怎么數碼管顯示出來小數啊 |