文章标题

来源:互联网 发布:科脉软件 编辑:程序博客网 时间:2024/05/18 00:33
#include<reg52.h>#include<intrins.h>#define u8 unsigned char#define u16 unsigned int#define NN 512sbit wela=P2^7;sbit adwr=P3^6;sbit adrd=P3^7;u8 xdata ad_val[NN];u16 count;u8 flag_time;void initT0(){    TMOD=0x01;    TH0=(65535-1000)/256;    TL0=(65535-1000)%256;           EA=1;    ET0=1;    TR0=1;      }void initT1(){    TMOD=0x20;    TH1=0xfd;    TL1=0xfd;       TR1=1;                        //启动T1    SM0=0;    SM1=1;    REN=1;    EA=1;    ES=1;}u8 get_ad(){    u8 adval;    u16 i;    adwr=1;    _nop_();    adwr=0;    _nop_();    adwr=1;    for(i=20;i>0;i--);    P1=0xff;    adrd=1;    _nop_();    adrd=0;    _nop_();    adval=P1;    adrd=1;    return adval;}void main(){    flag_time=0;    count=0;        wela=1;    P0=0x7f;    wela=0;    initT0();    while(1)    {               if(flag_time>=1)        {            flag_time=0;            ad_val[count]=get_ad();            count++;        }        if(count>=NN)        {            TR0=0;            break;        }    }    while(1);}void timer0() interrupt 1{    TH0=(65535-1000)/256;    TL0=(65535-1000)%256;    flag_time++;}
0 0
原创粉丝点击