标题: STC15F2K60S2的AD转换 [打印本页]

作者: 咸鱼16号    时间: 2018-6-4 20:58
标题: STC15F2K60S2的AD转换
#include<STC15F2K60S2.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
void delay(uint z);
unsigned uint a;
   
uchar code wela[8]={0xef,0xdf,0xcf,0xbf};
uchar code dula[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char adval()  //ad转换函数
{   
     ADC_CONTR|=0x80;  //10000000 开启转换电源
     P1ASF|=0x08;    //p1.3为ad转换kou
     ADC_CONTR|=0xe3;   //11100011 开启P1.3通道开始转换
     delay(1);     //延时一端时间,使输入电压达到稳定
     ADC_RES=0;    //清A/D转换结果寄存器
     ADC_RESL=0;
     ADC_CONTR|=0x08; //ADC_START=1,开始转换
     _nop_();
     while(!(ADC_CONTR&0x10)); //0001,0000 等待A/D转换结束
     ADC_CONTR&=0xe7;
     a=ADC_RES*4+ADC_RESL;
     return(i);
}

void delay(uint z)
{
             uint x,y;
for(x=z;x>0;x--)
       for(y=40;y>0;y--);
}

void display()
{
       P0=wela[3];
       P2=dula[a%10];
       delay(1);
       P0=wela[2];
       P2=dula[a%100/10];
       delay(1);
       P0=wela[1];
       P2=dula[a%1000/100];
       delay(1);
       P0=wela[0];
       P2=dula[a/1000];
       delay(1);
}

void main()
{
    while(1)
    {
        adval();
        display();
     }
}

作者: 6726234500    时间: 2018-6-24 16:03
不能用




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1