实验三交通灯控制实验Word格式.docx
- 文档编号:19230171
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:14
- 大小:30.60KB
实验三交通灯控制实验Word格式.docx
《实验三交通灯控制实验Word格式.docx》由会员分享,可在线阅读,更多相关《实验三交通灯控制实验Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
R4;
P1.6、P1.7分别接静态数码显示的DIN、CLK。
2)启动PC机,打开THGMW-51软件,输入源程序,并编译源程序。
编译无误后,下载程序运行。
3)观察十字路口交通灯效果。
七.实验程序
//*
******************************************************************
SECOND1
EQU
30H
;
东西秒寄存器
SECOND2
31H
南北秒寄存器
DBUF
40H
显示缓冲1
TEMP
44H
显示缓冲2
LED_G1
BIT
P1.0
东西绿灯
LED_R1
P1.1
东西红灯
LED_G2
P1.2
南北绿灯
LED_R2
P1.3
南北红灯
Din
P1.6
串行显示数据
CLK
P1.7
串行显示时钟
ORG
0000H
LJMP
START
0100H
START:
LCALL
STATE0
调用状态0
DELAY
调用延时
MOV
TMOD,#01H
置T0工作方式1
TH0,#3CH
置T0定时初值50mS
TL0,#0B0H
SETB
TR0
启动T0
CLR
EA
LOOP:
MOV
R2,#20
R3,#20
SECOND1,#25
SECOND2,#25
置1S计数初值
红灯20S
东西秒显示初值
南北秒显示初值
50mS*20=1S
25S
LCALLDISPLAY
STATE1
调用状态1
WAIT1:
JNB
TF0,WAIT1
查询50mS到否
TF0
恢复T0定时初值50mS
DJNZ
R2,WAIT1
判1S到否?
未到继续状态1
置50mS计数初值
DEC
东西秒显示减一
南北秒显示减一
DISPLAY
R3,WAIT1
状态1维持20S
・***************************************************
R2,#5
5*4=20
R3,#3
绿灯闪3S
R4,#4
闪烁间隔200mS
SECOND1,#5
5S
SECOND2,#5
WAIT2:
LCALL
STATE2
调用状态2
JNB
TF0,WAIT2
R4,WAIT2
判200mS到否?
未到继续状态2
CPL
东西绿灯闪
R2,WAIT2
R3,WAIT2
状态2维持3S
MOVR2,#20;
MOVR3,#2;
黄灯2S
SECOND1,#2
2S
SECOND2,#2
WAIT3:
STATE3
调用状态3
TF0,WAIT3
查询30mS到否
恢复T0定时初值
50mS
R2,WAIT3
未到继续状态3
R3,WAIT3
状态3维持2S
MOVR2,#20
R3,#20;
SECOND1,#25;
SECOND2,#25;
WAIT4:
STATE4
调用状态4
TF0,WAIT4
R2,WAIT4
未到继续状态4
R3,WAIT4
状态4维持20S
WAIT5:
STATE5
调用状态5
TF0,WAIT5
恢复T0定时初值100mS
R4,WAIT5
未到继续状态5
南北绿灯闪
闪烁200mS
R2,WAIT5
置100mS计数初值
R3,WAIT5
状态5维持3S
R3,#2
WAIT6:
STATE6
调用状态6
TF0,WAIT6
查询100mS到否
R2,WAIT6
未到继续状态6
R3,WAIT6
状态6维持2S
LOOP
大循环
STATE0:
状态0
P1,#0
东西红灯亮
南北红灯亮
RET
STATE1:
状态1
东西绿灯亮
STATE2:
状态2
STATE3:
状态3
东西黄灯亮
STATE4:
状态4
南北绿灯亮
STATE5:
;
状态5
CLRLED_G1
SETBLED_R1;
CLRLED_R2
STATE6:
状态6
SETBLED_G2
SETBLED_R2;
南北黄灯亮
DISPLAY:
数码显示
A,SECOND1
B,#10
16进制数拆成两个10进制数
DIV
AB
DBUF+1,A
A,B
DBUF,A
A,SECOND2
16进制数拆成两个
DBUF+3,A
DBUF+2,A
R0,#DBUF
R1,#TEMP
R7,#4
DPTR,#LEDMAP
A,@R0
MOVC
A,@A+DPTR
@R1,A
INC
R0
R1
R7,DP10
R0,#TEMP
DP10:
10进制数
R1,#4
DP12:
R7,#8
DP13:
RLC
A
DIN,C
R7,DP13
R1,DP12
LEDMAP:
DB
3FH,6,5BH,4FH,66H,6DH;
,1,2,3,4,5
DB
7DH,7,7FH,6FH,77H,7CH;
6
,7,8,9,A,B
58H,5EH,7BH,71H,0,40H;
C
,D,E,F,,-
Delay:
mov
r5,#5
DLoop0:
mov
r6,#0
DLoop1:
r7,#0
DLoop2:
NOP
djnz
r7,DLoop2
r6,DLoop1
r5,DLoop0
ret
END
八.实验现象及小结
当程序开始运行时,东西绿灯亮,南北红灯亮,且持续的时间为25秒,数码管显示计数器的当前值,当还剩三秒的时候,绿灯开始闪烁。
计时到0时,东西转黄灯,时间为5秒,计满之后东西红灯,南北绿灯。
南北方向上的情况与之前东西的情况一致。
当南北黄灯状态的计数值计满时,转回初始状态,完成一个循环。
通过这次实验,我了解到了用单片机实现综合功能的例子了。
很强大,交通灯利用计数器和控制LED灯,以及数码管的显示来实现交通灯的功能。
程序中包含咧很多子程序,逐一调用,并且按照一定的顺序调用,使得整个程序变得有条有理。
在单片机的学习中,程序的编辑也是很有必要掌握的。
要做到利用最简洁的语言来实现最复杂的功能,这是我们的目标。
而我们还需要更多的去练习。
-可编辑修改-
THANKS!
!
学习课件等等
致力为企业和个人提供合同协议,策划案计划书,
打造全网一站式需求
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 交通灯 控制