Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Timer. 2 16 位元上數計數器 Up Counter 以 TMRC 暫存器設定 TMRC (TM1 TM0 – TON TE PSC2 PSC1 PSC0) 三種工作模式 (TM1 TM0 控制 ) 溢位時 TF(INT0.5) 位元設為 1.

Similar presentations


Presentation on theme: "1 Timer. 2 16 位元上數計數器 Up Counter 以 TMRC 暫存器設定 TMRC (TM1 TM0 – TON TE PSC2 PSC1 PSC0) 三種工作模式 (TM1 TM0 控制 ) 溢位時 TF(INT0.5) 位元設為 1."— Presentation transcript:

1 1 Timer

2 2 16 位元上數計數器 Up Counter 以 TMRC 暫存器設定 TMRC (TM1 TM0 – TON TE PSC2 PSC1 PSC0) 三種工作模式 (TM1 TM0 控制 ) 溢位時 TF(INT0.5) 位元設為 1

3 3 TMRC 暫存器 TM1 TM0 - TON TE PSC2 PSC1 PSC0 Bit 7 6 5 4 3 2 1 0 Bit 7 6 0 0 未使用 0 1 計數模式 1 0 計時模式 1 1 脈衝寬度量測模式

4 4 Bit 5 未使用 Bit 4 TON 計數 / 計時控制位元 1 開始計數 0 停止計數 Bit 3 TE 計數 / 計時準位控制位元 1 計數時脈由 LOW -> HIGH 時加一 0 計數時脈由 HIGH -> LOW 時加一

5 5 Bit 2 0 (PSC2-PSC0) TMR 計數倍率位元 000F int =f sys 001F int =f sys /2 010F int =f sys /4 011F int =f sys /8 100F int =f sys /16 101F int =f sys /32 110F int =f sys /64 111F int =f sys /128

6 6 ;PROGRAM : 4-9.ASM (4-9.PRJ) ;FUNCTION: DISPLAY 0~9 FOR 7 SEG USING TMR CONTROL #INCLUDEHT46R23.INC.CHIPHT46R23 ;-------------------------------------------------------------------- MY_DATA.SECTION'DATA' ;== DATA SECTION == DEL1DB? COUNTDB? ;-------------------------------------------------------------------- SEG_PORTEQUPA;DEFINE 7-SEG PORT SEG_PORTCEQUPAC;DEFINE 7-SEG PORT ; CONTROL REG.

7 7 MY_CODE.SECTIONAT 0'CODE' ;== PROGRAM SECTION == ORG 00H ;HT-46RXX RESET VECTOR CLR SEG_PORTC;CONFIG SEG_PORT AS OUTPUT ;MODE MOVA,10000010B;CONFIG TMR 0 IN MODE 2(TIMER ;MODE) MOVTMRC,A ;fINT=fSYS/4 (4MHz/4) MOVA,LOW (65536-50000) MOVTMRL,A;SET TMR INITIAL VALUE ;LO-BYTE MOVA,HIGH (65536-50000) MOVTMRH,A;SET TMR INITIAL VALUE ; HI-BYTE

8 8 MAIN: MOVA,TAB_7_SEG MOVTBLP,A ;INITIAL POINTER START ADDRESS MOVA,10 MOVCOUNT,A;SET DATA COUNT OF TAB_7_SEG LOOP: TABRDLSEG_PORT ;READ TABLE AND SEND TO SEG_PORT CALL DELAY;DELAY TBLH*10mS INCTBLP;UPDATE TABLE POINTER SDZCOUNT;COUNT DOWN BY 1 JMPLOOP;JUMP IF NOT TABLE END JMPMAIN;RESTART

9 9 ;******************************************************************** ; Delay about DEL1*(TMR)*1uS IF PSC=010 ;******************************************************************** DELAY PROC MOVA,20 MOVDEL1,A;SET OUTER COUNTER SETTON;START 50mS TIMER COUNTING DEL_1:SNZTF;TIMER OVERFLOW? JMPDEL_1;NO, WAIT! CLRTF;YES, 50mS IS OVER. SDZDEL1;IS 1 SEC OVER? JMPDEL_1;NO. CLRTON;YES, STOP TMR. RET

10 10 DELAYENDP ORGLASTPAGE TAB_7_SEG: DC 00111111B ;7 SEG CODE FOR COMMOM CATHOD LED DC00000110B;CONNECT BIT 0~7 FOR SEGMENT A~H DC01011011B;LOW-BYTE FOR 7 SEG DISPLAY CODE DC 01001111B DC 01100110B DC01101101B DC 01111101B DC 00000111B DC 01111111B DC 01100111B END

11 11 延遲時間 =f int -1 x DEL1 (20) x 計數至溢位次數 F sys =4 MHz f int =F sys /4 延遲時間 =1us x 20 x 50000 =1 sec


Download ppt "1 Timer. 2 16 位元上數計數器 Up Counter 以 TMRC 暫存器設定 TMRC (TM1 TM0 – TON TE PSC2 PSC1 PSC0) 三種工作模式 (TM1 TM0 控制 ) 溢位時 TF(INT0.5) 位元設為 1."

Similar presentations


Ads by Google