久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

能幫我看看我這8位的AD采集單片機程序為什么不成功嗎

查看數: 2022 | 評論數: 3 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2019-9-28 16:44

正文摘要:

本帖最后由 如癡百感生 于 2019-9-28 16:58 編輯 計算部分弄錯了 ,,應該是v=b*5/256;但結果還是不對,,沒問題了   自己把自己弄混了   抱歉

回復

ID:93224 發表于 2020-2-29 17:07
什么ADC也不說清楚
ID:251061 發表于 2020-2-29 16:42
#include ”stc15w4k.h"
#include <stdio.h>                // 為使用KEIL自帶的庫函數printf而加入

加入串口可以在PC端實時查看電壓數據
unsigned int ADC_P11()                  //   ADC轉換函數
{
        unsigned int i;                    // 用于軟件延時程序
        unsigned char status;        // 用于判斷AD轉換結束的標志
        unsigned int AD_Dat=0;  // 10位AD轉換值
        unsigned char Tmp;            // 臨時變量用于將AD轉換出來的2個字節合成一個字節               
        ADC_CONTR|=0x80;              // 開AD轉換電源,第一次使用時要打開內部模擬電源
    for (i=0;i<10000;i++);  // 適當延時等待AD轉換供電穩定,一般延時1ms以內即可,為了縮短AD
                            // 調用時間,可把這2行剪切到主程序中去。
        P1ASF|=0x02;                        // 選擇P1.1作為AD轉換通道,0x02= 0000 0010       
        ADC_CONTR=0xE1;         // 選擇P1.1作為AD轉換通道,最高轉換速度,清轉換完成標志。
        //for (i=0;i<1000;i++);   // 如果是多通道模擬量進行AD轉換,則更換AD轉換通道后要適當延時,
                            // 使輸入電壓穩定,延時量取20μs~200μs即可,與輸入電壓源的內阻有關,如果輸入電壓信號源的內
                            // 阻在10K以下,可不加延時,如果是單通道模擬量轉換,則不需要更換AD轉換通道,也不需要加延時。
        ADC_CONTR|=0x08;        // 啟動 A/D 轉換,ADC_START=1。
        status=0;
        while(status==0)              // 等待AD轉換結束。
        {
            status=ADC_CONTR&0x10;   // 判斷ADC_FLAG是否等于1,0x10=0001 0000B。
        }
        ADC_CONTR&=0xE7;             // 將ADC_FLAG清0, 0xE7=1110 0111B,ADC_FLAG=0,ADC_START=0。       
        AD_Dat = ADC_RES;                // 默認高字節高8位。
        AD_Dat <<= 2;
        Tmp = ADC_RESL;         // 默認低字節低2位。
        Tmp &= 0x03;            // 屏蔽無關位
        AD_Dat |= Tmp;                // 高低字節拼接成一個10位數。
        return AD_Dat;
}

mian函數下
float Vin;                                   // 存放計算出來的外部輸入電壓
unsigned int ADvalue;          // 存放AD轉換返回的結果
ADvalue=ADC_P11();                   // 采樣P1.1口模擬輸入電壓  電瓶正極電壓
Vin=VCC*ADvalue/1023;      // 注意是1023才正確
printf("%.3f     ",Vin);          //輸出電壓顯示。
ID:235200 發表于 2019-9-28 22:33
能自己馬上發現錯誤并改正,真厲害!

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲欧洲中文日韩 | 一级黄色网页 | 欧美精品在线一区二区三区 | 国产精品久久久久久238 | 精精久久 | 中文字幕一区二区三区四区五区 | 九七午夜剧场福利写真 | 成人蜜桃av| 91看片官网 | 欧美日韩国产综合在线 | 在线看av网址 | 久久久久久久一区二区三区 | 久久久在线视频 | 日本一道本视频 | 欧美日韩国产一区二区三区 | 成人免费淫片aa视频免费 | 美国十次成人欧美色导视频 | 岛国av免费看| 夜夜爽夜夜操 | 国产精品成人一区二区三区吃奶 | 日韩av视屏| 天天摸天天看 | 亚洲天堂av一区 | 国产精品一区二区在线播放 | 国产精品视频免费观看 | 亚洲国产精品成人 | 国产精品久久久久久妇女 | 欧美一级在线免费观看 | 亚洲精品一区二区 | 四虎永久免费在线 | 日韩欧美在线免费观看 | 日本久久网 | 午夜性色a√在线视频观看9 | 欧美色偷拍| 91久久精品一区二区二区 | 日韩一区二区三区在线视频 | 欧美视频在线观看 | 国产一区二区三区免费观看在线 | 日韩福利在线 | 最新午夜综合福利视频 | 亚洲国产精品激情在线观看 |