|
微机原理课程设计报告-交通灯
交通灯是采用计算机通过编写汇编语言程序控制的。 红灯停,绿灯行的交通规则。
广泛用于十字路口 ,车站, 码头等公共场所 , 成为人们出行生活中不可少的必需
品,由于计算机技术的成熟与广泛应用 , 使得交通灯的功能多样化 , 远远超过老式
交通灯, 交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展
了交通灯的功能。诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,
所有这些,都是以计算机为基础的。 还可以根据主、 次干道的交通状况的不同任
意设置各自的不同的通行时间。 或者给红绿色盲声音警示的人性化设计。 现在的
交通灯系统很多都增加了智能控制环节, 比如对闯红灯的车辆进行拍照。 当某方
向红灯亮时, 此时相应的传感器开始工作, 当有车辆通过时, 照相机就把车辆拍
下。
要将交通灯系统产品化, 应该根据客户不同的需求进行不同的设计, 应该在程序
中增加一些可以人为改变的参数, 以便客户根据不同的需要随时调节交通灯。 因
此,研究交通灯及扩大其应用,有着非常现实的意义
单片机源程序如下:
- ;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)
|
|