?? ex8.asm
字號:
************************************************
* FileName: ex8.asm *
* Description: 急救車與交通燈實驗 *
* Copyright(C) SanZhi Electronic, Author Zpin *
************************************************
.title "ex8"
.global _c_int00
.mmregs
LED_ADDR .set 5008h
STATUS0 .set 00h
STATUS1 .set 01h
STATUS2 .set 02h
STATUS3 .set 03h
STATUS4 .set 04h
STA2_PRE_0 .set 05h
STA2_PRE_1 .set 06h
STA4_PRE_0 .set 07h
STA4_PRE_1 .set 08h
CURRENT_STA .set 60h
.data
;東西、南北 紅紅 綠紅 黃紅 紅綠 紅黃 空紅 綠紅 紅空 紅綠
;.word 0f00h,5a00h,5f00h,0a500h,0af00h,0a00h,5a00h,0500h,0a500h
.word 0f000h,0a500h,0f500h,5a00h,0fa00h,0a000h,0a500h,5000h,05a00h
;.word 0C300h,9600h,0D700h,6900h,0EB00h,08200h,9600h,04100h,06900h
DELAY .macro sec_tenth ;延時 sec_tenth/10 秒
STM sec_tenth-1,AR5
loop1? STM #09h,AR6
loop0? STM #49999,AR7
BANZ $,*AR7-
BANZ loop0?,*AR6-
BANZ loop1?,*AR5-
.endm
.sect ".vectors"
rst: B _c_int00
NOP
NOP
.space 15*4*16
int0: b bus_come
NOP
NOP
int1: nop
nop
nop
nop
int2: ;b bus_come
nop
nop
nop
nop
.space 13*4*16
.text
_c_int00
LD #0h,DP
STM #3000h,SP
SSBX INTM
SSBX SXM
STM #07FFFh,SWWSR ;IO總線外部等待時間14個周期
STM #01h,2Bh
STM #0h,CLKMD ;20MHz工作
tst BITF CLKMD,#1h
BC tst,TC
STM #1087h,CLKMD
RPT #0FFh
NOP
ST #0FFFFh,IFR
ORM #0001h,IMR
RSBX INTM
LD #40h,DP
LD STATUS0,T
PORTW STATUS0,LED_ADDR ;全部紅燈
DELAY #10 ;延時1秒
circle LD STATUS1,T
;nop
;nop
;nop
;nop
PORTW STATUS1,LED_ADDR ;南北紅燈、東西綠燈
;nop
;nop
;nop
;nop
DELAY #200 ;延時20秒
STM #2h,BRC
;nop
;nop
;nop
;nop
RPTB flash1
;nop
;nop
;nop
;nop
LD STA2_PRE_0,T
;nop
;nop
;nop
;nop
PORTW STA2_PRE_0,LED_ADDR
;nop
;nop
;nop
;nop
DELAY #3
LD STA2_PRE_1,T
;nop
;nop
;nop
;nop
PORTW STA2_PRE_1,LED_ADDR
;nop
;nop
;nop
;nop
DELAY #3
flash1 NOP ;南北綠燈閃3次、東西紅燈
LD STATUS2,T
PORTW STATUS2,LED_ADDR ;南北黃燈、東西紅燈
DELAY #30 ;延時3秒
LD STATUS3,T
PORTW STATUS3,LED_ADDR ;南北紅燈、東西綠燈
DELAY #200 ;延時20秒
STM #2h,BRC
RPTB flash2
LD STA4_PRE_0,T
PORTW STA4_PRE_0,LED_ADDR
DELAY #3
LD STA4_PRE_1,T
PORTW STA4_PRE_1,LED_ADDR
DELAY #3 ;南北紅燈、東西綠燈閃3次
flash2 NOP
LD STATUS4,T
PORTW STATUS4,LED_ADDR ;南北紅燈、東西黃燈
DELAY #30 ;延時3秒
B circle
bus_come
PSHM AR5
PSHM AR6
PSHM AR7
PORTW STATUS0,LED_ADDR ;急救車來,全部紅燈
DELAY #100 ;延時10秒
ST T,CURRENT_STA
PORTW CURRENT_STA,LED_ADDR ;恢復(fù)現(xiàn)場
POPM AR7
POPM AR6
POPM AR5
RETE
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -