哪位大神有基于AT89C51控制的交通灯的ISIS仿真图,跟KEIL的汇编,545077607@qq.com 30
2个回答
展开全部
我有一个程序,你看看能不能用:
;*******************************
;信号灯定义
DONG1 BIT P0.1 ;东 红灯
DONG2 BIT P0.0 ;东 黄灯
DONG3 BIT P2.4 ;东 绿灯
NAN1 BIT P2.5 ;南 红灯
NAN2 BIT P2.6 ;南 黄灯
NAN3 BIT P2.7 ;南 绿灯
XI1 BIT P0.7 ;西 红灯
XI2 BIT P0.6 ;西 黄灯
XI3 BIT P0.5 ;西 绿灯
BEI1 BIT P0.4 ;北 红灯
BEI2 BIT P0.3 ;北 黄灯
BEI3 BIT P0.2 ;北 绿灯
JIAO BIT P1.1 ;蜂鸣器
;###############################
ORG 0000H
LJMP SHU
ORG 0030H
MOV R4,#2
SHU:MOV 60H,#15
MOV 61H,#3
;*************************
;*************************
ABC:CJNE R4,#1,XIANSHI2;南北通行或东西通行的改变
LJMP XIANSHI1
XIANSHI1:MOV R4,#2 ;东西通行
MOV P0,#0FFH
MOV P0,#0FFH
CLR BEI1;北红
CLR NAN1;南红
CLR XI3 ;西绿
CLR DONG3;东绿
LJMP START1
XIANSHI2:MOV R4,#1 ;南北通行
MOV P0,0FFH
MOV P0,0FFH
CLR BEI3;北绿
CLR NAN3;南绿
CLR XI1;西红
CLR DONG1;东红
LJMP START1
;****************************
;****************************
START1:MOV R2,#12
START:
MOV A,60H
MOV R1,A
CLR C
SUBB A,#1
MOV 60H,A
MOV A,R1
MOV B,#10
DIV AB
MOV 50H,A
MOV 51H,B
MOV 54H,A
MOV 55H,B
MOV 52H,#0AH
MOV 53H,#0AH
MOV R3,#6 ;数码管显示6个数
MOV R0,#50H
LOOP: ;数码管显示
MOV DPTR,#TAB
MOV A,@R0
MOVC A,@A+DPTR
MOV SBUF,A
JNB TI,$
CLR TI
INC R0
DJNZ R3,LOOP
DELAY:MOV R5,#100 ;延时1s
D1:MOV R6,#99
D2:MOV R7,#49
DJNZ R7,$
DJNZ R6,D2
NOP
DJNZ R5,D1
DJNZ R2,START;数码管显示15s——4s数据
;############ ###################
;************ 3 S *******************
MOV P0,#0FFH
MOV P2,#0FFH
CLR DONG2
CLR XI2
CLR NAN2
CLR BEI2
;*#***#*#***#*#**#*#**#*#***#*
START3:MOV R2,#3; 计数,显示最后三个
START2:
MOV A,61H
MOV R1,A
CLR C
SUBB A,#1
MOV 61H,A
MOV A,R1
MOV B,#10
DIV AB
MOV 50H,A
MOV 51H,B
MOV 54H,A
MOV 55H,B
MOV 52H,#0AH
MOV 53H,#0AH
MOV R5,#6
MOV R0,#50H
LOOP3: ;显示3s、2s、1s
MOV A,@R0
MOVC A,@A+DPTR
MOV SBUF,A
JNB TI,$
CLR TI
INC R0
DJNZ R5,LOOP3
CLR JIAO ;响
ACALL DELAY16 ;调用延时1/6s
SETB JIAO ;不响
ACALL DELAY16 ;调用延时1/6s
CLR JIAO ;响
ACALL DELAY16 ;调用延时1/6s
SETB JIAO ;不响
ACALL DELAY12 ;调用延时1/2s
DJNZ R2,START2;判断最后三个是否显示完
MOV P0,#0FFH
MOV P2,#0FFH
LJMP SHU
DELAY16:MOV R5,#100 ;延时程序1/6s
D161:MOV R6,#95
D162:MOV R7,#7
DJNZ R7,$
DJNZ R6,D162
NOP
DJNZ R5,D161
RET
DELAY12:MOV R5,#100
D121:MOV R6,#98 ;延时程序1/2s
D122:MOV R7,#24
DJNZ R7,$
DJNZ R6,D122
NOP
DJNZ R5,D121
RET
TAB: DB 88H,0BEH,0C4H,94H,0B2H,91H,81H,0BCH,80H,90H,0F7H
END
;*******************************
;信号灯定义
DONG1 BIT P0.1 ;东 红灯
DONG2 BIT P0.0 ;东 黄灯
DONG3 BIT P2.4 ;东 绿灯
NAN1 BIT P2.5 ;南 红灯
NAN2 BIT P2.6 ;南 黄灯
NAN3 BIT P2.7 ;南 绿灯
XI1 BIT P0.7 ;西 红灯
XI2 BIT P0.6 ;西 黄灯
XI3 BIT P0.5 ;西 绿灯
BEI1 BIT P0.4 ;北 红灯
BEI2 BIT P0.3 ;北 黄灯
BEI3 BIT P0.2 ;北 绿灯
JIAO BIT P1.1 ;蜂鸣器
;###############################
ORG 0000H
LJMP SHU
ORG 0030H
MOV R4,#2
SHU:MOV 60H,#15
MOV 61H,#3
;*************************
;*************************
ABC:CJNE R4,#1,XIANSHI2;南北通行或东西通行的改变
LJMP XIANSHI1
XIANSHI1:MOV R4,#2 ;东西通行
MOV P0,#0FFH
MOV P0,#0FFH
CLR BEI1;北红
CLR NAN1;南红
CLR XI3 ;西绿
CLR DONG3;东绿
LJMP START1
XIANSHI2:MOV R4,#1 ;南北通行
MOV P0,0FFH
MOV P0,0FFH
CLR BEI3;北绿
CLR NAN3;南绿
CLR XI1;西红
CLR DONG1;东红
LJMP START1
;****************************
;****************************
START1:MOV R2,#12
START:
MOV A,60H
MOV R1,A
CLR C
SUBB A,#1
MOV 60H,A
MOV A,R1
MOV B,#10
DIV AB
MOV 50H,A
MOV 51H,B
MOV 54H,A
MOV 55H,B
MOV 52H,#0AH
MOV 53H,#0AH
MOV R3,#6 ;数码管显示6个数
MOV R0,#50H
LOOP: ;数码管显示
MOV DPTR,#TAB
MOV A,@R0
MOVC A,@A+DPTR
MOV SBUF,A
JNB TI,$
CLR TI
INC R0
DJNZ R3,LOOP
DELAY:MOV R5,#100 ;延时1s
D1:MOV R6,#99
D2:MOV R7,#49
DJNZ R7,$
DJNZ R6,D2
NOP
DJNZ R5,D1
DJNZ R2,START;数码管显示15s——4s数据
;############ ###################
;************ 3 S *******************
MOV P0,#0FFH
MOV P2,#0FFH
CLR DONG2
CLR XI2
CLR NAN2
CLR BEI2
;*#***#*#***#*#**#*#**#*#***#*
START3:MOV R2,#3; 计数,显示最后三个
START2:
MOV A,61H
MOV R1,A
CLR C
SUBB A,#1
MOV 61H,A
MOV A,R1
MOV B,#10
DIV AB
MOV 50H,A
MOV 51H,B
MOV 54H,A
MOV 55H,B
MOV 52H,#0AH
MOV 53H,#0AH
MOV R5,#6
MOV R0,#50H
LOOP3: ;显示3s、2s、1s
MOV A,@R0
MOVC A,@A+DPTR
MOV SBUF,A
JNB TI,$
CLR TI
INC R0
DJNZ R5,LOOP3
CLR JIAO ;响
ACALL DELAY16 ;调用延时1/6s
SETB JIAO ;不响
ACALL DELAY16 ;调用延时1/6s
CLR JIAO ;响
ACALL DELAY16 ;调用延时1/6s
SETB JIAO ;不响
ACALL DELAY12 ;调用延时1/2s
DJNZ R2,START2;判断最后三个是否显示完
MOV P0,#0FFH
MOV P2,#0FFH
LJMP SHU
DELAY16:MOV R5,#100 ;延时程序1/6s
D161:MOV R6,#95
D162:MOV R7,#7
DJNZ R7,$
DJNZ R6,D162
NOP
DJNZ R5,D161
RET
DELAY12:MOV R5,#100
D121:MOV R6,#98 ;延时程序1/2s
D122:MOV R7,#24
DJNZ R7,$
DJNZ R6,D122
NOP
DJNZ R5,D121
RET
TAB: DB 88H,0BEH,0C4H,94H,0B2H,91H,81H,0BCH,80H,90H,0F7H
END
追问
有ISIS仿真图吗?
追答
这是在我开发板上做的,能运行,没有做proteus仿真。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
全测科技
2024-12-19 广告
2024-12-19 广告
SMW200A是罗德与施瓦茨生产的一款高性能矢量信号发生器,频率范围高达67 GHz(双通道最高44 GHz),具备2 GHz的调制带宽和高达800 MHz的集成式衰落带宽,支持8x8 MIMO。其内部基带能满足第四代标准(如LTE-Adv...
点击进入详情页
本回答由全测科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询