![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#1 |
Đệ tử 1 túi
Tham gia ngày: Sep 2007
Bài gửi: 11
: |
Timer của 16F887
Viết Chương trình chạy Timer0:
goto init org 0x0004 bcf INTCON, 2 retfie ;========= init banksel TRISA movlw 0x00 movwf OPTION_REG movlw 0xA0 movwf INTCON nop goto $+0x00 END ;===================== Khi chay Debugger MPLAB SIM hoặc Proteus VSM thì theo dõi TMR0 trong tab Watch thì chạy bình thường. Nhưng khi chạy Debugger PICkit 2 (chạy có PIC trên mạch), thì TMR0 nhảy loạn xạ, không theo step. bit INTCON, 2 không xóa được ( nó được tự động set khi gán giá trị cho INTCON). Ngắt vẫn xảy ra, nhưng không theo lúc TMR0 tràn (bit INTCON, 2 lúc nào cũng set). Chạy thử trên EasyPIC-PRO Dev. KIT kết quà cũng vậy. Như vậy là do lỗi PIC hay PICkit2. |
![]() |
![]() |
![]() |
|
|