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

MOVLW .3<br />

MOVWF COL<br />

CALL GET_KEY<br />

MOVFF KeyReg1,W<br />

CPFSEQ KeyReg2<br />

GOTO EXIT_SCAN_BUTTON<br />

CPFSEQ KeyReg3<br />

GOTO EXIT_SCAN_BUTTON<br />

MOVFF KeyReg,W<br />

CPFSEQ KeyReg1<br />

GOTO Scan_button1<br />

GOTO EXIT_SCAN_BUTTON<br />

Scan_button1<br />

MOVFF KeyReg1,KeyReg<br />

CALL Button_process<br />

EXIT_SCAN_BUTTON<br />

RETURN<br />

Bước 8: Như giải <strong>thuật</strong> trên nói là cứ mỗi 10ms thì ta đọc dữ liệu một lần,<br />

để cho điều này được thực hiện dễ dàng thì ta phải dùng đến interrupt timer. Ta<br />

khởi tạo một interrupt timer cứ sau 10ms thì interrupt một lần. Để làm được điều<br />

này các bạn có thể xem lại chương timer để có thể làm việc một cách dễ dàng.<br />

Ở đây chỉ giới thiệu cho các bạn là hàm Timer0_routine, hàm này được gọi<br />

trong interrupt timer <strong>và</strong> trong hàm này ta gọi hàm Scan_button ở trên.<br />

TIMER0_ROUTINE<br />

BCF INTCON,TMR0IF<br />

BCF T0CON,TMR0ON<br />

MOVLW 0x3c<br />

MOVWF TMR0H<br />

MOVLW 0xaf<br />

MOVWF TMR0L<br />

BSF T0CON,TMR0ON<br />

CALL SCAN_BUTTON<br />

RETURN<br />

5.3 Bài tập<br />

Cải tiến hàm chống rung phím, khi nhấn đè 1 phím thì phải sau 1 thời gian<br />

TimeOutForKey thì mới tích cực phím nhấn đó.<br />

Viết ứng dụng đồng hồ casio đơn giản (hiển thị giờ, ngày, cho phép chỉnh sửa<br />

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

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

Saved successfully!

Ooh no, something went wrong!