PDA

View Full Version : Delay Dùng Timer 0


tallht
17-07-2008, 09:25 AM
Processor 16f877a
Include <p16f877a.inc>
__config _xt_osc & _wdt_off & _cp_off & _boden_off & _lvp_off
;*****************************************
Banksel Trisd
Clrf Trisd
Banksel Portd
Loop Clrf Portd
Call Delay
Movlw 0xaa
Movwf Portd
Call Delay
Goto Loop
Delay Movlw B'10000000' ;khoi Dong Timer 0 Che Do Timer
Movwf Option_reg
Movlw B'10100000' ;cho Phep Timer 0 Ngat
Movwf Intcon
Btfss Intcon,tmr0if ;kiem Tra Co Ngat
Goto $-1 ;neu Bang 0 Thi Tiep Tuc Kiem Tra
Bcf Intcon,tmr0if ;xoa Co Tran
Return ;bang 1 Thi Quay Ve Ct Chinh
End

Em Dùng đoạn Code Trên để Tạo Trễ Làm Cho đèn Led Nhấp Nháy Trên Port D Của 16f877a .dịch Ra File Hex Thì Không Báo Lỗi Gì Nhưng Nạp Vào Proteus Thì Nó Không Nhấp Nháy Gì Hết.các đèn Led Chỉ Tối Thui Do Lệnh Clrf Lúc đầu Thôi?

tallht
17-07-2008, 09:36 AM
Em Cũng đã Viết Thêm đoạn Code Lưu Thanh Ghi W Và Status Trong Phần Delay Nó Vẫn Không Chạy đúng? Giúp Em Với Mấy Huynh

0903579509
17-07-2008, 01:49 PM
Bạn ơi, nên dùng luôn CCSC để viết code đi, đơn giản hơn nhiều, dùng ASM khó quá!

tallht
28-07-2008, 02:02 PM
nên tìm hiểu bằng asm trước sẽ hiểu được nhiều điều hơn đó pồ!

namqn
28-07-2008, 09:41 PM
Thanh ghi OPTION_REG nằm khác bank với thanh ghi PORTD. Code của bạn ở bài viết #1 không thay đổi được nội dung của OPTION_REG.

Thân,

tallht
29-07-2008, 01:04 AM
ah em hiểu rồi!