微机课程设设论文基于微机原理交通灯的设计.docx
《微机课程设设论文基于微机原理交通灯的设计.docx》由会员分享,可在线阅读,更多相关《微机课程设设论文基于微机原理交通灯的设计.docx(16页珍藏版)》请在冰豆网上搜索。
微机课程设设论文基于微机原理交通灯的设计
题目:
交通灯系统设计
初始条件:
1.运用所学的微机原理和接口技术知识;
2.微机原理和接口技术实验室的实验箱设备。
要求完成的主要任务:
(包括课程设计工作量及其技术要求以及说明书撰写等具要求)
该课程设计要求采用定时加中断控制的方式进行,对两个方向车辆的通行时间分别计时,可随意进行更改双向的通行时间。
具体要求如下:
1.东西方向车辆放行60秒钟。
即东西方向绿灯和南北方向的红灯同时点亮1分钟;
2.1分钟后,东西方向的红(绿)灯闪烁5秒钟,以警示车辆将切换红绿灯。
此时南北方向仍维持红灯点亮。
3.东西方向的红(绿)灯闪烁5秒钟后,转为南北方向放行60秒钟。
即东西方向的红灯和南北方向的绿灯同时点亮60秒钟;
4.南北方向放行60秒钟后,转为南北方向的红(绿)灯闪烁5秒钟,以警示将切换红绿灯。
此时东西方向仍维持红灯点亮。
5.南北方向的红(绿)灯闪烁5秒钟后转为东西方向放行1分钟。
如此循环重复。
6.严格按照课程设计说明书要求撰写课程设计说明书。
时间安排:
序号
阶段内容
所需时间(天)
1
设计思路、原理电路设计
1
2
编程,调试
3
3
撰写课程设计报告
1
合计
5
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
基于微机原理交通灯的设计
摘要
随着电子技术的发展,计算机在现代科学技术的发展中起着越来越重要的
作用。
多媒体技术、网络技术、智能信息处理技术、自适用控制技术、数据挖掘与处理技术等都离不开计算机。
本课程设计是基于微机原理与接口技术的简单应用。
运用所学的微机原理和接口技术知识完成交通灯系统。
通过硬件与软件的结合,用我们刚刚学过的汇编语言编写程序模拟分析了现代城市交通控制与管理问题的现状,结合交通的实际情况阐述了交通灯控制系统的工作原理,给出了一种简单实用的交通灯控制系统的硬件、软件电路设计方案。
该系统适用于单主干道的十字路口,。
现假定其主干道为东西方向,次干道为南北方向。
可随意进行更改双向的通行时间,该功能能实现加中断控制和手动控制的方式进行,红绿灯切换时有闪烁功能以警示车辆和行人将进行红绿灯切换。
当有交通堵塞或紧急状况时可进行中断手动控制,使交通安全与交通流畅度得以保证。
前言
电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。
交通灯能保证行人过马路的安全,控制交通状况等优点受到人们的欢迎,在很多场合得到了广泛的应用。
交通灯是采用计算机通过编写汇编语言程序控制的。
红灯停,绿灯行的交通规则。
广泛用于十字路口,车站,码头等公共场所,成为人们出行生活中不可少的必需品,由于计算机技术的成熟与广泛应用,使得交通灯的功能多样化,远远超过老式交通灯,交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。
诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。
还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间。
或者给红绿色盲声音警示的人性化设计。
现在的交通灯系统很多都增加了智能控制环节,比如对闯红灯的车辆进行拍照。
当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。
要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。
因此,研究交通灯及扩大其应用,有着非常现实的意义。
1
第一章交通灯设计的课题简介
十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。
十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。
当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。
它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。
在交通灯的通行与禁止时间控制显示中,通常要么东西、南北两方向各50秒;要么根据交通规律,东西方向60秒,南北方向40秒,时间控制都是固定的。
交通灯的时间控制显示,以固定时间值预先“固化”在单片机中,每次只是以一定周期交替变化。
但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受认为因素的影响。
采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。
它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。
目前,有一种使用“模糊控制”技术控制交通灯的方法。
能够根据十字路口两个方向上车辆动态状况,自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。
但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。
第二章交通灯的设计方案
设计中使用了8259中断控制器、8255A可编程并行接口实现了,对南北、东西方向交通的分别计时、分别控制,设计采用定时加中断控制的方式进行,对两个方向车辆的通行时间分别计时,可随意进行更改双向的通行时间。
城市十字交叉路口红绿灯控制系统主要负责控制东西走向和南北走向的红绿灯的状态和转换顺序,关键是各个状态之间的转换和进行适当的时间延时,正是基于以上考虑,采用如下设计:
1.东西方向车辆放行60秒钟。
即东西方向绿灯和南北方向的红灯同时点亮1分钟;
2.1分钟后,东西方向的红(绿)灯闪烁5秒钟,以警示车辆将切换红绿灯。
此时南北方向仍维持红灯点亮。
3.东西方向的红(绿)灯闪烁5秒钟后,转为南北方向放行60秒钟。
即东西方向的红灯和南北方向的绿灯同时点亮60秒钟;
4.南北方向放行60秒钟后,转为南北方向的红(绿)灯闪烁5秒钟,以警示将切换红绿灯。
此时东西方向仍维持红灯点亮。
5.南北方向的红(绿)灯闪烁5秒钟后转为东西方向放行1分钟。
如此循环重复。
第三章交通灯的具体设计
3.1电路原理
本课题的设计可通过实验平台上的一些功能模块电路组成,由于各模块电路内部已经连接,用户在使用时只要设计模块间电路的连接,因此,硬件电路的设计及实现相对简单。
完整系统的硬件连接如图1所示。
硬件电路由R-S触发器电路、发光二极管模块、8255可编程并行接口模块和紧急中断模块8259组成。
实验的对应接线关图系图如下所示:
3.2.系统原理
3.2.18259A的工作原理
1、数据总线缓冲器:
8259A与系统数据总线的接口,是8位双向三态缓冲器。
CPU与8259A之间的控制命令信息、状态信息以及中断类型信息,都是通过缓冲器传送的。
2、读/写控制逻辑:
CPU通过它实现对8259A的读/写操作。
3、级连缓冲器:
用以实现8259A芯片之间的级连,使得中断源可以由8级扩展至64级。
4、控制逻辑电路:
对整个芯片内部各部件的工作进行协调和控制。
5、中断请求寄存器IRR:
8位,用以分别保存8个中断请求信号,当响应的中断请求输入脚有中断请求时,该寄存器的相应位置1。
6、中断屏蔽寄存器IMR:
8位,相应位用以对8个中断源的中断请求信号进行屏蔽控制。
当其中某位置“0“时,则相应的中断请求可以向CPU提出;否则,相应的中断请求被屏蔽,即不允许向CPU提出中断请求。
该寄存器的内容为8259A的操作命令字OCW1,可以由程序设置或改变。
7、中断服务寄存器ISR:
8位,当CPU正在处理某个中断源的中断请求时,ISR寄存器中的相应位置1。
8、用以比较正在处理的中断和刚刚进入的中断请求之间的优先级别,以决定是否产生多重中断或中断嵌套。
3.2.28255A的工作原理
1、8255A的内部结构:
1)数据总线缓冲器:
这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。
输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。
2)三个端口A,B和C:
A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。
B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。
C端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入缓冲器(输入没有锁存器)。
3)A组和B组控制电路:
这是两组根据CPU输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C口按位复位字命令。
方式控制字的高5位决定A组的工作方式,低3位决定B组的工作方式。
对C口按位复位命令字可对C口的每一位实现置位或复位。
A组控制电路控制A口和C口上半部,B组控制电路控制B口和C口下半部。
4)读写控制逻辑:
用来控制把CPU输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPU。
2、引脚信号
8255A的引脚如图7.5所示,分为数据线、地址线、读/写控制线、输入/输出端口线和电源线。
D7~D0(databus):
三态、双向数据线,与CPU数据总线连接,用来传送数据。
(chipselect):
片选信号线,低电平有效时,芯片被选中。
A1,A0(portaddress):
地址线,用来选择内部端口。
(read):
读出信号线,低电平有效时,允许数据读出。
(write):
写入信号线,低电平有效时,允许数据写入。
RESET(reset):
复位信号线,高电平有效时,
将所有内部寄存器(包括控制寄存器)清0。
PA7~PA0(portA):
A口输入/输出信号线。
PB7~PB0(portB):
B口输入/输出信号线。
PC7~PC0(portC):
C口输入/输出信号线。
VCC:
+5V电源。
GND:
电源地线。
3、8255A的工作方式:
方式0---基本输入输出方式;
方式1---选通输入输出方式;
方式2---双向选通输入输出方式。
3.3程序原理
东西方向的绿灯点亮60s同时南北方向的红灯点亮60s
东西方向的红灯闪烁5s同时南北方向红灯持续点亮亮60s
南北方向的绿灯点亮60s同时东西方向的红灯点亮60s
南北方向的红灯闪烁5s同时东西方向红灯持续点亮
交通灯控制系统程序流程图
第四章交通灯系统的安装与调试
4.1调试过程及相应问题的记录
1、软件延时与定时器计时
软件延时,设计简单,使用方便,但是无法进行精确计时,无法在实际应用中进行使用,本次设计采用了,定时器0进行计时,每10ms产生一个脉冲信号,可以准确的计时并方便8段数码管进行显示
2、使用中断
使用中断比较麻烦,在试验中需要两次加载初始化程序和中断服务程序,并且需要手工指定中断服务地址和中断向量号;但是使用中断可以进行多样化设计,强化程序功能与执行效率。
4.2调试结果
1.东西方向车辆放行60秒钟。
即东西方向绿灯和南北方向的红灯同时点亮1分钟;
2.1分钟后,东西方向的红(绿)灯闪烁5秒钟,以警示车辆将切换红绿灯。
此时南北方向仍维持红灯点亮。
3.东西方向的红(绿)灯闪烁5秒钟后,转为南北方向放行60秒钟。
即东西方向的红灯和南北方向的绿灯同时点亮60秒钟;
4.南北方向放行60秒钟后,转为南北方向的红(绿)灯闪烁5秒钟,以警示将切换红绿灯。
此时东西方向仍维持红灯点亮。
5.南北方向的红(绿)灯闪烁5秒钟后转为东西方向放行1分钟。
如此循环重复。
第五章交通灯的设计总结
在本次设计中,使用了8259A中断控制器、8255可编程并行接口实现了,对南北、东西方向交通的分别计时、分别控制,但是程序没有实现对双向交通的数码显示,数码显示模块空缺,会尽快将程序补全,使其具有完整的交通灯功与其他设计相比。
十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。
十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。
当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。
它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。
在交通灯的通行与禁止时间控制显示中,通常要么东西、南北两方向各60秒;要么根据交通规律,东西方向60秒,南北方向40秒,时间控制都是固定的。
交通灯的时间控制显示,以固定时间值预先“固化”在芯片中,每次只是以一定周期交替变化。
但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受认为因素的影响。
采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。
它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。
目前,有一种使用“模糊控制”技术控制交通灯的方法。
能够根据十字路口两个方向上车辆动态状况,自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。
但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。
本次课程设计采用定时加中断控制的方式进行,对两个方向车辆的通行时间分别计时,可随意进行更改双向的通行时间。
第六章交通灯设计心得与体会
此次实习可以说是获益匪浅。
通过查阅了很多资料,了解了许多汇编程序的思想,扩展了自己的视野,不再仅仅局限于书本中几条简短的程序,而且更重要的是明白写程序的态度:
仔细谨慎,精益求精。
在程序中添加了黄灯闪烁,更加醒目。
另外加入能够实现各路口绿灯显示时间不同,适应在主干道和支线路口中使用。
在系统加电调试中,针对一些问题,熟练掌握了根据原理分步测试,将错误之处缩小的最小范围内。
通过该课程设计,掌握了什么是编译程序,编译程序工作的基本过程及其各阶段的基本任务,熟悉了编译程序总流程框图,了解了编译程序的生成过程、构造工具及其相关的技术对课本上的知识有了更深的理解,课本上的知识师机械的,表面的。
通过把该算法的内容,算法的执行顺序在计算机上实现,把原来以为很深奥的书本知识变的更为简单,对实验原理有更深的理解。
而且在设计中,把死板的课本知识变得生动有趣,激发了学习的积极性。
把学过的计算机编译原理的知识强化,能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。
以前对与计算机操作系统的认识是模糊的,概念上的,现在通过自己动手做实验,从实践上认识了操作系统是如何处理命令的,如何协调计算机内部各个部件运行,对计算机编译原理的认识更加深刻。
课程设计中程序比较复杂,在调试时应该仔细,在程序调试时,注意指针,将不必要的命令去除。
主要参考文献
1.《微机原理里与接口技术》(第2版)彭虎、周佩玲、傅忠谦、编著
电子工业出版社出版时间:
2008-4-1
2.《汇编语言程序设计实验指导》蔡启先,王智文,黄晓璐编著
清华大学出版社出版时间:
2008-3-1
3.《汇编语言程序设计》张晓明,白凤凤,李雅红编著
国防工业出版社出版时间:
2009-1-1
4.《汇编语言实验教程》张坤编著
清华大学出版社出版时间:
2008-7-1
5.《汇编语言程序设计教程》(第二版)卜艳萍,周伟编著
清华大学出版社出版时间:
2007-6-1
附录
1、交通灯控制系统的源程序:
MY8255_AEQU60H
MY8255_BEQU61H
MY8255_CEQU62H
MY8255_CONEQU63H
CODESEGMENT
ASSUMECS:
CODE
START:
MOVDX,MY8255_CON
MOVAL,82H
OUTDX,AL
PUSHDS;进栈保存数据段
MOVAX,0000H;数据段清零
MOVDS,AX
MOVAX,OFFSETIRQ7;;7号中断偏移地址
MOVSI,003CH
MOV[SI],AX
MOVAX,CS
MOVSI,003EH
MOV[SI],AX
POPDS;出栈
INAL,21H;读8259中断屏蔽字
ANDAL,7FH;开放8259中断IRQ7
OUT21H,AL;输出到8259地址
MOVDX,MY8255_A;放初值南北红灯亮,
MOVAL,003H
OUTDX,AL
MOVDX,MY8255_C;东西绿灯亮
MOVAL,00CH
OUTDX,AL
CALLDELAYED1;延时10s
MOVBX,6H;循环次数
L1:
MOVDX,MY8255_A
MOVAL,00000011B;南北绿灯亮
OUTDX,AL
MOVDX,MY8255_C
MOVAL,00001100B;
OUTDX,AL
CALLDELAYED2;跳5s
MOVDX,MY8255_A
MOVAL,00001111B
OUTDX,AL
MOVDX,MY8255_C
MOVAL,00001100B
OUTDX,AL
CALLDELAYED2
DECBX
JNZL1;闪烁5秒
MOVDX,MY8255_A
MOVAL,00001100B
OUTDX,AL
MOVDX,MY8255_C
MOVAL,00000011B
OUTDX,AL
CALLDELAYED1;10s
MOVBX,6H
L2:
MOVDX,MY8255_A
MOVAL,00001100B
OUTDX,AL
MOVDX,MY8255_C
MOVAL,00000011B
OUTDX,AL
CALLDELAYED2;闪5s
MOVDX,MY8255_A
MOVAL,00001100B
OUTDX,AL
MOVDX,MY8255_C
MOVAL,00001111B
OUTDX,AL
CALLDELAYED2;闪5s
DECBX
JNZL2;无条件跳转,循环
JMPSTART;无条件跳转,循环
IRQ7:
MOVDX,MY8255_A;中断服务程序,出现紧急情况
MOVAL,00000011B
OUTDX,AL
MOVDX,MY8255_C
MOVAL,11000011B
OUTDX,AL
CALLDELAYED1;延时10s
MOVAL,20H
OUT20H,AL
IRET;恢复
DELAYED1:
;延时程序10s
MOVAX,30
L3:
MOVCX,0FFFFH
LOOP$
DECAX
JNZL3
RET
DELAYED2:
MOVCX,0FFFFH;延时程序5s
LOOP$
RET
CODEENDS
ENDSTART
2、系统硬件原理图
本科生课程设计成绩评定表
姓名
李华坤
性别
男
专业、班级
自动化107310212407309
课程设计题目:
基于微机原理交通灯的设计
课程设计答辩或质疑记录:
1、所设计的程序运用到了那些元件,各有什么作用?
答:
该程序使用了8259A中断控制器、8255A可编程并行接口实现了,对南北、东西方向交通的分别计时、分别控制,设计采用定时加中断控制的方式进行,对两个方向车辆的通行时间分别计时,可随意进行更改双向的通行时间。
2、都应用了元件的那些端口和如何接线的?
答:
应用了8259A中断控制器的IRQ7端口,并将其于KK1相连接,还有8255A可编程并行接口的PA0~PA3(控制南北方向的红绿灯)和PC0~PC3(控制东西方向的红绿灯),具体接线情况是PA01-D01(南北绿灯),PA23-D67(南北红灯),PC01-D23(东西绿灯),PC23-D45(东西红灯)。
3、怎样是中断发生作用,又如何使其回复正常?
答:
当按下KK1后将使8259A发生作用,使得东西和南北方向的红灯都同时被点亮,通过调用一个10S的延时程序让东西和南北的红灯同时点亮10S后回到程序的初始状态让其继续正常运行。
成绩评定依据:
设计方案
与内容
(20分)
制作与调试
(30分)
说明书内容与规范程度
(20分)
答辩
(20分)
学习态度
与考勤
(10分)
总分
(100分)
最终评定成绩(以优、良、中、及格、不及格评定)
指导教师签字:
年月日