A/D转换 ,数码管的前三位以十进制显示

#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit dula=P1^0;
sbit wela=P1^1;
sbit adwr=P3^6;
sbit adrd=P3^7;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay(uint x)
{
   uint i,j;
   for(i=x;i>0;i--)
  for(j=110;j>0;j--);
}
void display(uchar bai,uchar shi,uchar ge)
{
 dula=1;
 P0=table[bai];
 dula=0;
 P0=0xff;
 wela=1;
 P0=0x7e;
 wela=0;
 delay(5);

 dula=1;
 P0=table[shi];
 dula=0;
 P0=0xff;
 wela=1;
 P0=0x7d;
 wela=0;
 delay(5);

 dula=1;
 P0=table[ge];
 dula=0;
 P0=0xff;
 wela=1;
 P0=0x7b;
 delay(5);
}
void mian()
{
  uchar a,A1,A2,A3,adval;
 wela=1;
 P0=0x7f;
 wela=0;
 while(1)
 {
  adwr=1;
  _nop_();
  adwr=0;
  _nop_();
  adwr=1;
  for(a=10;a>0;a--)
  {
   display(A1,A2,A3);
  }
  P0=0xff;
  adrd=1;
  _nop_();
  adrd=0;
  _nop_();
  adval=P0 ;
  adrd=1;
  A1=adval/100;
  A2=adval%100/10;
  A3=adval%10;
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值