新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STC12C5410AD AD轉換示例程序

        STC12C5410AD AD轉換示例程序

        作者: 時間:2016-12-02 來源:網絡 收藏
        #include"STC12C5410AD.h"
        #defineucharunsignedchar
        unsignedcharaa,bb;
        voiddelay(uchardd)
        {
        intx,y;
        for(x=dd;x>0;x--)
        for(y=100;y>0;y--);
        }
        unsignedcharRead_ADC(unsignedcharadcvcc)
        {
        //將P1.0--P1.1設置成適合AD轉換的模式
        ADC_CONTR=ADC_CONTR|0x80;//1000,0000打開A/D轉換電源
        delay(20);//20ms
        ADC_CONTR=ADC_CONTR&0xE0;//1110,0000清ADC_FLAG,ADC_START位和低3位
        ADC_CONTR=ADC_CONTR&0xf8|adcvcc;//設置當前通道號
        delay(10);//延時使輸入電壓達到穩定
        ADC_DATA=0;//清A/D轉換結果寄存器
        ADC_CONTR=ADC_CONTR|0x08;//0000,1000ADCS=1,啟動轉換
        do{;}while((ADC_CONTR&0x10)==0);//0001,0000等待A/D轉換結束
        ADC_CONTR=ADC_CONTR&0xE7;//1110,0111清ADC_FLAG和ADC_START位,停止A/D轉換
        returnADC_DATA;
        }
        voidmain()
        {
        //里要加上設置ADC的端口,如)1.0,P1.1設為ADC口的話:
        P1M0=0x03;//0000,0011用于A/D轉換的P1.x口,先設為開漏
        P1M1=0xC3;//0000,0011P1.0--P1.1先設為開漏。斷開內部上拉電阻
        bb=0x01;
        while(1)
        {
        aa=Read_ADC(1);//第一路A/D轉換;如要改別的路,只要把代入通道改一下.
        P3=aa;//這是讓A/D的數據顯示在P3口的LED上.
        }
        }


        關鍵詞: STC12C5410ADAD轉

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 华安县| 辽源市| 项城市| 澄江县| 扶余县| 江达县| 佳木斯市| 银川市| 会东县| 喀喇| 宜阳县| 斗六市| 莱州市| 博兴县| 襄樊市| 梁平县| 固始县| 方正县| 时尚| 裕民县| 襄樊市| 磐石市| 古浪县| 织金县| 兰西县| 德阳市| 漯河市| 霍林郭勒市| 房山区| 临朐县| 凤冈县| 社会| 西乌珠穆沁旗| 彰化市| 承德市| 西丰县| 扬州市| 金川县| 道孚县| 开平市| 镇远县|