⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex8.asm

📁 我第一次上传
💻 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	;恢复现场
		POPM AR7
		POPM AR6
		POPM AR5
		RETE

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -