微机课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

成绩
指导教师:
日期:《微型计算机技术》课程设计报告
题目:交通信号灯系统设计
姓名:李马元
院系:电子信息工程学系
专业:电子信息工程
班级: 092 学号: 910706203 指导教师:黄春先
2011年12
交通信号灯系统设计
李马元
电子信息工程学系
摘要:本设计在简单介绍了交通信号灯的背景之后,具体介绍了如何利用以学过的微机原理的知识和汇编语言设计一个交通灯的从硬件设计,软件设计及硬件连接和验证的全过程。

关键词:微机原理;交通灯;设计;
第一章概述
1.1 交通信号灯背景
随着社会的发展,人们的消费水平不断的提高,私人车辆不断的增加。

人多、车多道路少的道路交通状况已经很明显了。

所以采用有效的方法控制交通灯是势在必行的。

PLC 的智能控制原则是控制系统的核心,采用PLC把东西方向或南北方向的车辆按数量规模进行分档,相应给定的东西方向与南北方向的绿灯时长也按一定的规律分档. 这样就可以实现按车流量规模给定绿灯时长,达到最大限度的有车放行,减少十字路口的车辆滞流,缓解交通拥挤、实现最优控制,从而提高了交通控制系统的效率。

交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。

为了实现交通道路的管理,力求交通管理先进性、科学化。

用可编程控制器实现交通灯管制的控制系统,以及该系统软、硬件设计方法,实验证明该系统实现简单、经济,能够有效地疏导交通,提高交通路口的通行能力。

分析了现代城市交通控制与管理问题的现状,结合交通的实际情况阐述了交通灯控制系统的工作原理,给出了一种简单实用的城市交通灯控制系统的PLC设计方案。

可编程序控制器在工业自动化中的地位极为重要,广泛的应用于各个行业。

随着科技的发展,可编程控制器的功能日益完善,加上小型化、价格低、可靠性高,在现代工业中的作用更加突出。

1.2 设计目的和要求
通过实验和课程设计进一步了解微型计算机的工作原理,熟悉微机基本输入、输出接口的组成及地址分析方法,了解各种接口芯片,熟悉实验机的软件与硬件系统的组成,掌握简单接口电路的设计原则,并完成有关接口程序的编制、运行和调试工作。

该课程设计要求采用定时加中断控制的方式进行,对两个方向车辆的通行时间分别计时,可随意进行更改双向的通行时间。

具体要求如下:
1.东西方向车辆放行30秒钟。

即东西方向绿灯和南北方向的红灯同时点亮30秒;
2.30秒后,东西方向的红(绿)灯闪烁5秒钟,以警示车辆将切换红绿灯。

此时南北方向仍维持
红灯点亮。

3.东西方向的红(绿)灯闪烁5秒钟后,转为南北方向放行30秒钟。

即东西方向的红灯和南北方向的绿灯同时点亮30秒钟;
4.南北方向放行30秒钟后,转为南北方向的红(绿)灯闪烁5秒钟,以警示将切换红绿灯。

此时东西方向仍维持红灯点亮。

5.南北方向的红(绿)灯闪烁5秒钟后转为东西方向放行30秒钟。

如此循环重复。

6、认真编写程序,并进行程序调试,在实验机上运行,完成接口程序的设计; 7、完成课程设计报告。

第二章 交通信号灯设计过程
2.1 整体流程设计
想要做出交通灯,首相我们要了解交通灯的运行原理和基本规律,通过研究,我们可以画出交通
信号灯的流程图。

流程图如下:
图2-1 总设计流程图
流程图就是这样,如此一来,我们清楚知道了,设计的目标和要求,就可以按照这流程图,进行硬件的连接和软件的编写。

2.2 上机操作实验
2.2.1 实验箱的连线
设有一个十字路口,1,3为南北方向,2,4为东西方向,1,3路口的红灯亮,2,4路口的绿灯亮,
程序开始
初始化8255,使A 口为输出口,初始化8253,使其为定时器方式(30秒) A 口输出,使L5-L7的绿灯亮,L0-L2的红灯亮,打开定时器 时间到,使L5-L7的黄灯闪烁,L0-L2继续亮红灯,8253设置为计数器方式 P0
黄灯闪烁八次后L2-L7亮红灯,L0-L2亮绿灯,继续30秒 时间到,使L0-L2的黄灯闪烁8次后,L5-L7继续亮红灯,8253设置为计数器方式
黄灯闪烁八次后,L0-L2亮红
灯,L5-L7亮绿灯持续30秒
P1
2,4路口方向通车,延迟30秒后,2,4路口的绿灯熄灭,而2,4路口的黄灯开始闪烁,闪烁8次后,2,4路口的红灯亮,同时1,3的绿灯亮,1,3路口方向开始通车,延长30秒后,1,3路口的绿灯熄灭,而黄灯开始闪烁,闪烁8次之后,在切换到2,4路口方向。

之后,重复上述过程。

图2-2 交通信号灯示意图
根据这样的理解,我们假设PA 口就是控制交通灯的输出口,将PA 口的各个接口接到相应的灯上,作为交通灯的演示。

所以我们将8255的CS 片选接至138译码器的200至207插孔。

然后将8255的PA0,PA1,PA2和PA5,PA6,PA7接到相应的L0-L7
灯上,并做好标记。

连线的实物图如下图所示:
图2-3 实验箱的连线图
将PC0,PC1,PC2接到1,2,3插孔,分别表示东西的红,黄,绿、将PC5,PC6,PC7分别接到8,7,6插孔,分别表示南北的红,黄,绿。

然后接上电源,将实验箱和电脑用串口连接起来。

2.2.2 软件设计
硬件连接完毕之后,我们开始软件的设计。

双击“湖北众友”的软件图标,这时会出现一个“串行
口设置”窗口,点击确定可打开软件,进入软件的界面是一个空白的窗口,如下图所示:
PA 口控制灯的亮灭,
8255片选接译码器
地址线
图2-4 串行口设置窗口图2-5 打开软件的初始界面
我们可以在窗口的空白处进行汇编语言的编写。

编写完成之后,点击保存,保存文件,单击窗口的“设置”按钮,点击窗口连接。

界面如下图2-6所示。

然后点击“编译”按钮,对软件进行编译连接和装载。

操作如下图2-7所示:
图2-6串行口连接图2-7 软件的编译、连接、装载
如果没有错误,就会出现装载成功的界面,如下图2-8所示:
图2-9 装载结果提示框
装载成功之后,说明所编写的程序已经成功编译成可执行文件,那么接下来就可以执行这个可执行文件。

单击窗口上方的“编译”菜单,选择“加载可执行文件”之后会出现一个选择文件的窗口,选择刚刚编译成功的文件。

打开即可把程序加载到实验箱中。

图2-10 选择加载可执行文件图2-11 打开可执行文件
在接下来,便可点击“全速运行”,来查看结果了。

第三章实验结果
当一切准备就绪后,就可以进行调试和查看结果了。

单击“调试”→“全速运行”,或者单击窗口上方的运行图标“”。

如果没有问题,那么灯就会按一定的规律亮灭。

如果有问题就要去查找调试。

本次设计的运行结果实物图如下:
图3-1 实验结果图
结果图可以看出,当1,3路口的红灯亮,2,4路口的绿灯亮,2,4路口方向通车,延迟30秒后,2,4路口的绿灯熄灭,而2,4路口的黄灯开始闪烁,闪烁8次后,2,4路口的红灯亮,同时1,3
的绿灯亮,1,3路口方向开始通车,延长30秒后,1,3路口的绿灯熄灭,而黄灯开始闪烁,闪烁8次之后,在切换到2,4路口方向。

之后,重复上述过程。

第四章总结
在本次设计中,使用了8259A中断控制器、8255可编程并行接口实现了,对南北、东西方向交通的分别计时、分别控制,但是程序没有实现对双向交通的数码显示,数码显示模块空缺,会尽快将程序补全,使其具有完整的交通灯功与其他设计相比。

本次课程设计采用定时加中断控制的方式进行,对两个方向车辆的通行时间分别计时,可随意进行更改双向的通行时间。

此次课程设计可以说是获益匪浅。

通过查阅了很多资料,了解了许多汇编程序的思想,扩展了自己的视野,不再仅仅局限于书本中几条简短的程序,而且更重要的是明白写程序的态度:仔细谨慎,精
益求精。

通过该课程设计,掌握了什么是编译程序,编译程序工作的基本过程及其各阶段的基本任务,熟悉了编译程序总流程框图,了解了编译程序的生成过程、构造工具及其相关的技术对课本上的知识有了更深的理解,课本上的知识师机械的,表面的。

通过把该算法的内容,算法的执行顺序在计算机上实现,把原来以为很深奥的书本知识变的更为简单,对实验原理有更深的理解。

而且在设计中,把死板的课本知识变得生动有趣,激发了学习的积极性。

把学过的计算机编译原理的知识强化,能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。

以前对与计算机操作系统的认识是模糊的,概念上的,现在通过自己动手做实验,从实践上认识了操作系统是如何处理命令的,如何协调计算机内部各个部件运行,对计算机编译原理的认识更加深刻。

课程设计中程序比较复杂,在调试时应该仔细,在程序调试时,注意指针,将不必要的命令去除。

参考文献:
[1] 洪永强.《微机原理与接口技术》[M].2版.北京:科学出版社.2009
[2]张晓明,白凤凤,李雅红.《汇编语言程序设计》[M].北京:国防工业出版社,2009
[3]卜艳萍,周伟.《汇编语言程序设计教程》[M].2版.北京:清华大学出版社,2007
附录:源程序
PORT_A EQU 2A0H ;8255 POR T A ADDRESS
PORT_B EQU 2A1H ;8255 POR T B ADDRESS
PORT_C EQU 2A2H ;8255 POR T C ADDRESS CMD_POR T EQU 2A3H
PORT_CS EQU 2A3H
CODE SEGMENT
ASSUME CS:CODE
START:
MOV AL,10000011B
MOV DX,2A3H
OUT DX,AL
SHOW:
MOV DX,POR T_A
MOV AL,00100001B
OUT DX,AL
MOV BL,0
l1: CALL DELAY
INC BL
CMP BL,25
JNG l1
HUANG: MOV DX,PORT_A
MOV AL,00010001B
OUT DX,AL;
MOV BL,0
l2: CALL DELAY
INC BL
CMP BL,10
JNG l2
HONG:
MOV DX,POR T_A
MOV AL,00001100B
OUT DX,AL
MOV BL,0
l3: CALL DELAY
INC BL
CMP BL,25
JNG l3
LUE:
MOV DX,POR T_A
MOV AL,00001010B
OUT DX,AL
MOV BL,0
l4: CALL DELAY
INC BL
CMP BL,10
JNG l4
JMP SHOW
DELAY PROC
PUSH BX
PUSH CX
MOV BL,10
NEXT: MOV CX,2801
W10MS: LOOP W10MS
DEC BL
JNZ NEXT
POP CX
POP BX
RET
DELAY ENDP
CODE ENDS
END START。

相关文档
最新文档