📄 allleds16f88.asm
字号:
; WARNING: This program assumes you have some leds connected (with resistors) to some pins;
; Do not tie any pins directly to Vdd or GND when running this program;
; if by accident one is connected, and configured as output, it will be damaged.
LIST P=16F88;, F=INHX8M
#include "p16f88.inc"
__CONFIG _CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_ENABLE_OFF & _CPD_OFF & _LVP_OFF & _BODEN_ON & _MCLR_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC
__CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF
CBLOCK 0x20
cnt1
cnt2
cnt3
ax
ENDC
ORG 0x0000
clrf STATUS
movlw 0x00
movwf PCLATH
goto init
;************ initial *******************
init
BANKSEL PORTA ; select bank of PORTA
CLRF PORTA ; Initialize PORTA by clearing output data latches
CLRF PORTB
BANKSEL ANSEL ; Select Bank of ANSEL
CLRF ANSEL ; as digital inputs
CLRF TRISA
CLRF TRISB
BSF PORTB, 2 ; configure UART RX as input, not to collide with MAX232
; !! also any pins connected to Vdd or GND should be configured as inputs, or else ...
BANKSEL PORTA ; select bank of PORTA
start
movlw d'50'
call Delay
clrf PORTA
movlw 0xff
movwf PORTB
movlw d'50'
call Delay
movlw 0xff
movwf PORTA
clrf PORTB
goto start
Delay ;depends on W parameter 1..255
movwf cnt1
NewD1
movlw d'255'
movwf cnt2
NewD2
movlw d'255'
movwf cnt3
NewD3
decfsz cnt3
goto NewD3
decfsz cnt2
goto NewD2
decfsz cnt1
goto NewD1
return
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -