📄 smxs.asm
字号:
.title "ex9"
.global _c_int00
.mmregs
SM_ADDR .set 1003h ;八个LED数码管的I/O地址
SM_DATA .set 60h ;段码在数据线的高4位,位码在数据线的次高4位.
;在CPLD模块中程序为DEMO程序的情况下,段码显示已译码,比如:要显示7,
;只要往数据线的高4位发7即可.位码为0-7,在次高位数据线对应的数值也为0-7.
.sect ".vectors"
reset: B _c_int00
NOP
NOP
.space 31*4*16
.text
_c_int00:
LD #0h,DP ;设置数据页指针
STM #2000h,SP ;设置堆栈指针
RSBX INTM
STM #07FFFh,SWWSR
SSBX XF
ST #1007h,CLKMD ;工作在20MHz
RPT #0FFh
NOP
STM #0ffffh,IFR
ORM #000h,IMR
RSBX SXM
aaa nop
CALL LED07 ;显示0到7
CALL LED8F ;显示8到F
b aaa
LED8F ST #8000h,SM_DATA
ST #07H, AR3
WRDENG: PORTW SM_DATA,SM_ADDR ;8-f
;RPT #10000 ; 原程序这两句没有用。
;NOP
ST #02fffH,AR6
call delay
;"8"-#8000H ,"9"-#9100H,"A"-#A200H,"B"-#B300H
;"C"-#C400H ,"D"-#D500H,"E"-#E600H,"F"-#F700H
; 它们由硬件设计确定的。
ADDM #1100H,SM_DATA ;向数码管口地址写位码,显示
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -