Dưới đây là chương trình dịch trái (phải) PortB sử dụng lệnh RRF(RLF):
Code:
title "leddichtutraiquaphai_Port_B.asm"
processor p16f877a
include <P16f877a.inc>
__CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC
;=========================================================================
; Chuong trinh chinh
;=========================================================================
count1 equ 0x20
counta equ 0x22
countb equ 0x23
org 0x000
;-------------------------------------------------------------
;khoi tao Port B
;------------------------------------------------------------
banksel TRISB
clrf TRISB
banksel PORTB
movlw b'00000001'
movwf PORTB
loop call delay100ms;
rlf PORTB,1
goto loop
;-----------------------------------------------------------------
;chuong trinh delay
;-----------------------------------------------------------------
delay100ms ; chuong trình con delay 100 ms
MOVLW d'100'
MOVWF count1
d1
MOVLW 0xC7
MOVWF counta
MOVLW 0x01
MOVWF countb
delay_0
DECFSZ counta,1
GOTO $+2
DECFSZ countb,1
GOTO delay_0
DECFSZ count1,1
GOTO d1
RETURN
;----------------------------------------------------------------
end
Mô tả chương trình:
- Led sáng sẽ dc dịch từ PB0-->PB7 và sẽ tắt hoàn toàn và bắt đầu lại từ đầu.
Câu hỏi dc đặt ra:
-Muốn kiểm tra cờ C thì làm như thế nào?
- Có cách nào để led chạy liên tục PỎTB ko bi tắt hoàn toàn khi 1 dc chuyển vào cờ C?
Mong các bác có thể giúp đỡ những người mới học như tụi em dc ko?
Cảm ơn các bác!