THỰC HÀNH VI XỬ LÝ - Khoa Khoa học và Kỹ thuật Máy tính
THỰC HÀNH VI XỬ LÝ - Khoa Khoa học và Kỹ thuật Máy tính
THỰC HÀNH VI XỬ LÝ - Khoa Khoa học và Kỹ thuật Máy tính
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Trường ĐH. Bách <strong>Khoa</strong> TP.HCM <strong>Khoa</strong> KH & KTMT<br />
;===========================================;<br />
; Initializing timer 0: 16BIT<br />
;===========================================;<br />
;to calculate the accurately timing scheduling of timer 0.<br />
;we have to know something<br />
;1. External clock: 4Mhz (this ex)<br />
;2. Timer0 Prescaler: 1/2 (this ex)<br />
;cycle of timer0 = 1/((Fexternal/4)/2) = 0.5us<br />
INIT_TIMER0<br />
BSF RCON,IPEN ;enable priority interrupts.<br />
BSF INTCON2,TMR0IP<br />
BSF INTCON,TMR0IF<br />
BSF INTCON,TMR0IE<br />
BSF INTCON,GIEH<br />
BSF INTCON,GIEL<br />
CLRF T0CON<br />
MOVLW 0x3c<br />
MOVWF TMR0H<br />
MOVLW 0xAF<br />
MOVWF TMR0L<br />
BSF T0CON,TMR0ON<br />
RETURN<br />
ISR_HIGH ; high priority isr<br />
BTFSC INTCON,TMR0IF<br />
GOTO ISR_TIMER0_HIGH<br />
ISR_TIMER0_HIGH<br />
CALL TIMER0_ROUTINE<br />
GOTO EXIT_ISR_HIGH<br />
EXIT_ISR_HIGH<br />
RETFIE<br />
;===============================================;<br />
; interrupt service routine for low priority interrupts<br />
;===============================================;<br />
ISR_LOW<br />
BTFSC INTCON,TMR0IF<br />
GOTO ISR_TIMER0_LOW<br />
ISR_TIMER0_LOW<br />
CALL TIMER0_ROUTINE<br />
GOTO EXIT_ISR_LOW<br />
EXIT_ISR_LOW<br />
RETFIE<br />
Bộ môn <strong>Kỹ</strong> Thuật <strong>Máy</strong> Tính 47 Thực hành Vi xử lý