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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1805|回復: 12
收起左側

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

[復制鏈接]
ID:1125912 發表于 2024-6-18 20:26 | 顯示全部樓層 |閱讀模式
我測試,只有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();
        }
}


回復

使用道具 舉報

ID:1125912 發表于 2024-6-18 20:28 | 顯示全部樓層
批注 2024-06-18 202755.png
回復

使用道具 舉報

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
回復

使用道具 舉報

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非常精準的。
回復

使用道具 舉報

ID:344848 發表于 2024-6-19 02:28 | 顯示全部樓層
coody_sz 發表于 2024-6-18 23:55
STC8H系列、STC32G系列的12位ADC非常精準的。

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

使用道具 舉報

ID:1125957 發表于 2024-6-19 08:51 | 顯示全部樓層
官網發布的一般都是正確的,你這個16位應該是撞對了 10位是對的
回復

使用道具 舉報

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

使用道具 舉報

ID:857072 發表于 2024-6-19 12:03 來自觸屏版 | 顯示全部樓層
有效值是十位,但是寄存器是高八位和低八位 兩個八位的寄存器合起來你讀寄存器的時候它是16位的值
回復

使用道具 舉報

ID:123289 發表于 2024-6-20 20:20 | 顯示全部樓層
為何不求助于手冊呢?
回復

使用道具 舉報

ID:675287 發表于 2024-6-21 08:31 | 顯示全部樓層
10位的,但是數據可以舍棄后兩位變成8位,如果不需要那么高的精度的話,也可以16位,高六位為0
回復

使用道具 舉報

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

使用道具 舉報

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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 九色av| 毛片免费观看 | 国产精品国产馆在线真实露脸 | 91色在线视频 | 一区二区三区成人 | 免费激情| 欧美综合一区 | 日韩欧美一级精品久久 | 在线亚洲免费视频 | 精品国产一区一区二区三亚瑟 | 亚洲视频在线观看一区二区三区 | 国产激情第一页 | 欧美久久久久久 | 99亚洲精品 | 亚洲第一成人影院 | 亚洲成人av | 情侣av| 国产美女在线精品免费 | 欧美色综合一区二区三区 | 亚洲欧美激情精品一区二区 | 免费国产一区二区视频 | 日韩高清三区 | 国产精品一级 | 99精品免费在线观看 | www.久| 国产在线精品一区二区 | 2021天天干夜夜爽 | 91社区在线观看 | 992tv人人草 久久精品超碰 | 超碰在线人人干 | 欧美一级片在线看 | 2018天天干天天操 | av黄色在线观看 | 亚洲精品电影网在线观看 | 五月激情六月婷婷 | 久久久久99| 国产精品久久 | 国产成人精品视频 | 黄网站免费观看 | 99精品视频一区二区三区 | 一区二区三区四区av |