ngocnam1234536
19-10-2010, 03:11 PM
Xin mọi người giúp tôi với. Tôi viết 1 đoạn code cho PIC6F877A có sử dụng 2 lệnh RRF và RLF để điều khiển PORTA nhưng khi mô phỏng trên proteus thì mạch chạy không đúng như mong muốn.
Đoạn code như sau:
;========================================;
;CHUONG TRINH CHINH;
;========================================;
PROCESSOR 16F877A
INCLUDE <P16F877A.INC>
ORG 0X00
STATUS EQU 03H
OPTION_REG EQU 81H
PORTA EQU 05H
TRISA EQU 85H
BCF STATUS,6
BSF STATUS,5
MOVLW B'000000'
MOVWF TRISA
BCF STATUS,5
GOTO START
START
MOVLW B'001100'
MOVWF PORTA
LOOP
CALL DELAY
RLF PORTA,0
GOTO LOOP
DELAY
LOOP1 DECFSZ OPTION_REG,1
GOTO LOOP1
RETURN
GOTO START
END
Còn đây là mạch trên proteus:
Đoạn code như sau:
;========================================;
;CHUONG TRINH CHINH;
;========================================;
PROCESSOR 16F877A
INCLUDE <P16F877A.INC>
ORG 0X00
STATUS EQU 03H
OPTION_REG EQU 81H
PORTA EQU 05H
TRISA EQU 85H
BCF STATUS,6
BSF STATUS,5
MOVLW B'000000'
MOVWF TRISA
BCF STATUS,5
GOTO START
START
MOVLW B'001100'
MOVWF PORTA
LOOP
CALL DELAY
RLF PORTA,0
GOTO LOOP
DELAY
LOOP1 DECFSZ OPTION_REG,1
GOTO LOOP1
RETURN
GOTO START
END
Còn đây là mạch trên proteus: