交通灯控制实验微机.docx
- 文档编号:14923761
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:13
- 大小:311.96KB
交通灯控制实验微机.docx
《交通灯控制实验微机.docx》由会员分享,可在线阅读,更多相关《交通灯控制实验微机.docx(13页珍藏版)》请在冰点文库上搜索。
交通灯控制实验微机
郑州科技学院
《微机原理与接口技术》课程设计
题目:
交通灯控制实验
学生姓名
目录
1课程设计目的1
2课程设计的任务与要求1
3设计方案与论证2
4设计原理与功能说明3
5单元电路设计7
6硬件的制作与调试8
7总结12
参考文献13
附录1:
总体电路原理图14
附录2:
元器件清单14
1课程设计目的
1、了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。
学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。
2、熟悉8255内部结构和与8088的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。
3、使用8255A的A口、B口和C口模拟十字路口交通灯的闪烁情况。
2课程设计的任务与要求
交通信号灯的控制:
1、通过8255A并口来控制LED发光二极管的亮灭。
2、A口控制红灯,B口控制黄灯,C口控制绿灯。
3、输出为0则亮,输出为1则灭。
4、用8253定时来控制变换时间。
要求:
设有一个十字路口,其状态为:
(1)南北路口的红灯、东西路口的绿灯同时亮30秒左右。
(2)南北路口的黄灯闪烁若干次,同时东西路口的绿灯继续亮。
(3)南北路口的绿灯、东西路口的红灯同时亮30秒左右。
(4)南北路口的绿灯继续亮、同时东西路口的黄灯亮闪烁若干次。
(5)转
(1)重复。
3设计方案与论证
分析题意,红,黄,绿灯可分别接在8255的A口,B口和C口上,灯的亮灭可直接由8086输出0,1控制。
30秒延时及闪烁由8253控制,由闪烁的实现方法可分为两种方案:
方案一:
设8253各口地址分别为:
设8253基地址即通道0地址为04A0H;通道1为04A2H;通道2为04A4H;命令控制口为04A6H。
[1]
黄灯闪烁的频率为1HZ,所以想到由8253产生一个1HZ的方波,8255控制或门打开的时间,在或门打开的时间内,8253将方波信号输入或门使黄灯闪烁。
由于计数值最大为65535,1MHZ/65536的值远大于2HZ,所以采用两个计数器级联的方式,8253通道0的clock0输入由分频器产生的1MHZ时钟脉冲,工作在方式3即方波发生器方式,理论设计输出周期为0.01s的方波。
1MHZ的时钟脉冲其重复周期为T=1/1MHZ=1
s,因此通道0的计数初值为10000=2710H。
由此方波分别作为clock1和clock2的输入时钟脉冲,所以通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,[2]计数初值3000=BB8H既30s,计数到则输出一个高电平到8255的PA7口,8255将A口数据输入到8086,8086检测到高电平既完成30s定时。
通道2工作在方式3需输出一个1HZ的方波,通过一个或门和8086共同控制黄灯的闪烁,因此也是工作在方波发生器方式,其计数初值为100=64H,将黄灯的状态反馈到8055的端口PB7和PC7,同样输入到8086,8086通过两次检测端口状态可知黄灯的状态变化,计9次状态变化可完成5次闪烁。
[3]
三个通道的门控信号都未用,均接+5V即可。
方案二:
考虑到题目要求黄灯闪烁的频率为1HZ,既每秒1次,那么前0.5秒黄灯亮,后0.5秒黄灯灭,所以最小的定时单位为0.5秒,频率为2HZ,30秒即为60个0.5秒。
显然如方案一用一个计数器无法完成,所以采用两个计数器级联的方式,将计数器0的输出OUT0接到计数器1的输入端CLK1,CLK0=1MHZ,计数值为50000=C350H,OUT0=20HZ,CLK1=20HZ,记数值=10,OUT1=2HZ。
并且计数器0工作于方式3用于产生方波信号,计数器1工作方式2,产生负脉冲信号,计数器1的输出端OUT1接入8255芯片的PC5口,用于读取负脉冲个数,以完成计时功能。
8086及8255设置同方案一,8086则每隔0.5秒变换一次黄灯的状态,持续五次,完成闪烁的功能。
[4]
经比较,方案二8086在黄灯闪烁时需频繁发送数据到8255,加重了系统的负担,因此我决定采用方案一。
4设计原理与功能说明
如硬件连接图所示,红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4路口的红灯,B,C口类推。
8086工作在最小模式,低八位端口AD0~AD7接到8255和8253的D0~D7,AD8~AD15通过地址锁存器8282,接到三八译码器,译码后分别连到8255和8253的CS片选端。
8253的三个门控端接+5V,CLOCK0接由分频器产生的1MHZ的时钟脉冲,OUT0接到CLOCK1和CLOCK2,OUT1接到8086的AD18,8086通过检测此端口是否有高电平来判断是否30S定时到。
OUT2产生1MHZ方波通过或门和8255的B口共同控制黄灯的闪烁。
8255三个口全部工作在方式0既基本输入输出方式,红绿灯的转换由软件编程实现。
[5]
由于8255A与8086CPU是以低八位数据线相连接的,所以应该是8255A的
、
线分别与8086CPU的
、
线相连,而将8086的
线作为选通信号。
如果是按8255A内部地址来看,则在图中它的地址是PA口地址即(CS+000H),PB口地址为(CS+001H),PC口地址为(CS+002H),命令控制口地址为(CS+003H),其中,CS为8255片选信号
的首地址;若是按8086CPU地址来看,则8255A的地址是PA口地址即(CS+000H),PB口地址为(CS+002H),PC口地址为(CS+004H),命令控制口地址为(CS+006H)。
当CS=0288H,则PA口地址为0288H,PB口地址为028AH,PC口地址为028CH,命令控制口地址为028EH。
[6]
下面,分析8086各个引脚的连接方法。
(1)
引脚:
通常用此引线产生片选信号,当为
=1,
=0编码时,在数据总线低8位和偶地址之间进行字节传送(
~
)。
(2)CLK(Clock)时钟信号(输入):
CLK为CPU和总线控制器提供基本的定时脉冲。
时钟周期是非对称的,当它为有效高电平的时间和时钟周期的比为33%时,提供最佳的内部定时。
由8284时钟发生器产生,8086CPU使用的时钟频率,因芯片型号不同,时钟频率不同。
这里采用5MHz。
(3)
(+5V),GND(地):
CPU所需电源
=+5V。
GND为地线。
(4)QS0ALE(AddressLatchEnable)地址锁存允许信号,输出高电平有效,作地址锁存器8282/8283的片选信号,在
地址周期状态,ALE有效,表示AB、DB上传送的是地址信息,将它锁存。
这是由于AB、DB分时复用所需要的,ALE信号线不能悬空。
如图所示,加入2片地址锁存器8282。
(5)RESET:
复位信号,输入,高电平有效。
8086接到复位信号后,停止现行操作,并初始化段寄存器DS,SS,ES,标志寄存器PSW,指令指针IP和指令队列,而使CS=FFFFH。
RESET信号至少保持四个周期以上的高电平,当它变为低电平时(一个下降沿),CPU执行重启过程,8086将从地址FFF0H开始执行指令。
通常FFFF0H单元开始的几个单元中存放一条JMP指令,将入口转到引导和装配程序中,从而实现对系统的初始化,引导监控程序或操作系统程序。
由于出现突然断电或其它情况时,8086可能正在执行交通灯程序,现有的地址丢失,应按下RESET键重新开始。
另外,应将8255A与8086的RESET线相连,保持同步。
[7]
(6)MN/
(Minimun/Maximun):
最小、最大工作模式选择信号,输入。
此时MN/
接+5V,构成单处理器系统,系统控制信号由CPU提供。
接下来,对8282芯片作一下说明:
~
:
8位数据输入;
~
:
8位数据输出;STB:
选通信号;
:
输出允许信号,在不带DMA控制器的8086单处理器系统中,它接地。
其实,这就是8个D触发器。
由于只用
~
,所以用两片即可。
最后,对时钟发生器8284芯片按两部分进行说明:
(1)时钟信号发生器:
=0时,时钟信号输入由X1、X2端接上晶体,由晶体振荡器产生时钟信号;
CLK:
3分频OSC后的时钟,输出频率4.77MHz,占空比为1/3,大约满足8086CPU的输入频率5MHz、占空比33%的要求。
(2)复位生成电路:
由
输入的信号来触发内部同步触发器,由此产生信号RESET,送到CPU的RESET端,复位信号由CLK的下降沿同步。
此时,
端接“电源好“信号,使系统上电后自动复位。
此为最小模式系统,除了8086CPU,I/O接口芯片8255A,定时计数芯片8353外,其它配置如下:
1片8284A,作为时钟发生器;
2片8282,作为地址锁存器;
2片74LS138,作为地址选通译码器;
1个二输入或非门;1个4输入或非门;1个二输入与非门;4个或门
12个发光二极管;12个限流电阻;1个复位信号开关。
5单元电路设计
6硬件的制作与调试
(1)南北路口的红灯、东西路口的绿灯同时亮30秒。
(2)南北路口的黄灯闪烁若干次,同时东西路口的绿灯继续亮。
(3)南北路口的绿灯、东西路口的红灯同时亮30秒左右。
(4)南北路绿灯继续亮、同时东西路口的黄灯闪烁若干次。
7总结
本次课程设计是要设计一个交通灯系统,主要通过8255A的A口和B口模拟十字路口交通灯的闪烁情况。
在本次对交通灯的设计过程中以此来加深对微机接口技术的理解,提高了自己的动手能力。
首先着手对硬件电路的设计,本次课程设计主要采用了8255A接口电路、8253定时/计数器和8259中断控制器这三个芯片电路。
由于对各个芯片不熟悉,通过课本了解到了它们的引脚及功能、工作方式、内部结构和控制字。
对各个功能的熟悉便于了硬件电路的设计
然后就是对程序的设计,想要设计出一个实用的控制系统需要了解程序流程,先画出了流程图,然后对代码进行编写,主要采用汇编语言
最后对程序,硬件电路进行调试。
在调试过程中遇到了很多问题,要么灯都不显示,要么灯显示不全,再要么红灯绿灯时间分配不合理,对系统功能以及软件延时子程序的调用等等,有些问题在同学和老师的帮助下得以解决,但有些却依然存在。
可能是跟自身的代码编写,电路的连接有问题~~所以最好导致无法运行出预期的正确实验结果
经过为期一个星期的课程设计,我获益颇多。
将微机接口技术中的理论与实践相结合起来,对芯片的功能也有了进一步认识理解,重温了汇编语言的编程,还将单片机的原理结合起来了。
在实验调试过程中发现问题,分析问题,如何解决问题的能力都有所提高。
还有一点让我很感动,遇到问题时,同学不厌其烦的帮忙解决问题举动,意识了一个团体力量的伟大。
最后希望通过以后的学习,不断提升自身各方面的能力,如对专业知识的掌握程度,动手实践能力等。
经过此次的课程设计,我们学会了合作。
我们要形成自己的设计思想,以便在今后的专业课形成自己的风格。
同时在多多锻炼自己的动手能力,以便在以后的工作能独立完成一些设计项目。
参考文献
1、《微型接口技术实用教程》(任向民编著)
清华大学出版社
2、《微型计算机及接口实验指导书》
安徽工程科技学院计算机科学与工程系
3、《MCS-51系列单片机应用及接口技术》
徐建军编著,人民教育出社
4、《51系列单片机及C51程序设计》,
王建校编著,科学出版社
5、章忠全主编,电子技术基础――实验与课程设计,第一版。
6、中国科技大学电子学教研室编 卢结成主编 电子电路实验及应用课题设计, 中国科技大学出版社。
7、华中理工大学电子学教研室编 康华光主编,电子技术基础(数字部分),第四版,高等教育出版社。
附录1:
总体电路原理图
附录2:
元器件清单
8255A可并行接口
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交通灯 控制 实验 微机
![提示](https://static.bingdoc.com/images/bang_tan.gif)