📄 traffix.asm
字号:
**************************************************************************
*交通灯实验
**************************************************************************
.mmregs
.def CodeEntry
.data
Data_DP:
LedValue: .word 00h
TrafficLed .set 2b00h
S_GRE .set 0001h
S_RED .set 0002h
W_GRE .set 0004h
W_RED .set 0008h
N_GRE .set 0040h
N_RED .set 0080h
E_GRE .set 0020h
E_RED .set 0010h
.text
CodeEntry:
.copy "set_dp.asm" ;初始化SP、DP
NS_Pass:
ST N_GRE|S_GRE|W_RED|E_RED, LedValue
PORTW LedValue, TrafficLed
LD #15000, A
CALL Delay
STM #3, AR0
NS_Pause:
ST N_GRE|S_GRE|W_RED|E_RED, LedValue
PORTW LedValue, TrafficLed
LD #1000, A
CALL Delay
ST W_RED|E_RED, LedValue
PORTW LedValue, TrafficLed
LD #1000, A
CALL Delay
BANZ NS_Pause, *AR0-
EW_Pass:
ST E_GRE|W_GRE|N_RED|S_RED, LedValue
PORTW LedValue, TrafficLed
LD #15000, A
CALL Delay
STM #3, AR0
EW_Pause:
ST E_GRE|W_GRE|N_RED|S_RED, LedValue
PORTW LedValue, TrafficLed
LD #1000, A
CALL Delay
ST N_RED|S_RED, LedValue
PORTW LedValue, TrafficLed
LD #1000, A
CALL Delay
BANZ EW_Pause, *AR0-
B NS_Pass
Delay:
PSHM AR0
PSHM AR1
STLM A, AR0
LOOP0: STM #12999, AR1 ;循环次数4000
LOOP1: BANZ LOOP1, *AR1- ;如果AR1不等于0,AR1减1,再判断
BANZ LOOP0, *AR0-
POPM AR1
POPM AR0
RET
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -