找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3166|回復: 3
打印 上一主題 下一主題
收起左側

stc12系列單片機自帶AD問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:187640 發(fā)表于 2017-4-9 10:46 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
void main()
{
        AD_init();    //A/D轉換初始化
        serial_init();   //串口初始化
        while(1)
        {
                 {
                        TI=1;    //使用printf函數前須先將發(fā)送標志位TI置1
                        printf("%f",AD_get() );
                        TI=0;
                        delay(1000); //延時約1s
                  }
        }
}

uint AD_get(void)
{
        ADC_CONTR=0xe8;           //開啟AD轉換
        _nop_(); _nop_(); _nop_(); _nop_();//要經過4個CPU時鐘的延時,其值才能夠保證被設置進ADC_CONTR 寄存器
        while(!(ADC_CONTR&0x10));    //等待轉換完成
        ADC_CONTR&=0xe7;      //關閉AD轉換,ADC_FLAG位由軟件清0
        return(ADC_RES*4+ADC_RESL);   //返回AD轉換完成的10位數據(16進制)
}

void AD_init()
{
        P1ASF=0xff; //P1口全部作為模擬功能AD使用
        ADC_RES=0;   //清零轉換結果寄存器高8位
        ADC_RESL=0; //清零轉換結果寄存器低2位
        ADC_CONTR=0xe0;//開啟AD電源
        delay(2);   //等待1ms,讓AD電源穩(wěn)定


這個程序串口返回的一直是9F FA,外面電壓變了也是這個值
求大佬救救小白
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:187640 發(fā)表于 2017-4-9 15:12 | 只看該作者
求助
回復

使用道具 舉報

板凳
ID:161477 發(fā)表于 2017-4-10 16:53 | 只看該作者
檢查一下程序  ADC_CONTR=0xe8;           //開啟AD轉換
回復

使用道具 舉報

地板
ID:189699 發(fā)表于 2017-4-14 23:46 | 只看該作者
這個是單片機自帶的ad轉換調用程序嗎?完整的?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表