标题:
基于51单片机的交通灯汇编设计与proteus仿真
[打印本页]
作者:
爱向心飞扬
时间:
2018-12-7 20:50
标题:
基于51单片机的交通灯汇编设计与proteus仿真
最近学校在教汇编,正巧单片机实验,用51单片机做一个交通灯,用来过单片机实验考试,效果还不错,这个其实i功能比较简单,用C语言的画应该分分钟搞定,但是汇编着实是难,proteus画图加敲代码弄了整整一晚上,都要吐血了,效果图如下:(由于proteus软件比较卡,为了能快速看到效果程序里定时时间不是1秒,如果你用到记得更改会正常的1s间隔倒计时)
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
tu.png
(52.68 KB, 下载次数: 74)
下载附件
仿真截图
2018-12-7 20:50 上传
单片机源程序如下:
;位选引脚
RED_H BIT P1.0
RED_L BIT P1.1
GRE_H BIT P1.2
GRE_L BIT P1.3
YEL_H BIT P1.4
YEL_L BIT P1.5
;灯
RED1 BIT P2.0
GREED1 BIT P2.1
YELLOW1 BIT P2.2
RED2 BIT P2.3
GREED2 BIT P2.4
YELLOW2 BIT P2.5
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP TIME
ORG 0050H
;****************** ******************
MAIN:
MOV P0,#0FFH
MOV P1,#0FFH
MOV P2,#0FFH
MOV R0,#0 ; 0垂直红,1垂直黄,2垂直绿
MOV R1,#10 ;定时器计数10次 1S
MOV R2,#60 ; 红60s
MOV R3,#5 ; 黄灯5s
MOV R5,#60 ; 绿灯
MOV R4,#0
MOV A, #0
MOV DPTR,#TABLE
ANL TMOD,#00FH
ORL TMOD,#010H
MOV TH0,#038H
MOV TL0,#000H
SETB EA
SETB ET0
SETB TR0
LOOP:
CJNE R0,#1,OTHER
MOV P2,#0X00;
SETB YELLOW2
SETB YELLOW1
MOV P1,#0X00 ; 黄灯5s
SETB YEL_H
MOV B,#10
MOV A,R3
DIV AB
MOVC A,@A+DPTR
MOV P0,A
ACALL DELAY
CPL YEL_H
SETB YEL_L
MOV A,B
MOVC A,@A+DPTR
MOV P0,A
ACALL DELAY
AJMP LOOP
OTHER:JC OTHER2
MOV P2,#0X00;
SETB GREED1
SETB RED2
MOV P1,#0X00; ; 绿灯60s
SETB GRE_H
MOV B,#10
MOV A,R5
DIV AB
MOVC A,@A+DPTR
MOV P0,A
ACALL DELAY
CPL GRE_H
SETB GRE_L
MOV A,B
MOVC A,@A+DPTR
MOV P0,A
ACALL DELAY
AJMP LOOP
OTHER2:
MOV P1,#0X00; ; 红灯60s
MOV P2,#0X00;
SETB RED1
SETB GREED2
SETB RED_H
MOV B,#10
MOV A,R2
DIV AB
MOVC A,@A+DPTR
MOV P0,A
ACALL DELAY
CPL RED_H
SETB RED_L
MOV A,B
MOVC A,@A+DPTR
MOV P0,A
ACALL DELAY
AJMP LOOP
TIME:
DJNZ R1,NEXT
MOV R1,#5
CJNE R0,#1,THER1
DJNZ R3,NEXT ; 黄灯
MOV R3,#5
INC R0
CJNE R0,#3,NEXT
MOV R0,#0
AJMP NEXT
THER1: JC THER2
DJNZ R5,NEXT
MOV R5,#60
INC R0
CJNE R0,#3,NEXT
MOV R0,#0
AJMP NEXT
THER2: DJNZ R2,NEXT
MOV R2,#60
INC R0
CJNE R0,#3,NEXT
MOV R0,#0
NEXT:
MOV TH0,#038H
MOV TL0,#000H
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
交通灯.rar
(65.74 KB, 下载次数: 158)
2018-12-7 20:49 上传
点击文件名下载附件
程序源码及仿真文件
下载积分: 黑币 -5
作者:
Juno-Z
时间:
2019-1-11 13:40
感谢大佬分享
作者:
sgx66
时间:
2020-3-18 22:32
感谢大佬分享
作者:
jzl66785
时间:
2020-4-6 16:15
感谢大佬分享
作者:
无情的单片机
时间:
2020-12-22 19:57
请问怎么改时间
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1