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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STC8G1K08單片機的AD結果轉換是16位還是10位

[復制鏈接]
跳轉到指定樓層
樓主
我測試,只有16位才是正確結果,也就是(寄存器的值/65535*VCC),但是官網寫的是10位應該用1024???是我撞對了還是手冊錯了?


#include <STC8.H>

unsigned int ADCReadBt;
unsigned char ADCReadBtH,ADCReadBtL;
unsigned int VREF;
unsigned char VREFnow;
unsigned char flag = 0;
void Delay1000ms(void)        //@11.0592MHz
{
        unsigned char data i, j, k;

        
        i = 43;
        j = 6;
        k = 203;
        do
        {
                do
                {
                        while (--k);
                } while (--j);
        } while (--i);
}



void STC8UartInit(){
        SCON = 0x50;                //8位數據,可變波特率
        AUXR |= 0x40;                //定時器時鐘1T模式
        AUXR &= 0xFE;                //串口1選擇定時器1為波特率發生器
        TMOD &= 0x0F;                //設置定時器模式
        TL1 = 0xE0;                        //設置定時初始值
        TH1 = 0xFE;                        //設置定時初始值
        ET1 = 0;                        //禁止定時器中斷
        TR1 = 1;                        //定時器1開始計時
        
}


void STC8UartSend(unsigned int ADCRead){
        SBUF = ADCRead;
        while(TI==0);
        TI=0;
}

void ADCInit(){
        ADC_CONTR = 0xCF;
        ADCCFG = 0x0F;
        ADCTIM = 0x2A;//2a
        EA = 1;
        EADC = 1;
}


void ADCIRT()interrupt 5{
        ADC_CONTR = 0x8F;
        flag = 1;
        ADCReadBt = ADC_RES<<8 | ADC_RESL;
        
        
        
        ADCReadBtH = ADCReadBt/256;
        ADCReadBtL = ADCReadBt%256;
}

void main(){
        P1M0 = 0x00;
        P1M1 = 0x04;
        
        ADCReadBt = 0;
        ADCReadBtH = 0;
        ADCReadBtL = 0;
        ADCInit();
        STC8UartInit();
        while(1){
                if(flag){
                        flag = 0;
                        STC8UartSend(ADC_RES);
                        STC8UartSend(ADC_RESL);
        //                STC8UartSend('\r');
        //                STC8UartSend('\n');
                        ADC_CONTR = 0xCF;
                }
        
        Delay1000ms();
        }
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:1125912 發表于 2024-6-18 20:28 | 只看該作者

回復

使用道具 舉報

板凳
ID:344848 發表于 2024-6-18 22:27 | 只看該作者

請相信官網所說的AD結果是10位,不是12位,更不是16位;目前單片機歐洲的ST公司AD轉換是12位,Ti公司AD轉換是16位。他們的價格都比國產單片機的價格貴。
回復

使用道具 舉報

地板
ID:1034262 發表于 2024-6-18 23:55 | 只看該作者
STC8G1K08是10位的ADC
回復

使用道具 舉報

5#
ID:1034262 發表于 2024-6-18 23:55 | 只看該作者
donglw 發表于 2024-6-18 22:27
請相信官網所說的AD結果是10位,不是12位,更不是16位;目前單片機歐洲的ST公司AD轉換是12位,Ti公司AD轉 ...

STC8H系列、STC32G系列的12位ADC非常精準的。
回復

使用道具 舉報

6#
ID:344848 發表于 2024-6-19 02:28 | 只看該作者
coody_sz 發表于 2024-6-18 23:55
STC8H系列、STC32G系列的12位ADC非常精準的。

如你所言,本人認為可能某些環境精度達不到呀,從南京到北京買的沒有賣的精,若比較完善達到12位為何說成10位,匪夷所思,
回復

使用道具 舉報

7#
ID:1125957 發表于 2024-6-19 08:51 | 只看該作者
官網發布的一般都是正確的,你這個16位應該是撞對了 10位是對的
回復

使用道具 舉報

8#
ID:401564 發表于 2024-6-19 11:53 | 只看該作者
那是你沒有認真看數據手冊,STC的8G系列目前都是10位,你要是用16位計算對了,那就是你代碼錯了
回復

使用道具 舉報

9#
ID:857072 發表于 2024-6-19 12:03 來自手機 | 只看該作者
有效值是十位,但是寄存器是高八位和低八位 兩個八位的寄存器合起來你讀寄存器的時候它是16位的值
回復

使用道具 舉報

10#
ID:123289 發表于 2024-6-20 20:20 | 只看該作者
為何不求助于手冊呢?
回復

使用道具 舉報

11#
ID:675287 發表于 2024-6-21 08:31 | 只看該作者
10位的,但是數據可以舍棄后兩位變成8位,如果不需要那么高的精度的話,也可以16位,高六位為0
回復

使用道具 舉報

12#
ID:624769 發表于 2024-6-22 20:21 | 只看該作者
你沒發現你以為的16位 最低的 6 位 始終始終是 0 么?
要按你這樣就算 16位 的話,你再 左移個16位,就成32位ADC了, STC能吹上天了。
回復

使用道具 舉報

13#
ID:69038 發表于 2024-6-23 21:54 | 只看該作者
STC的ADC是10位或12位。比如8H1K08、8H1K28系列為10位,而8H1K08T、8H3K、8H4K、8H8K系列為12位。
但你是要用16位(ADC_RES、ADC_RESL從高到低bit15:bit0)去讀取。
你要是設成左對齊(ADCCFG^RESFMT=0),低6位(ADC_RESL的bit5:bit0)或低4位(ADC_RESL的bit3:bit0)全是0,
你要是設成右對齊(ADCCFG^RESFMT=1),則高6位(ADC_RES的bit15:bit10)或高4位(ADC_RES的bit15:bit12)全是0,
如果要求不高,也可以設為左對齊,只讀取高8位即ADC_RES
強烈建議你認真讀一下手冊中的ADC相關章節。。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91国产视频在线观看 | 亚洲综合在线网 | 91视频在线网站 | 亚洲中字在线 | 久久久国产精品 | 国产精品视频导航 | 欧美色综合一区二区三区 | h在线看 | 亚洲国产成人精品久久久国产成人一区 | 狠狠干网 | 色www精品视频在线观看 | 国产精品久久久久久久免费大片 | 日韩综合网 | 久久天堂 | 欧美一区二区三区在线观看 | 91色综合 | 久久久久久久国产精品视频 | 成人精品毛片国产亚洲av十九禁 | 国内精品久久久久久 | 免费一级片 | 一道本在线 | 亚洲国产精品视频一区 | 国产视频线观看永久免费 | 成人久久久久久久久 | 久久久久国产精品一区三寸 | 中文字幕1区2区3区 日韩在线视频免费观看 | 久久天天综合 | 97久久精品午夜一区二区 | 亚洲成人免费在线观看 | 色视频在线免费观看 | 国产精品国产成人国产三级 | 992tv人人草| 香蕉久久a毛片 | 亚洲成人中文字幕 | 成年人在线观看 | 在线看91 | 96国产精品久久久久aⅴ四区 | 国产色婷婷精品综合在线播放 | 热久色| 在线观看国产三级 | 亚洲国产精品久久 |