51单片机模数转换
#include
#include
#include
#define uchar unsigned char;
#define unit unsigned int;
sbit led1=P1^0;
sbit key2=P2^0;
sbit key3=P2^1;
sbit key4=P2^2;
sbit key5=P2^3;
sbit wei=P2^7;
sbit duan=P2^6;
sbit wd=P3^6;
sbit rd=P3^7;
uchar num=0;
uchar num0=0;
int ge=0;
int shi=0;
uchar a,A1,A2,A3,shu;
void delys(int ms);
void dis(int bai ,int shi , int ge);
void key();
char code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f
};
int i,j;
void init_ser() ;
void senddate(unsigned char date);
void sendstr(unsigned char *s);
void main(){
uchar a,A1,A2,A3,shu;
wei=1;
P0=0x7f;// 片选信号 0111 1111;
wei=0;
while(1){
wd=1;
_nop_();
wd=0;
_nop_();
wd=1;
for(a=10;a>0;a--){
dis(A1,A2,A3);
//delys(100);
}
P1=0xff;
rd=1;
_nop_();
rd=0;
_nop_();
shu=P1;
rd=1;
A1=shu/100;
A2=shu%100/10;
A3=shu%10;
TI=1;
printf("this is %d",shu);
while(!TI);
TI=0;
ES=1;
//senddate(A2);
}
}
void delys(int ms){
int i,j;
for(i=ms;i>0;i--)
for(j=110;j>0;j--);
}
void dis(int bai ,int shi ,int ge)
{
duan=1;
P0=table[bai];
duan =0;
wei =1;
P0=0x7e;
wei=0;
P0=0x0;
delys(2);
duan=1;
P0=table[shi];
duan =0;
wei =1;
P0=0x7d;
wei=0;
delys(2);
P0=0x0;
duan=1;
P0=table[ge];
duan =0;
wei =1;
P0=0x7b;
wei=0;
delys(2);
P0=0x0;
}