PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > MPASM

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Tìm Kiếm Bài Trong Ngày Ðánh Dấu Ðã Ðọc Vi điều khiển

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
Prev Previous Post   Next Post Next
Old 22-12-2007, 10:17 AM   #1
uydanh
Đệ 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
Trong chương trình phục vụ ngắt ở 0004h. Em có viết đoạn chương trình sau :
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
Đoạn chương trình trên em viết hơi "loằng ngoằng", chỉ để chứng tỏ một điều rằng : ngắt timer1 ở trên chỉ xảy ra có một lần, nghĩa là đoạn kích timer1 chạy lại trong chương trình phục vụ ngắt không hoạt động.
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
uydanh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 

Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 07:43 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam