我做的ADC0832实验代码很弱智,大家给提点意见我刚刚接触单片机

2020-02-03 10:13发布


(原文件名:照片 011.jpg)


实验设备 (原文件名:照片 013.jpg)


实验设备2 (原文件名:照片 010.jpg)


万用板搭的 (原文件名:照片 007.jpg)


效果 (原文件名:照片 008.jpg)


(原文件名:照片 009.jpg)


(原文件名:照片 017.jpg)


(原文件名:照片 019.jpg)


代码如下

很弱智:

//ADC0832实验子程序,实现对ADC0832的驱动。
//***********作者刘潼*************


#include <REG52.h>
#include <intrins.h>
sbit bai=P2^7;
sbit h=P2^6;
sbit shi=P2^5;
sbit ge=P2^4;
unsigned char code table[]={0x3f,0x06,
                            0x5b,0x4f,
                                                        0x66,0x6d,
                                                        0x7d,0x07,
                                                        0x7f,0x6f};
unsigned char bdata        a=0;
unsigned int b;
sbit ADCCS=P3^7;
sbit ADCIO=P3^5;
sbit ADCLK=P3^6;
sbit temp=a^0;
void delay()  
{
    unsigned char a,b;
    for(b=102;b>0;b--)
        for(a=3;a>0;a--);
}
void delay1()  
{
    unsigned char a,b;
    for(b=221;b>0;b--)
        for(a=207;a>0;a--);
}


void ADCch()
{
  ADCCS=0;
  _nop_();
  _nop_();
  ADCLK=1;
  _nop_();
  _nop_();
  ADCIO=1;
  _nop_();
  _nop_();
  ADCLK=0;
  _nop_();
  _nop_();
  ADCLK=1;
  _nop_();
  _nop_();
  ADCIO=1;
  _nop_();
  _nop_();
  ADCLK=0;
  _nop_();
  _nop_();
  ADCLK=1;
  _nop_();
  _nop_();
  ADCIO=0;
  _nop_();
  _nop_();
  ADCLK=0;
}
void ADCR()
{
  unsigned char i=0;
  for(i=0;i<8;i++)
  {
          ADCLK=1;
        _nop_();
        _nop_();
        ADCLK=0;
        _nop_();
        _nop_();
        temp=ADCIO;
        a=a<<1;
       
  }
  ADCCS=1;
}
void main()
{
    TMOD = 0x01;
    TH0 = 0x0DC;
    TL0 = 0x00;
    EA = 1;
    ET0 = 1;
    TR0 = 1;
while(1)
{
ADCch();
ADCR();
  delay1();
  }
}
void temer0() interrupt 1
{
        b=a;
        b=b*1.97;
        bai=0;
           P0=table[b/100];
        delay();
        bai=1;
        P0=0x00;
        delay();
        shi=0;
        P0=table[b%100/10];
        delay();
        shi=1;
        P0=0x00;
        delay();
        ge=0;
        P0=table[b%10];
        delay();
        ge=1;
        P0=0x00;
        h=0;
        P0=0x40;
        delay();
        h=1;
        P0=0x00;
        TH0 = 0x0DC;
        TL0 = 0x00;
        TR0 = 1;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。