uchar adcdata; //ad转换变量
void Delay(unsigned int number);        //毫秒延时
uchar adcread(void);                  //adc转换程序
void main(void) using0
{
  TMOD=0X11;                     //计数器设定
  IP=0X8;                          //优先级的设定
 IE=0X8A;                        //中断允许
 TCON=5;                        //外部中断低电平触发
  TR0=1;                          //打开定时器中断
  TR1=0;
  ET0=1; 
  ET1=0;
  P1=0Xff
  Delay(120);
  while(1);
  {
     adcdata=adcread();              //读取数据进行A/D转换
   }
}
//毫秒延时
void Delay(unsigned int number)
{
   unsingned char temp;
   for(;number!=0;number--)
   for(temp=112;temp!=0;temp--)
}
// 6位 ADC转换
uchar adcread(void)
{
 uchar i=0x3f,temp=0;             //初始化转换变量
 P36=1;                         //比较器端口置1
 P1=3;_nop_();_nop_();            //从零开始转换
 while((i--)&&(P36))              //开始数据读取和比较
 {
    temp+=4;
    P1=temp13;
    _nop_();
 }
 temp>>=2;
 return temp;                    //转换完毕,返回
}
总  结
人生最美好的大学生活就要划上句号了,并将随着时间的流逝,逐渐成为回忆。它到底在我的生命中留下了什么?对我的未来又有着怎样的影响?我的理想实现了多少?虽然我现在还不知道答案,但我相信,它是我生命的一个里程碑,记载着我的一段最为美丽和宝贵的人生。不能忘记恩师的谆谆教诲和父母的殷切希望,更不能忘记培养我的母校。我相信社会可以让我更加成熟, 工作也会让我施展才能!7月,我将远行,带着对母校的深深眷恋和对未来的无限憧憬,告别我的学生时代。如今掉头一去是风吹黑发,也许回首再来,已是雪满白头了!让我们一起期待明天会更好!
使用89C2051实现A/D的使用方法和程序A/D转换设计(六)由教育资料网(www.jaoyuw.com)会员上传。

