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
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ý