Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 4.11 ADC. 2 ADC 數位類比轉換器 解析度 10 bit 準確度 9 bit 類比輸入 PB 轉換結果 D9-D0 存放在 ADRH,ADRL.

Similar presentations


Presentation on theme: "1 4.11 ADC. 2 ADC 數位類比轉換器 解析度 10 bit 準確度 9 bit 類比輸入 PB 轉換結果 D9-D0 存放在 ADRH,ADRL."— Presentation transcript:

1 1 4.11 ADC

2 2 ADC 數位類比轉換器 解析度 10 bit 準確度 9 bit 類比輸入 PB 轉換結果 D9-D0 存放在 ADRH,ADRL

3 3 ACSR 暫存器 Bit7:TEST, 不可使用 Bit6-2: 未使用 Bit1-0:(ADCS1,ADCS0) 為 A/D 轉換時脈選 擇位元 [00:fsys/2 01:fsys/8 10:fsys/32 11: 未定義 ]

4 4 ADCR 控制暫存器 Bit7:START A/D 轉換起始控制位元 0->1->0 A/D 轉換器開始轉換 0->1 A/D 轉換器回至重置狀態 Bit6:EOC’ 轉換完成狀態旗標 1 A/D 轉換器正在進行轉換 0 A/D 轉換器轉換完成

5 5 Bit 5-3: PCR2-PCR0, PB 控制位元 Pcr2-0 76543210 000pb7pb6pb5pb4pb3pb2pb1pb0 001pb7pb6pb5pb4pb3pb2pb1A0 010pb7pb6pb5pb4pb3pb2A1A0 011pb7pb6pb5pb4pb3A2A1A0 100pb7pb6pb5pb4A3A2A1A0 101pb7pb6pb5A4A3A2A1A0 110pb7pb6A5A4A3A2A1A0 111A7A6A5A4A3A2A1A0

6 6 Bit2-0: ACS2-0 類比通道選擇位元 ACS2-0 類比通道選擇位元 000A0 001A1 010A2 011A3 100A4 101A5 110A6 111A7

7 7 INTC0 控制暫存器 Bit7 6 5 4 3 2 1 0 - ADF TF EIF EADI ETI EEI EMI A/D 轉換完成 ADF=1 或 EOC’=0 或 EMI=1, EADI=1(A/D 中斷致能 ),CPU 跳至 00CH 位址

8 8 4.11 ;PROGRAM : 4-11.ASM ;FUNCTION: ADC DEMO PROGRAM #INCLUDEHT46R23.INC.CHIPHT46R23 ;-------------------------------------------------------------------- MY_DATA.SECTION'DATA' ;== DATA SECTION == DEL1 DB ? ;DELAY LOOP COUNT 1 DEL2 DB ? ;DELAY LOOP COUNT 2 DEL3DB ? ;DELAY LOOP COUNT 3 COUNTDB ? ;PITCH COUNT STACK_ADB? ;STACK BUFFER FOR A STACK_PSWDB? ;STACK BUFFER FOR PSW

9 9 SADCEQUADCR.7 ;DEFINE SADC AS ADC START BIT LED_PORTEQUPA;DEFINE LED_PORT LED_PORTCEQUPAC;DEFINE LED_PORT CONTROL REG. MY_CODE.SECTIONAT 0'CODE' ;== PROGRAM ; SECTION == ORG 00H ;HT-46RXX RESET VECTOR JMPSTART_ ORG0CH;HT-46RXX ADC INTERRUPT ;VECTOR JMPADC_INT

10 10 START_: CLRLED_PORTC;CONFIG PA AS OUTPUT MOVA,00001001B;ENABLE GLOBAL AND ADC ;INTERRUPT MOVINTC0,A MOVA,00000001B;SET A/D CONVERTER ; CLOCK SOURCE MOVACSR,A; = SYSTEM CLOCK/32 MOVA,00001000B;SET PB0 AS A/D CHANNEL MOVADCR,A; AND SELECT A0 FOR ADC ASC2-0=001; A0 通道 PCR2-PCR0=001;PB0 類比輸入通道

11 11 MAIN: SETSADC;RESET ADC CLRSADC;START ADC CONVERSION MOVA,5 MOVDEL1,A CALLDELAY;DELAY 100mS JMPMAIN

12 12 ;******************************************************************** ; ADC INTERRUPT SERVICE ROUTINE ;******************************************************************** ADC_INT: MOVSTACK_A,A;PUSH A MOVA,STATUS MOVSTACK_PSW,A;PUSH STATUS MOVA,ADRH;GET HIGH BYTE A/D ; RESULT MOVLED_PORT,A;SEND TO PA MOVA,STACK_PSW MOVSTATUS,A;POP STATUS MOVA,STACK_A;POP A RETI

13 13 ;******************************************************************** ; Delay about DEL1*10mS ;******************************************************************** DELAY PROC MOV A,30 MOV DEL2,A;SET DEL2 COUNTER DEL_2:MOVA,110 MOVDEL3,A;SET DEL3 COUNTER DEL_3: SDZ DEL3 ;DEL3 DOWN COUNT JMP DEL_3 SDZ DEL2 ;DEL2 DOWN COUNT JMP DEL_2 SDZDEL1;DEL1 DOWN COUNT JMPDELAY RET DELAYENDP END


Download ppt "1 4.11 ADC. 2 ADC 數位類比轉換器 解析度 10 bit 準確度 9 bit 類比輸入 PB 轉換結果 D9-D0 存放在 ADRH,ADRL."

Similar presentations


Ads by Google