新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于89C51的八路AD轉換系統

        基于89C51的八路AD轉換系統

        作者: 時間:2018-08-01 來源:網絡 收藏

        本文是基于89C51的八路AD轉換系統設計

        本文引用地址:http://www.104case.com/article/201808/384845.htm

        一)硬件部分:

        二)程序部分:

        #include

        #include

        #define uchar unsigned char

        #define uint unsigned int

        #define ADC0809 XBYTE[0x7fff]

        uchar code SEG7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

        uchar code act[4]={0xfe,0xfd,0xfb,0xf7};

        sbit P1_7=P1^7;

        sbit P2_6=P2^6;

        sbit P3_3=P3^3;

        bit flag;

        uchar m;

        uint X[8];

        void d200us(void);

        void delay(uint k);

        /******************************/

        void main(void)

        {

        TMOD=0x01;

        TH0=-(1000/256);

        TL0=-(1000%256);

        TR0=1;

        IE=0x82;

        while(1)

        {

        if(!P2_6){delay(30);if(!P2_6)flag=!flag;delay(300);}

        ADC0809=m;

        while(!P3_3);

        X[m]=ADC0809;

        m++;

        if(m>7)m=0;

        delay(50);

        }

        }

        /************************************/

        void delay(uint k)

        {

        uint i,j;

        for(i=0;i for(j=0;j60;j++)

        {;}}

        }

        /***********************************/

        void timer0(void) interrupt 1 using 1

        {static uchar disbit,n;static uint cnt;

        TH0=-(1000/256);

        TL0=-(1000%256);

        switch(disbit)

        {

        case 0:{P1=SEG7[n];if(flag)P1_7=1;else P1_7=0;}break;

        case 1:{P1=SEG7[(X[n]*49/25)/100];P1_7=1;}break;

        case 2:{P1=SEG7[(X[n]*49/25)%100/10];}break;

        case 3:{P1=SEG7[(X[n]*49/25)%100%10];}break;

        default:break;

        }

        P2=act[disbit];

        disbit++;cnt++;

        if(disbit>3)disbit=0;

        if(!flag)

        {if(cnt>500){cnt=0;n++;}}

        if(n>7)n=0;

        }



        關鍵詞: 51單片機

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 天峨县| 浙江省| 苍山县| 英超| 龙州县| 泗水县| 亚东县| 漳州市| 都匀市| 景洪市| 育儿| 永寿县| 平谷区| 开鲁县| 惠东县| 奉新县| 泰和县| 扬州市| 禄劝| 康马县| 松阳县| 维西| 水城县| 通州市| 石柱| 老河口市| 邢台县| 邛崃市| 巴彦县| 仲巴县| 铁岭县| 日土县| 徐州市| 台山市| 宁南县| 兰坪| 昌黎县| 东辽县| 安徽省| 沾化县| 潍坊市|