void ADC0_Init (void){REF0CN = 0x0E; // VDD作為基準電壓,啟用內(nèi)部溫度傳感器AMX0P = 0x10; // 10是P3.0,試過07(1.7)和1E(溫度),都沒問題ADC0CF = 0xFC; // 11111,32分頻? (*表示分頻數(shù)-1=31) D2為1,左對齊AMX0N = 0x1F; // 單端方式ADC0CN = 0xC2; // T2溢出作為啟動信號EIE1 |= 0x08; // 開中斷}void System_Init (void){PCA0MD &= ~0x40; OSCICN |= 0x03; Port_Init (); Timer_Init (); ADC0_Init ();}void DelayMS(uint x){uchar i;while(x--){for(i=120;i>0;i--);}}void main(void){System_Init (); lcd_init();clr_screen();DelayMS(100);lcd_pos(0,0);disp_chinese(hang1);lcd_pos(1,0);disp_chinese(hang2);lcd_pos(2,0);disp_chinese(hang3);lcd_pos(3,0);disp_chinese(hang4);EA = 1;while (1){led0=~led0;DelayMS(5500);}}測試結(jié)果:
本文引用地址:http://butianyuan.cn/article/201611/323298.htm1、用開發(fā)板上的電位器,可以讓高位結(jié)果在0~255之間變化
2、用溫度傳感器,室溫下顯示高位為65,*近筆記本風扇數(shù)秒后變成66,說明溫度有變化,因為是高位,不明顯,也沒計算。
3、用全新的南孚電池一節(jié),顯示穩(wěn)定的121。
____________________________________________________________________________
一、修改程序,將10位數(shù)字量轉(zhuǎn)換成0~1023顯示在屏幕上
*用變位器,可以實現(xiàn)1~1023的變化,1和0之間無法穩(wěn)定,直接接地也無法顯示0
*用一節(jié)全新電池,顯示485,VDD為3V,偏差不大。
二、再修改程序,將正輸入設(shè)為溫度傳感器
*顯示263,稍微加熱后變成265,仍然覺得不夠明顯
*263對應(yīng)電壓約770mv,根據(jù)公式換算溫度是負數(shù)。。。。
在筆記本散熱口放了一會升到268,還是低!
評論