您的位置:首页 > 其它

STM8S103F3P6自带LED灯驱动汇编

2017-08-10 14:45 302 查看
STM8S103F3P6自带LED灯的闪烁代码,该灯GND接在STM8的PB5引脚,通过该代码将了解到如何正确的操作GPIO,部分操作寄存器地址由查询手册得来



                                                                      图:STM8SF103Fx引脚定义

stm8/

#include "mapping.inc"
PB_ODR   EQU    $5005
PB_IDR   EQU    $5006
PB_DDR   EQU    $5007
PB_CR1   EQU    $5008
PB_CR2   EQU    $5009
PD_ODR   EQU    $500f      ;EQU 相类似define,使左边等于右边
PD_IDR   EQU    $5010
PD_DDR   EQU    $5011
PD_CR1   EQU    $5012
PD_CR2   EQU    $5013

stack_start.w EQU $stack_segment_start
stack_end.w EQU $stack_segment_end

segment 'rom'
main.l
; initialize SP
ldw X,#stack_end   ;LDW : load this address saved data to X,LD: load data to X

ldw SP,X;setting stack pointer

LD A,#40   ;0100 0000  PB5
LD PB_DDR,A
LD A,#40
LD PB_CR1,A ;set output mode
LD A,#00
LD PB_CR2,A; clear input

MAIN_LOOP.L
LD A,#40
LD PB_ODR,A ;set output register PB5
LD A,#100
CALL DELAY_MS

LD A,#00
LD PB_ODR,A
LD A,100
CALL DELAY_MS

JRA MAIN_LOOP

; NAME:  DELAY_MS
; BRIEF: DELAY SOME TIME
DELAY_MS.L
PUSH A  ;SAVE A TO STACK
LD A,#250

DELAY_MS_1.L
NOP
NOP
NOP
NOP
NOP
DEC A
JRNE DELAY_MS_1
;LOOP END
POP A  ;READ STACK AND SAVE TO A
DEC A
JRNE DELAY_MS
RET

end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: