用单片机控制ADC0804进行模数转换,当拧动实验板上A/D旁边的电位器Re2时,在数码管的前三位以十进制方式动态显示出A/D转换后的数字量(8位uA/D转换后数值在0~255变化)。
<span style="font-family:Microsoft YaHei;font-size:18px;">#include<reg52.h>
#include<intrins.h>
sbit dula=P2^6; //申明U1锁存器的锁存端
sbit wela=P2^7; //申明U2存锁器的锁存端
sbit adwr=P3^6; //定义A/D的WR端口
sbit adrd=P3^7; //定义A/D的RD端口
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delayms(unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--) //i=xms即延时约xms毫秒
for(j=110;j>0;j--);
}
void display(unsigned char bai,unsigned char shi,unsigned char ge)
{
dula=1;
P0=table[bai]; //送段选数据
dula=0;
P0=0xff; //送位选数据前关闭所有显示