温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023
交通灯
单片机
实现
实习
报告
交通灯单片机实现实习报告
单片机课程设计
学院:专业:班级:
小组成员:
交通灯单片机课程设计
second1equ30h
;东西路口计时存放器
led_g1
bitp1.0
;东西路口绿灯led_y1
bitp1.1
;东西路口黄灯led_r1
bitp1.2
;东西路口红灯led_g2
bitp1.3
;南北路口绿灯led_y2
bitp1.4
;南北路口黄灯led_r2
bitp1.5
;南北路口红灯
org0000h
ljmpstart
org0003h
ljmpiint0iint0:pushp1
clr
tr0
clr
led_r1
setbled_g1
setb
led_y1
clr
led_r2
setbled_g2
setb
led_y2
jnb
p3.2,$
setb
tr0
popp1
reti
org020230hstart:setbea
setbex0
clrit0
mov
tmod,X01h
;置t0工作方式1
mov
th0,X3ch
;置t0定时初值50ms
mov
tl0,X0b0h
clr
tf0
setbtr0
;启动t0
clr
a
mov
p1,a
;关闭不相关的led
loop:
mov
r2,X20
;赋中断计数器初值
mov
r3,X20
;红灯亮20s
mov
second1,X25;东西路口计时显示
初值25ms
lcalldisplay
lcallstate1
;调用状态1
wait1:
jnb
tf0,wait1
;查询50ms状态
clr
tf0
mov
th0,X3ch
;恢复t0定时初值50ms
mov
tl0,X0b0h
djnzr2,wait1
;判断1s到否未到继续状态1
mov
r2,X20
值
dec
second1
lcalldisplaydjnzr3,wait1
mov
r2,X5
mov
r3,X3
mov
r4,X4
mov
second1,X5
lcalldisplay
wait2:
lcallstate2
jnb
tf0,wait2
clr
tf0
mov
th0,X3ch
mov
tl0,X0b0hdjnzr4,wait2
cpl
led_g1
mov
r4,X4
djnzr2,wait2
movr2,X5
dec
second1
lcalldisplay
djnzr3,wait2
mov
r2,X5
mov
r3,X2mov
r4,X4
mov
second1,X2
lcalldisplay
wait3:
lcallstate3
jnb
tf0,wait3
clr
tf0mov
th0,X3ch
;重赋中断计数器初
mov
tl0,X0b0hdjnzr4,wait3
cpl
led_y1mov
r4,X4
djnzr2,wait3
mov
r2,X5
dec
second1
lcalldisplay
djnzr3,wait3
mov
r2,X20
mov
r3,X20
mov
second1,X25
lcalldisplay
wait4:
lcallstate4
jnb
tf0,wait4
clr
tf0
mov
th0,X3ch
mov
tl0,X0b0hdjnzr2,wait4
mov
r2,X20
dec
second1
lcalldisplay
djnzr3,wait4
mov
r2,X5
mov
r4,X4
mov
r3,X3
mov
second1,X5
lcalldisplay
wait5:lcallstate5
jnb
tf0,wait5
clr
tf0mov
th0,X3ch
mov
tl0,X0b0hdjnzr4,wait5
cpl
led_g2
mov
r4,X4
djnzr2,wait5
mov
r2,X5
dec
second1
lcalldisplay
djnzr3,wait5
movr2,X5
mov
r3,X2
mov
second1,X2
lcalldisplay
wait6:
lcallstate6
jnb
tf0,wait6
clr
tf0mov
th0,X3ch
mov
tl0,X0b0hdjnzr4,wait6cpl
led_y2mov
r4,X4
djnzr2,wait6
mov
r2,X5
dec
second1
lcalldisplaydjnzr3,wait6
ljmploop
state1:
clr
led_g1
setb
led_y1setb
led_r1setb
led_g2setb
led_y2clr
led_r2
ret
state2:
setb
led_y1setb
led_r1setb
led_g2
setb
led_y2clrled_r2
ret
state3:
setb
led_g1setb
led_r1setb
led_g2setb
led_y2
clr
led_r2
;clr
led_y1
ret
state4:
setb
led_g1
setb
led_y1clr
led_r1
clr
led_g2
setb
led_y2
setb
led_r2ret
state5:
setbled_g1setbled_y1clrled_r1
setbled_y2setbled_r2ret
state6:
setb
led_g1setb
led_y1clrled_r1
setb
led_g2setb
led_r2
retdisplay:
mov
a,second1
mov
r5,a
mov
r6,X00h
mov
r7,X2023hloop1:clrc
mova,r5
rlca
movr5,a
mova,r6
addca,r6
daa
movr6,a
djnzr7,loop1
disp:movr0,a
mova,r6
anla,X0fh
acallsend
mova,r6
swapaanla,X0fh
acallsendmova,r0ret
send:movdptr,Xledmapmovca,@a+dptrmovsbuf,ajnbti,$clrtiret
ledmap:db
03h,9fh,25h,0dh,99h,49h,41h,1fh,01h,2023h
end
第15页 共15页