PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   MPASM (http://www.picvietnam.com/forum/forumdisplay.php?f=34)
-   -   Giúp Code (http://www.picvietnam.com/forum/showthread.php?t=4362)

maitruccucdao 24-06-2009 07:07 AM

Giúp Code
 
Bài này dùng ngắt timer1, TẠO XUNG VUÔNG
xem dùm mình 2 bài viết này đâu khác gì nhau lắm, nhưng tại sao một bài thì chạy, một bày thì không??
BÀI CHẠY , CHO XUẤT XUNG VUÔNG Ở PORTD VỊ TRÍ 0 HOẶC PORTB,VỊ TRÍ 0
Code:

PROCESSOR 16F877A
#INCLUDE <P16F877A.INC>
        ORG        0X0004
        MOVLW        B'00000001'
        XORWF        PORTD,1
        BCF                PIR1,0
        RETFIE
        ORG                0X0000       
        GOTO                MAIN
        ORG                0X050
MAIN
        BSF                STATUS, 5
        BCF                STATUS, 6
        BCF                TRISD,0
        BCF                STATUS, 5
        BCF                  PORTD,0

        BSF                INTCON,7
        BSF                INTCON,6
        BSF                STATUS,5
        BSF                PIE1,0
        BCF                STATUS,5
        MOVLW        B'00100000'
        MOVWF        T1CON
        MOVLW        0XFE
        MOVWF        TMR1H
        MOVLW        0X0B
        MOVWF        TMR1L
        BSF                T1CON,0
LOOP
        BTFSS        PIR1,0
        GOTO        LOOP
        GOTO        $
        END

BÀI KHÔNG CHẠY, CHO XUẤT XUNG VUÔNG Ở VỊ TRÍ KHÁC CHỈ THAY THÀNH PORTD, 1,2,3...
Code:

ORG        0X0004
        MOVLW        B'00000001'
        XORWF        PORTD,1
        BCF                PIR1,0
        RETFIE
        ORG                0X0000       
        GOTO                MAIN
        ORG                0X050
MAIN
        BSF                STATUS, 5
        BCF                STATUS, 6
        BCF                TRISD,3
        BCF                STATUS, 5
        BCF                  PORTD,3

        BSF                INTCON,7
        BSF                INTCON,6
        BSF                STATUS,5
        BSF                PIE1,0
        BCF                STATUS,5
        MOVLW        B'00100000'
        MOVWF        T1CON
        MOVLW        0XFE
        MOVWF        TMR1H
        MOVLW        0X0B
        MOVWF        TMR1L
        BSF                T1CON,0
LOOP
        BTFSS        PIR1,0
        GOTO        LOOP
        GOTO        $
        END

Nhờ mọi người giúp đỡ.

phandinh 24-06-2009 09:07 PM

Bạn xem lại chương trình ngắt xem có thể giải quyết dc ko .

maitruccucdao 25-06-2009 08:41 PM

Mình đã xem, nhưng không phát hiện chổ nào là lỗi, nên mình mới post lên đây nhờ mọi người xem dùm. không biết do bài viết của mình nó thiếu sót chổ nào hay tại vì sao?

phandinh 25-06-2009 11:51 PM

Cụ thể hơn :
Trong chương trình ngắt, bạn thay lệnh: MOVLW B'00000001'
bằng lệnh: MOVLW B'00001000'

maitruccucdao 26-06-2009 08:23 PM

A, hiểu rồi, cám ơn bạn thật nhiều. Thì ra là vậy. Vậy mà mình nghĩ không ra.

maitruccucdao 26-06-2009 08:24 PM

Vậy mà nghĩ mãi không ra thật hết nói!


Múi giờ GMT. Hiện tại là 02:12 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam