|
#include <reg51.h>
unsigned char code seg7code[10]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f}; //显示段码
sbit int1=P3^3; //定义管脚功能
sbit cs="P3"^2; //使能端
sbit wr="P3"^6; //写端口
sbit rd="P3"^7; //读端口
void Delay(unsigned int tc) //显示延时程序
{
while( tc != 0 )
{
unsigned int i;
for(i=0; i<100; i++);
tc--;
}
}
unsigned char adc0804( void ) //读AD0804子程序
{
unsigned char addata,i;
rd=1;
wr=1;
int1=1; //读ADC0804 前准备
P1=0xff; //P1全部置一准备
cs=0;
wr=0;
wr=1; //启动ADC0804开始测电压
while(int1==1); //查询等待A/D转换完毕产生的INT(低电平有效)信号
rd=0; //开始读转换后数据
i=i; i="i"; //无意义语句,用于延时等待ADC0804 读数完毕
addata=P1; //读出的数据赋与addate
rd=1;cs=1; //读数完毕
return(addata); //返回最后读出的数据
}
为什么采样前非要把P1口全部置1?一直不太明白?
|
|