|
Tài trợ cho PIC Vietnam |
Bootloaders - Programmers - Debuggers - Emulators Những công cụ cần thiết để lập trình cho PIC/dsPIC |
|
Ðiều Chỉnh | Xếp Bài |
|
11-08-2011, 03:03 PM | #1 |
Nhập môn đệ tử
Tham gia ngày: Nov 2010
Bài gửi: 1
: |
ngắt timer0
mình đọc đoạn này thấy rất hợp lý mà sao nó không chay, mấy pro giúp đở giùm
processor 16f877a include <p16f877a.inc> __CONFIG _CP_OFF&_WDT_OFF&_BODEN_OFF&_PWRTE_ON&_HS_OSC&_WRT _OFF&_LVP_OFF&_CPD_OFF cblock 0x020; khai báo chung các dia chi mot lan, bat dau tu 0x20, bien tiep theo la 0x21.... count ;co dia chi 0x20 temp ;co dia chi 0x21 w_save ;............. status_save ;............. endc ;************************************************* ********* ORG 0x00 GOTO main ; BAT DAU CHUONG TIRNH CHINH ORG 0X04 ; DIA CHI VECTOR NGAT TIMER0 MOVWF w_save ;chep noi dung trong thanh W sang thanh w_save MOVF STATUS,0 ;chep noi dung thanh status vao thanh w, luu vao thanh w BTFSC INTCON,T0IF ;kiem tra bit T0IF, neu bit nay =0 thi bo qua lenh ke tiep GOTO isr_timer0 ; nha den ct con isr_timer0 end_isr ; CHUONG TRINH PHUC VU NGAT MOVF status_save,0 ; KHI KO MOVWF STATUS MOVF w_save,0 RETFIE main BANKSEL OPTION_REG MOVLW b'00000111' ; CHO PHEP NGAT TOAN CUC MOVWF OPTION_REG BANKSEL TRISB CLRF TRISB BANKSEL PORTB CLRF PORTB BANKSEL INTCON MOVLW b'111000000' MOVFW INTCON MOVLW d'250' MOVWF temp MOVWF count BSF INTCON,T0IF ; EP NGAT GOTO $ ;************************************************* * isr_timer0 BCF INTCON,T0IF; xoa co ngat MOVLW 0xb2 ;dung de dem thoi gian MOVWF TMR0 DECFSZ temp,1 GOTO end_isr MOVLW d'250' MOVWF temp MOVF count,0 CLRF PORTB CALL table MOVWF PORTB DECFSZ count,1 GOTO end_isr MOVLW d'14' MOVWF count GOTO end_isr ;************************************************* * table ADDWF PCL,1 RETLW 0X01 RETLW 0X02 RETLW 0X04 RETLW 0X08 RETLW 0X10 RETLW 0X20 RETLW 0X40 RETLW 0X80 RETLW 0X40 RETLW 0X20 RETLW 0X10 RETLW 0X08 RETLW 0X04 RETLW 0X02 end |
|
|