21.07.2013 Views

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

SHOW MORE
SHOW LESS

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ý

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!