Trích:
Nguyên văn bởi maitruccucdao
Mỗi lần post lên đây là mỗi lần thấy quá tệ, nhưng lại phát hiện ra những điều đơn giản mình chưa biết. Mong mọi người giúp đỡ.
Giúp mình sửa cos ASM này với. Mình làm thử đèn cầu thang bằng các lệnh btfss... đơn giản nhưng làm lâu rồi, mở ra sửa tới sửa lui vẫn không chạy?....
Code:
PROCESSOR 16F877A
#INCLUDE <P16F877A.INC>
ORG 0X0000
BCF STATUS,6
BCF STATUS,5
CLRF PORTA
CLRF PORTB
BSF STATUS,5
BCF TRISB,0
BSF TRISA,0
BSF TRISA,1
BCF STATUS,5
MAIN
BTFSS PORTA,0
GOTO LOOP
BTFSS PORTA,1
GOTO LOOP1
GOTO MAIN
LOOP
BTFSS PORTA,0
GOTO LOOP
GOTO KIEMTRA
LOOP1
BTFSS PORTA,1
GOTO LOOP1
GOTO KIEMTRA
KIEMTRA
BTFSS PORTB,0
GOTO ON
GOTO OFF
OFF
BCF PORTB,0
GOTO MAIN
ON
BSF PORTB,0
GOTO MAIN
END
Mình làm mãi mà cái portb nó vẫn không sáng lên khi mình nhấn nút.
|
code bạn viết không có chống phần chống dội của phím nhấn.
bạn không cấu hình cho pic.
bạn tham khảo phần code sau tôi đã mô phỏng chạy tốt:
PROCESSOR 16F877A
#INCLUDE <P16F877A.INC>
__CONFIG 0x3F62;CAU HINH CHO PIC
CBLOCK 0x20
TAM
ENDC
ORG 0X0000
BCF STATUS,6
BCF STATUS,5
CLRF PORTA
CLRF PORTB
BSF STATUS,5
MOVLW B'00000110';DAT PORTA VA PORTE LA I/O
MOVWF ADCON1
MOVLW B'00000011'
MOVWF TRISA
BCF TRISB,0
BCF STATUS,5
MAIN
BTFSS PORTA,0
GOTO LOOP
BTFSS PORTA,1
GOTO LOOP1
GOTO MAIN
LOOP
CALL CHONG_RUNG_PHIM
BTFSS PORTA,0
CALL CO_PHIM_NHAN
GOTO MAIN
LOOP1
CALL CHONG_RUNG_PHIM
BTFSS PORTA,1
CALL CO_PHIM_NHAN_1
GOTO MAIN
CO_PHIM_NHAN
CALL KIEMTRA
BTFSS PORTA,0;CHO_PHIM_NHA
GOTO $-1
CALL CHONG_RUNG_PHIM
RETLW .00
CO_PHIM_NHAN_1
CALL KIEMTRA
BTFSS PORTA,1;CHO_PHIM_NHA
GOTO $-1
CALL CHONG_RUNG_PHIM
RETLW .00
KIEMTRA
BTFSS PORTB,0
GOTO ON
GOTO OFF
OFF
BCF PORTB,0
RETLW .00
ON
BSF PORTB,0
RETLW .00
CHONG_RUNG_PHIM
MOVLW .255
MOVWF TAM
DECFSZ TAM,1
GOTO $-1
RETLW .00
END