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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Trường ĐH. Bách <strong>Khoa</strong> TP.HCM <strong>Khoa</strong> KH & KTMT<br />

Start<br />

Main<br />

org 00020h ; Beginning of program EPROM<br />

CALL INIT_PORT<br />

CALL INIT_UART<br />

goto Main ; loop to self doing nothing<br />

INIT_PORT<br />

clrf LATB ; Clear PORTB output latches<br />

clrf TRISB ; Config PORTB as all outputs<br />

bcf TRISC,6 ; Make RC6 an output<br />

bsf TRISC,7 ; Make RC7 an input<br />

RETURN<br />

INIT_UART<br />

movlw 19h ; 9600 baud @4MHz<br />

movwf SPBRG<br />

bsf TXSTA,TXEN ; Enable transmit<br />

bsf TXSTA,BRGH ; Select high baud rate<br />

bsf RCSTA,SPEN ; Enable Serial Port<br />

bsf RCSTA,CREN ; Enable continuous reception<br />

bcf PIR1,RCIF ; Clear RCIF Interrupt Flag<br />

bsf PIE1,RCIE ; Set RCIE Interrupt Enable<br />

bsf INTCON,PEIE ; Enable peripheral interrupts<br />

bsf INTCON,GIE ; Enable global interrupts<br />

RETURN<br />

;************************************************************<br />

; Interrupt Service Routine<br />

IntVector<br />

btfss PIR1,RCIF ; Did USART cause interrupt?<br />

goto ISREnd ; No, some other interrupt<br />

movlw 06h ; Mask out unwanted bits<br />

andwf RCSTA,W ; Check for errors<br />

btfss STATUS,Z ; Was either error status bit set?<br />

goto RcvError ; Found error, flag it<br />

Bộ môn <strong>Kỹ</strong> Thuật <strong>Máy</strong> Tính 69 Thực hành Vi xử lý

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

Saved successfully!

Ooh no, something went wrong!