• 大小: 84KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-09
  • 语言: 其他
  • 标签: ADC0809  PROTEUS  

资源简介

adc0809双通道显示 在proteus上仿真通过 有驱动

资源截图

代码片段和文件信息

 #include
unsigned char code dispbitcode[]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f};
unsigned char dispbuf[4];
unsigned int i;
unsigned int j;
unsigned char getdataV1=0  getdataV2=0;
bit flag  flag1;
unsigned int temptemp1;
sbit ST=P3^0;  //启动信号  一个下下降沿
sbit OE=P3^1; //OE=1的时候 取数据
sbit EOC=P3^2;  //判断是否转换完毕
sbit CLK=P3^3;   //时钟脉冲

sbit P34=P3^4;     // A
sbit P35=P3^5;     // B
sbit P36=P3^6;    // C  通道选择

sbit P20=P2^0;
sbit P21=P2^1;
sbit P22=P2^2;
sbit P23=P2^3;  //数码管选择

sbit P17=P1^7; //数码管的DP

sbit K1=P2^6; //通道1 开启采集
sbit K2=P2^7; //通道1 停止采集

sbit K3=P2^4;   //通道2 开启采集
sbit K4=P2^5;   //通道2 停止采集
void TimeInitial();
void Delay(unsigned int i);

void TimeInitial()
{   
    TMOD=0x10;
    TH1=(65536-200)/256;     //0.2ms
    TL1=(65536-200)%256;
    EA=1;
    ET1=1;
    TR1=1;
 }
void Delay(unsigned int i)
{
     unsigned int j;
     for(;i>0;i--)
     for(j=0;j<125;j++);
}
 
void Display()


    P1=dispbitcode[dispbuf[3]];
P17=1;    //小数点
//P2=0X0E;
P20=0;
P21=1;
P22=1;
P23=1;
Delay(5);
    P1=0x00; 
    
P1=dispbitcode[dispbuf[2]];
// P2=0X0D;
P20=1;
P21=0;
P22=1;
P23=1;
    Delay(5); 
    P1=0x00;
    
P1=dispbitcode[dispbuf[1]];
   // P2=0X0B;
P20=1;
P21=1;
P22=0;
P23=1;
    Delay(5);
    P1=0x00;
    
P1=dispbitcode[dispbuf[0]];
    //P2=0X07;
P20=1;
P21=1;
P22=1;
P23=0;
    Delay(5);
    P1=0x00;
}

void ADC0808_Start()
{
      P34=0;  //通道0
      P35=0;
      P36=0;

  OE=0;
  ST=1;
  ST=0;
  Delay(1);
  while(EOC==0);
  OE=1;
  getdataV1=P0;
  OE=0;
}

void ADC0808_Start1()
{
      P34=1;    //通道1
      P35=0;
      P36=0;

  OE=0;
  ST=1;
  ST=0;
  Delay(1);
  while(EOC==0);
  OE=1;
  getdataV2=P0;
  OE=0;
}
void main()
{
     TimeInitial();
 K1=1K2=1K3=1K4=1;
 ST=1;
     while(1)
    {
  if(K1==0 && K3==1)
   {
    flag=1;   //启动 通道1
flag1=0;  
   }   
  else if(K1==1&& K3==0)  
  {
    flag=0;
flag1=1;   
  }
  else if(K2==0)
  {
    flag=0;   
  }
  else if(K4==0)
  {
     flag1=0;
  }   
   Display();  //为了屏幕上有显示。
  
  if(flag==1)
  {
   ADC0808_Start();  
   temp=getdataV1*5.0/255*1000;   //获得电压。  //要和参考电压一致        
   dispbuf[0]=temp%10;       //个位
       dispbuf[1]=temp/10%10;    //十位
       dispbuf[2]=temp/100%10;   //百位     
       dispbuf[3]=temp/1000;     //千位
       //Display();    //放到这里不可以的
  } 
  else 
  {
   ST=1;  //停止AD启动
  }
  if(flag1==1)
  {
      ADC0808_Start1();  
   temp1=getdataV2*5.0/255*1000;   //获得电压。  //要和参考电压一致        
   dispbuf[0]=temp1%10;            //个位
       dispbuf[1]=temp1/10%10;      //十位
       dispbuf[2]=temp1/100%10;       //百位     
       dispbuf[3]=temp1/1000;         //千位
  
  }
  else if(flag1==0)
  {
   ST=1;  //停止AD启动   
  }
    }
}

void t1(void) interrupt 3 using 0
 {
     TH1=(

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-11-23 23:38  ADC0809两道电压采集\
     文件        8447  2011-11-25 11:44  ADC0809两道电压采集\0809测试
     文件        3206  2011-11-25 11:46  ADC0809两道电压采集\0809测试.c
     文件        3987  2011-11-25 11:44  ADC0809两道电压采集\0809测试.hex
     文件          48  2011-11-25 11:44  ADC0809两道电压采集\0809测试.lnp
     文件        7617  2011-11-25 11:44  ADC0809两道电压采集\0809测试.LST
     文件       12360  2011-11-25 11:44  ADC0809两道电压采集\0809测试.M51
     文件        8656  2011-11-25 11:44  ADC0809两道电压采集\0809测试.OBJ
     文件         978  2010-07-03 13:03  ADC0809两道电压采集\0809测试.opt.bak
     文件        3528  2011-11-25 11:46  ADC0809两道电压采集\0809测试.plg
     文件        2113  2010-07-03 11:05  ADC0809两道电压采集\0809测试.Uv2.bak
     文件       55707  2011-11-25 11:46  ADC0809两道电压采集\0809测试.uvopt
     文件       13244  2011-11-23 23:37  ADC0809两道电压采集\0809测试.uvproj
     文件         978  2010-07-03 11:05  ADC0809两道电压采集\0809测试_Opt.Bak
     文件           0  2010-07-03 09:29  ADC0809两道电压采集\0809测试_Uv2.Bak
     文件       55713  2011-11-24 11:30  ADC0809两道电压采集\0809测试_uvopt.bak
     文件       13245  2011-11-22 21:23  ADC0809两道电压采集\0809测试_uvproj.bak
     文件      163058  2011-11-25 10:33  ADC0809两道电压采集\Last Loaded 数据采集.DBK
     文件      163248  2011-11-25 11:46  ADC0809两道电压采集\数据采集.DSN
     文件         742  2011-11-25 11:46  ADC0809两道电压采集\数据采集.PWI

评论

共有 条评论