新手求助MPLAB X 的调试

2024-12-01 17:09:46
推荐回答(1个)
回答(1):

#include
;****************************************
;实现逐个来点亮8个LED灯
;*****************************************
add equ 20h
delay1 equ 02h
delay2 equ 0ffh
delay3 equ 0ffh
K0 equ 21H
K1 equ 22H
K2 equ 23H

org 00h

main
nop
clrf PORTC
banksel TRISC ;可以根据寄存器地址所在的bank来自动生成STATUS的RP1,跟RP0块指令
clrf TRISC
clrf STATUS ;返回体0 或 BCF STATUS,RP0 因为add所在的地址是bank0快,所以要返回0块
movlw .8
movwf add
bsf STATUS,C ;置进位标志位为1,因循环移位是带进位循环的(也是带着1来左右移)

loop
rlf PORTC,1 ;执行后C自动清0
call delay
decfsz add,1
goto loop
goto main
;*************************************************
delay
movlw delay1
movwf 50h
movlw delay2
movwf 51h
movlw delay3
movwf 52h
decfsz 52h,1
goto $-1
decfsz 51h,1
goto $-4
decfsz 50h,1
goto $-9
return

end
不知道你是要C还是要汇编,不过你说在MPLAB上运行,所以给个流水灯的汇编给你先