STC15W系列模數轉換器寄存器


與ADC相關的寄存器有以下: 

P1ASF為P1口模擬功能控制寄存器(該寄存器是只寫寄存器,讀無效)

PS:只寫寄存器就是可以寫但是讀不出來,或者讀出來的值是不對的,隨機的.

 P1ASF格式如上:其功能是P1.0~P1.7八個端口對應是否作為模擬功能A/D使用。比如:P1ASF=0xff;   //將P1口作為模擬功能A/D使用

ADC控制寄存器ADC_CONTR

格式如下:

 ADC_POWER:ADC電源控制位(0關1開)

SPEED1、SPEED0是模數速度轉換控制位

ADC_FLAG:模數轉換器轉換結束標志。(A/D轉換完成后,ADC_FLAG=1,一定要用軟件清零)

ADC_START:模數轉換器(ADC)轉換啟動控制位(1開始轉換;0轉換結束)

CHS2、CHS1、CHS0作為模擬輸入通道選擇,比如:000 即P1.0作為A/D輸入來源;010 即P1.2作為A/D輸入來源;111 即P1.7作為A/D輸入來源...

故ADC_CONTR=0x8b;      //也就是10001011   ADC_POWER=1打開A/D轉換器電源;ADC_START=1啟動模擬轉換器ADC;CHS=011選擇P1^3作為A/D輸入使用

A/D轉換結果寄存器ADC_RES、ADC_RESL

特殊功能寄存器ADC_RES(A/D轉換結果寄存器高)和ADC_RESL(A/D轉換結果寄存器低)寄存器用於保存A/D轉換結果。

CKKO_DIV(PCON2)寄存器

格式如下:

 其中ADRJ位是A/D轉換結果寄存器(ADC_RES,ADC_RESL)的數據格式調整控制位。

當ADRJ=0時,ADC_RES【7:0】存放高8位結果,ADC_RESL【1:0】存放低2位ADC結果。

當ADRJ=1時,ADC_RES【1:0】存放高2位結果,ADC_RESL【7:0】存放低8位ADC結果。

Tx_Rx是串口1中斷廣播方式設置位,MCLKO_2為0則是P5.4對外輸出時鍾,為1則是P1.6

CLKS2、CLKS1、CLKS0

 如:CLK_DIV=0x20;        //即0010 0000     ADRJ=1——ADC_RES[1:0]存放高2位ADC結果,ADC_RESL[7:0]存放低8位ADC結果,CPU工作時鍾就是系統時鍾(未分頻)。

  CLK_DIV = 0X00;     //即0000 0000       ADRJ = 0    ADC_RES存放高八位結果

 中斷允許寄存器IE

EA:開放或禁止所有中斷。
ELVD:LVD中斷允許控制位。
EADC:ADC中斷允許控制位。
ES:開放或禁止串行通道中斷。
ET1:開放或禁止定時器1溢出中斷。
EX1:開放或禁止外部中斷源1。
ET0:開放或禁止定時器0溢出中斷。
EX0:開放或禁止外部中斷源0。 

1允許,0禁止(所以中斷寄存器各位的意義應該都明白了)

中斷優先級控制寄存器IP

 PADC:A/D轉換中斷優先級控制位。

當PADC = 0時,A/D轉換中斷為最低優先級中斷(優先級0)

當PADC = 1時,A/D轉換中斷為最高優先級中斷(優先級1)

(1)PPCA:PCA中斷優先級控制位。
1:PCA中斷為高優先級;0:PCA中斷為低優先級。
(2)PLVD:低電壓檢測中斷優先級控制位。
1:低電壓檢測中斷為高優先級;0:低電壓檢測中斷為低優先級。
(3)PADC:ADC中斷優先級控制位。
1:ADC中斷為高優先級;0:ADC中斷為低優先級
(4)PS:決定串行通道中斷優先級。PS=1,則編程為高優先級。
PT1:決定定時器1中斷優先級。
PT1=1,則編程為高優先級。PX1:決定外中斷1優先級。PX1=1,則編程為高優先級。
PTO:決定定時器0中斷優先級。PTO=1,則編程為高優先級。PXO:決定外中斷0優先級。PX0=1,則編程為高優先級。

 



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM