![]() |
|
Tài trợ cho PIC Vietnam |
PIC - Thiết kế và Ứng dụng Ý tưởng cho các sản phẩm sử dụng PIC/dsPIC và các sản phẩm của Microchip |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
|
![]() |
#1 |
Đệ tử 2 túi
Tham gia ngày: Nov 2005
Bài gửi: 39
: |
ví dụ trong chương trình sử dụng ngắt Timer0, Dùng thạch anh trong Chip = 4Mhz.
;--------------------------------------------------------------------- list p=pic16f627A, r=dec #include <p16f627A.inc> #include <Comm.h> __CONFIG _BODEN_OFF & _CP_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_CLKOUT & _LVP_OFF & _MCLRE_OFF atris = 0x00 btris = 0x00 ;Files define org 0x0 ; Khi reset chip goto Init org 0x4 ; Địa chỉ ngắt Timer0 nop clrwdt ; cấm WD btfsc pir1,tmr1if call T1Int ; Có cờ tràn Timer1 bcf intcon,tmr0if ; Xóa cờ ngắt Timer0 T0End retfie ; Kết thúc chương trình ngắt Timer0 ;--------------------- T1Int bcf pir1,tmr1if movlw 0xff xorwf portb,f ; 8 Led nhấp nháy với tần số ~ 1Hz return ;--------------------- ;--------------------- Init call PortInit call TimerInit Loop goto Loop ;---------------------- ;---------------------- PortInit call rBank0 movlw 0x7 movwf cmcon ; All Pin are digital movlw 0xf movwf pcon call rBank1 movlw 0x80 movwf option_reg ;Timer0 Interrupt ~ 0.5 ms movlw atris movwf trisa movlw btris movwf trisb goto rBank0 ;------------------------ TimerInit movlw 0xa0 movwf intcon ; Ngắt Timer0 movlw 0x31 movwf t1con ; Tràn Timer1 = 0,5s return ;------------------------- ;---------------------------- rBank0 bcf status,rp0 bcf status,rp1 return ;--------------------- rBank1 bsf status,rp0 bcf status,rp1 return ;--------------------- end ;---------------------- |
![]() |
![]() |
![]() |
|
|