标题:
微机原理课程设计报告-8086+8255交通灯
[打印本页]
作者:
wwwalan
时间:
2017-6-16 18:02
标题:
微机原理课程设计报告-8086+8255交通灯
微机原理课程设计报告-交通灯
交通灯是采用计算机通过编写汇编语言程序控制的。 红灯停,绿灯行的交通规则。
广泛用于十字路口 ,车站, 码头等公共场所 , 成为人们出行生活中不可少的必需
品,由于计算机技术的成熟与广泛应用 , 使得交通灯的功能多样化 , 远远超过老式
交通灯, 交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展
了交通灯的功能。诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,
所有这些,都是以计算机为基础的。 还可以根据主、 次干道的交通状况的不同任
意设置各自的不同的通行时间。 或者给红绿色盲声音警示的人性化设计。 现在的
交通灯系统很多都增加了智能控制环节, 比如对闯红灯的车辆进行拍照。 当某方
向红灯亮时, 此时相应的传感器开始工作, 当有车辆通过时, 照相机就把车辆拍
下。
要将交通灯系统产品化, 应该根据客户不同的需求进行不同的设计, 应该在程序
中增加一些可以人为改变的参数, 以便客户根据不同的需要随时调节交通灯。 因
此,研究交通灯及扩大其应用,有着非常现实的意义
0.png
(173.62 KB, 下载次数: 125)
下载附件
2017-6-16 19:48 上传
0.png
(122.89 KB, 下载次数: 132)
下载附件
2017-6-16 19:50 上传
单片机源程序如下:
;SAMPLE.ASM
.MODEL SMALL
.8086
.stack
.code
.startup
mov dx,0206h ; 将控制端口的地址送给 dx
mov ax,80h ; 将控制字送给 ax
out dx,ax ; 将控制字送给控制端口
mov dx,0200h ; 将a 端口的地址送给 dx
mov ax,0ffh ; 将初始化数据送给 ax
out dx,ax ; 将端口初始化
s0: mov ax,0bbh ; 将数据 10111011B送给ax
out dx,ax ; 将ax 数据送给 dx,让4 个红灯亮
call delay5 ; 调用延时程序子程序,维持 4-5s
s1: mov ax,0beh ; 将数据 10111110B送给ax
out dx,ax ; 将ax 数据送给 dx,使南北绿灯亮,东西红灯亮
call delay5 ; 调用延时程序子程序,维持 4-5s
mov cx,6 ; 将
lp: mov ax,0bfh ; 将数据 10111111B送给ax
out dx,ax ; 将ax 数据送给 dx,使南北绿灯灭,东西红灯亮
call delay05 ; 调用延时程序子程序,维持 4-5s
mov ax,0beh ; 将数据 10111110B送给ax
out dx,ax ; 将ax 数据给dx,实现南北绿灯亮,东西红灯亮
----------------------- Page 10-----------------------
call delay05 ; 调用延时程序子程序,维持 4-5s
loop lp ; 循环实现绿灯的亮灭循环闪烁约 6 次
mov ax,0bdh ; 将数据 10111101B送给ax
out dx,ax ; 将ax 送给dx,实现南北黄灯亮,东西红灯亮
call delay3 ; 调用延时程序子程序,维持 3-4s
mov ax,0ebh ; 将数据 11101011B送给ax
out dx,ax ; 将ax 数据送给 dx,实现南北红灯亮,东西绿灯亮
call delay5 ; 调用延时程序子程序,维持 4-5s
mov cx,6 ; 将
lp1:mov ax,0fbh ; 将数据 11111011B送给ax
out dx,ax ; 将ax 数据送给 dx,实现南北红灯亮,东西绿灯灭
call delay05 ; 调用延时程序子程序,维持 4-5s
mov ax,0ebh ; 将数据 11101011B送给ax
out dx,ax ; 将ax 送给dx,实现南北红灯亮,东西绿灯亮
call delay05 ; 调用延时程序子程序,维持 4-5s
loop lp1 ; 循环实现绿灯的亮灭循环闪烁约 6 次
mov ax,0dbh ; 将数据 11011011B送给ax
out dx,ax ; 将ax 送给dx,实现南北红灯亮,东西黄灯亮
call delay3 ; 调用延时程序子程序,维持 3-4s
jmp s0 ; 无条件跳转至程序 S0,实现控制循环
delay5proc near
push cx
mov bx,250
dy1:mov cx,5882
dy2:loop dy2
----------------------- Page 11-----------------------
decbx
jnz dy1
pop cx
ret
delay5endp
delay05proc near
push cx
mov bx,25
dy3:mov cx,5882
dy4:loop dy4
decbx
jnz dy3
pop cx
ret
delay05endp
delay3proc near
push cx
mov bx,150
dy5:mov cx,5882
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
1. 结果分析:
电路运行正常,交通灯按正确时间转换,实现了预期课程设计要求的目的。
六. 收获体会:
一周的微机原理课程设计结束了。 从中我学到了许多的知识和技术, 也懂得
了合作的重要性。
我在同学的帮助下学会了用软件模拟图形, 去研究程序的每一步。 每一次遇
到错误,都会自己先看, 然后在去找同学询问。 也复习了关于 8086和 8255一些
相关的知识。这次课程设计让我体会到了仅仅学好课本知识还是不够的, 还需要
实践,才能掌握知识,融会贯通。在这次实践中,最大的收获是对课程的兴趣。
兴趣是最好的老师, 这将会让我更加爱上学习与实践。 最终感谢老师和同学们的
帮助!
所有资料51hei提供下载:
微机原理-交通灯课程设计报告.pdf
(631.63 KB, 下载次数: 115)
2017-6-16 18:00 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
123zxp123
时间:
2023-6-11 15:30
请问这个不采用总线扩展器也可以么?为什么有些方案采用?
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1