|
Tài trợ cho PIC Vietnam |
MPASM Lập trình bằng hợp ngữ là một việc làm vô cùng vất vả, tuy nhiên, để hiểu và làm việc với vi điều khiển, hợp ngữ trở thành một công cụ khá đắc lực ... |
|
Ðiều Chỉnh | Xếp Bài |
22-12-2007, 10:17 AM | #1 |
Đệ tử 4 túi
Tham gia ngày: Jan 2007
Bài gửi: 79
: |
Chương trình ngắt cho timer1 thế này mà chạy không được !
Chào mọi người!
Em có đoạn khai báo ngắt timer1 như sau trong chương trình đồ án của mình: Code:
CLRF T1CON CLRF INTCON CLRF TMR1H CLRF TMR1L BSF STATUS,RP0 CLRF PIE1 BSF PIE1,TMR1IE BCF STATUS,RP0 CLRF PIR1 MOVLW 0X00 MOVWF T1CON MOVLW 0XC3 MOVWF TMR1H MOVLW 0X50 MOVWF TMR1L BSF T1CON,TMR1ON BSF INTCON,TMR1IE BSF INTCON,PEIE BSF INTCON,GIE Code:
BTFSS PIR1,TMR1IF GOTO exit_int BCF T1CON,TMR1ON CLRF TMR1L CLRF TMR1H MOVLW 0XC3 MOVWF TMR1H MOVLW 0X50 MOVWF TMR1L BSF T1CON,TMR1ON BCF PIR1,TMR1IF DECFSZ demtimer1,1 GOTO tiep1 GOTO tiep2 tiep1: MOVLW B'10100110' MOVWF PORTB MOVLW D'20' MOVWF demtimer1 GOTO exit_int tiep2: MOVLW B'11000110' MOVWF PORTB exit_int MOVF FSR_save,W MOVWF FSR MOVF PCLATH_save MOVWF PCLATH SWAPF STATUS_save,W MOVWF STATUS SWAPF W_save,1 SWAPF W_save,0 RETFIE Cũng chương trình trên, em copy ra thành một chương trình riêng biệt thì chạy tốt. Em không biết có những yếu tố nào làm cho việc kích khởi timer1 hoạt động lại trong chương trình phục vụ ngắt "không bao giờ" hoạt động được. Rất mong được sự hướng dẫn as soon as possible của mọi người. Chân thành cảm ơn. D. À quên, biến demtimer1 em đã khai báo trước bằng 20 thay đổi nội dung bởi: uydanh, 22-12-2007 lúc 10:20 AM. Lý do: Quên chú thích biến demtimer1 |
Ðiều Chỉnh | |
Xếp Bài | |
|
|