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

📄 新的1.txt

📁 用中断来控制急救车到达的交通信号灯控制实验
💻 TXT
字号:
	ORG	00H
        LJMP  START
        ORG     03H       ;INTO(上面有一横杠)外部中断向量入口地址
     	LJMP    INT00
START:  MOV     SP,#60H	  ;堆栈的入口地址        
	SETB    EX0     ;换INTO(上面有一横杠)中断有效;外部中断0为允许位,EX0=0,禁止外部中断0;EX0=1,允许外部中断0;由INT0(P3.2)                          ;脚输入
	SETB   IT0	;IT0=0;电平触发方式;即INTO(上面有一横杠)低电平有效;IT0=1;边沿触发方式;即下降沿有效;
	SETB    EA	;总中断允许控制位;EA=0,单片机禁止所有中断;EA=1,单片机开放中断,但是每个中断源的中断是否
			  ;开发还需要由自己的控制位来决定
	LCALL	S00	;初始状态0;红灯都亮
MAIN:	LCALL	S10	;状态1;南北绿灯亮,东西红灯亮
	LCALL	S20	;状态2南北绿灯灭,转黄灯闪三次,东西红灯继续亮
	LCALL	S30	;状态3南北红灯亮,东西绿灯亮
	LCALL	S40	;状态4南北红灯继续亮,东西绿灯灭,转黄灯闪三次
	LJMP	MAIN	;重复执行
S00:	MOV	R0,#00H ;P1口清零
	MOV	P1,R0
S01:	MOV	R0,#89H
	MOV	P1,R0
	LCALL	DELAY1S
	RET
S10:	MOV	R6,#5	;状态1子程序,亮5S
S11:	MOV	R0,#8AH	;南北绿灯亮,东西红灯亮	
	MOV	P1,R0
	LCALL	DELAY1S
	DJNZ	R6,S11
	RET
S20:	MOV	R6,#3	;状态2子程序 ,闪三次
S21:	MOV	R0,#88H	;南北绿灯灭,转黄灯闪三次,东西红灯继续亮
	MOV	P1,R0
	LCALL	DELAY1S
	MOV	R0,#8CH
	MOV	P1,R0
	LCALL	DELAY1S
	DJNZ	R6,S21
	RET
S30:	MOV	R6,#5	;状态3子程序 亮5S
S31:	MOV	R0,#91H	;南北红灯亮,东西绿灯亮	
	MOV	P1,R0
	LCALL	DELAY1S
	RET
S40:	MOV	R6,#3	;状态4子程序 闪三次
S41:	MOV	R0,#81H	;南北红灯继续亮,东西绿灯灭,转黄灯闪三次	
	MOV	P1,R0
	LCALL	DELAY1S
	MOV	R0,#0A1H
	MOV	P1,R0
	LCALL	DELAY1S
	DJNZ	R6,S41
	RET
DELAY1S:MOV	R2,#10	;延时1S子程序
DE1:	MOV	R3,#200
DE2:	MOV	R4,#247
	DJNZ	R4,$
	DJNZ	R3,DE2
	DJNZ	R2,DE1
	RET
INT00:  PUSH	PSW
	PUSH	ACC
	MOV     R7,#10  ;设置中断时间为10秒
INT01:  MOV     P1,#89H ;东西南北红灯亮
        LCALL	DELAY1S
	DJNZ    R7,INT01
	POP	ACC	;恢复原状态
	POP	PSW
	RETI            ;中断返回
	END

⌨️ 快捷键说明

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