新手求大神解答,ADC0809的程序 ,错误在哪里,谢了

2019-07-15 21:47发布

ADC0809的程序 ,错误在哪里,谢了
#include <reg52.h>               

#include "delay.h"
#include "intrins.h"
#include "display.h"
#define nop() _nop_()
               

unsigned char temp ,temp1,temp2,getdata ;//ADC转换值

  bit ReadADFlag;
sbit  CLK = P3^1; /*定义ADC控制端口*/
sbit ST = P3^2;
sbit OE = P3^0 ;
sbit EOC = P3^0 ;


void Init_timer1(void)
{
TMOD |= 0x10;          //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响                     


EA=1;            //总中断打开
ET1=1;           //定时器中断打开
TR1=1;           //定时器开关打开
}
/*------------------------------------------------
                 定时器中断子程序
------------------------------------------------*/
void Timer1_isr(void) interrupt 3
{
TH1=(65536-65506  )/256;                  //重新赋值 2ms
TL1=(65536-65506  )%256;

CLK=~CLK;

}





void main()
  {

         Init_Timer0();
         Init_Timer1( )  ;
     DelayMs(20);

          

          EA=0;
      temp=0;

      OE=0;


    while(1)
       {
            if(ReadADFlag)
        {
       ReadADFlag=0;
           ST=0;
           _nop_();
           ST=1;
           _nop_();
           ST=0;
       if(EOC==0)
        {
                       
                 _nop_();
               OE=1;
                 _nop_();
                          
              getdata=P3;
                 temp=getdata*5/255;
                            
                  TempData[0]=dofly_DuanMa[temp/100];   
               TempData[1]=dofly_DuanMa[(temp%100)/10];
               TempData[2]=dofly_DuanMa[(temp%100)%10];

                     OE=0;

              EA=1;
                       
           DelayMs(100);   
        }
                 }
                }                    

          
   }


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。