微机原理课程设计交通信号灯.docx
- 文档编号:25085545
- 上传时间:2023-06-04
- 格式:DOCX
- 页数:15
- 大小:33.26KB
微机原理课程设计交通信号灯.docx
《微机原理课程设计交通信号灯.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计交通信号灯.docx(15页珍藏版)》请在冰豆网上搜索。
微机原理课程设计交通信号灯
交通信号灯的控制
课程设计报告书
姓名:
学号:
班级:
课程名称:
微机原理与应用课程设计
指导教师:
1.设计题目:
交通信号灯的控制
二.课程设计目的:
综合运用本课程知识,利用集成电路设计实现一些中小规模电子电路或者完成一定功能的程序,以复习巩固课堂所学的理论知识,提高程序设计实现系统、绘制系统电路图的能力,为实际应用奠定一定的基础。
3.设计要求:
1.通过8255A并口来控制LED发光二极管的亮灭。
2.A口控制红灯,B口控制黄灯,C口控制绿灯。
3.输出为0则亮,输出为1则灭。
4.用8253定时来控制变换时间。
要求:
设有一个十字路口,1、3为南,北方向,2、4为东西方向,初始态为4个路口的红灯全亮。
之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。
延迟30秒后,1、3路口的绿灯熄灭,而1,3路口的黄灯开始闪烁(1HZ)。
闪烁5次后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车。
延迟30秒时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁。
闪烁5次后,再切换到1、3路口方向。
之后,重复上述过程。
四.主要设计思路及工作原理:
1.设计思路流程图:
开始
程序初使化
调用显示主程序
东西绿灯亮,南北红灯亮,
进入倒计时,打开数码管显示
东西和南北黄灯亮,进入倒
计时,打开数码管显示
东西红灯亮,南北绿灯亮,进入倒
计时,打开数码管显示
结束
2.工作原理说明:
此方案是通过并行接口芯片8255A和8088计算机的硬件连接,以及通过8253延时的方法,来实现十字路口交通灯的模拟控制。
硬件连接参考方案:
红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4路口的红灯,B,C口类推。
8088工作在最小模式,低八位端口AD0~AD7接到8255和8253的D0~D7,A8~A15通过地址锁存器,接到3—8译码器,译码后分别连到8255和8253的CS片选端。
8253的三个门控端接+5V,CLOCK0接由分频器产生的1MHZ的时钟脉冲,OUT0接到CLOCK1和CLOCK2;OUT1产生30秒定时信号;OUT2产生1MHZ方波通过或门和8255的B口共同控制黄灯的闪烁。
8255三个口全部工作在方式0,即基本输入输出方式,红绿灯的转换由软件编程实现。
五.单元电路设计
●8255A电路
1.8255A基本知识
1)8255A内部接口
8255A内部有3个8位的并行I/O端口,即A口、B口、C口,面向外设一侧各有8根I/O端口数据线,其中C口分为上半部分(高四位)和下半部分(低四位),A口和C口上半部分合称为A组,受组控制管理,B口与C口下半部分合称为B组,受B组控制管理。
2)8255引脚功能:
RESET:
复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。
CS:
片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。
RD:
读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。
WR:
写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写入8255。
D0~D7:
三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
PA0~PA7:
端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数
3)8255A的端口地址;
CS
RD
WR
A1
A0
操作
0
1
0
0
0
写端口A
0
1
0
0
1
写端口A
0
1
0
1
0
写端口A
0
1
0
1
1
写控制字寄存器
0
0
1
0
0
读端口A
0
0
1
0
1
读端口B
0
0
1
1
0
读端口C
0
0
1
1
1
无操作
4)8255A控制字:
D7D6D5D4D3D2D1D0
1
B组
端口C(下半部分)
1=输入
2=输出
端口B
1=输入
2=输出
方式选择
0=方式0
1=方式1
A组
方式选择
00=方式0
01=方式1
10=方式2
端口A
1=输入
2=输出
端口C(上半部分)
1=输入
2=输出
2.8255A对红绿灯的控制实现
1)十字路口红、绿灯通电方式
十字路口红、绿灯通电方式
绿1
绿2
绿3
绿4
黄1
黄2
黄3
黄4
红1
红2
红3
红4
亮
亮
亮
亮
亮
亮
亮
亮
亮
亮
亮
亮
亮
亮
亮
亮
亮
亮
亮
亮
1)初态为四个红灯全亮。
2)1、3路口绿灯亮,2、4路口红灯亮。
3)1、3路口绿灯灭。
4)1、3路口红黄灯闪烁。
5)四个路口红灯全亮。
6)2、4路口绿灯亮,同时1、3路口红灯亮。
7)2、4路口绿灯灭。
8)2、4路口红灯闪烁。
9)转向步骤1)循环执行。
3.电路说明:
1)L1~L4接PA0~PA3,控制红灯。
2)L5~L8接PB0~PB3,控制黄灯。
3)L9~L12接PC0~PC3,控制绿灯。
4)CS接地址译码器218H`21FH。
4.编程思路
通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理。
每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换
●8253电路
1.8253基本知识:
1)读/写控制逻辑
读/写控制逻辑接受系统总线的五个信号,根据这五个信号产生整个器件操作的控制信号。
通过片选信号CS来控制读/写控制逻辑的工作,在没有被系统逻辑选中时,读/写控制逻辑操作功能不会发生变化。
根据A1A0的输入选择3个计数器和控制字寄存器。
通过RD或WR完成指定的读或写操作。
内部操作表如下:
CS
RD
WR
A1
A0
操作
0
1
0
0
0
写计数器0
0
1
0
0
1
写计数器1
0
1
0
1
0
写计数器2
0
1
0
1
1
写控制字寄存器
0
0
1
0
0
读计数器0
0
0
1
0
1
写计数器1
0
0
1
1
0
写计数器2
0
0
1
1
1
无操作
2)8253控制字
D7D6D5D4D3D2D1D0
数制选择
0=二进制
1=十进制
计数器0
0
0
计数器2
0
1
计数器3
1
0
非法操作
1
1
0
0
0
方式0
0
0
1
方式2
0
1
0
方式3
0
1
1
方式4
1
0
0
方式5
1
0
1
方式6
0
0
计数值锁存
0
1
只读/写低8位
1
0
只读/写高8位
1
1
先读/写低8位
2.8253延时实现
设计系统8235的计数器实现要求的30秒钟的定时。
实验系统8235的计数器,CLOCK0接由分频器产生的1MHZ的时钟脉冲,OUT0接到CLOCK1和CLOCK2;频率为1.19318MHZ;GATE2已接+5V;定时采用软硬件相结合的方式实现。
OUT1产生30秒定时信号。
设计数器0的计数初值为25000,由于CLK0接脉冲信号,频率为2.5MHZ,所以每10ms中断一次。
利用CX对不同的状态时间计数,用来实现计数器30秒钟的定时。
中断子程序分为数码显示刷新部分和红绿黄灯各种状态切换部分。
每进入中断即刷新LED显示。
用对于东西车道和南北车道黄灯闪烁利用标志位判断实现,满足比较条件就暗,不满足条件就亮。
●8088电路
1.8088最小组态下的引线:
1)IO/M输入输出/存储器选择信号。
此线若输出低电平,则访问存储器;若此线输出高电平,则为访问I/O端口。
2)WR写信号,此信号低电平有效。
3)INTA中断响应信号,低电平有效。
4)ALE地址锁存信号,高电平有效。
5)DT/R数据发送/接收信号,高电平有效。
6)DEN数据允许信号,低电平有效。
2.最小组态下8088CPU系统
A1~A8
B1~B8
DIR
G
8284808874LS373×3
REST
12
READY8
CLK8
●8255A与8253的连接
8253计数的起停由8255的PA0控制,8255的PA0输出1时,8253开始计数,交通灯按正常状态切换工作,PA0输出0时,计数器停止工作,交通灯不再按正常状态切换。
8253开始计数后每100ms发出一个中断申请信号,在中断子程序中先刷新数码管,然后判断当前状态,进入相应的处理程序进行处理。
当有紧急情况时进入外部中断服务子程序,先让8253停止计数,然后点亮所有的红灯,下一次外部中断处理时,恢复原来的交通灯状况,启动8253开始工作。
六.硬件接线图
7.
开始
程序流程图
Y
N
N
N
2、4黄灯闪烁8次?
结束
调用延时子程序1
有键按下?
点亮四个路口红灯,熄灭绿灯
返回DOS状态
熄灭2、4路口黄灯
1、3黄灯闪烁8次?
写控制字使PB端口为输入,工作方式00
程序初始化
调用延时子程序1
调用延时子程序1
熄灭2、4路口绿灯
2、4路口绿灯亮,1、3路口红灯亮
调用两次延时子程序10
2、4路口黄灯亮
调用延时子程序1
2、4
使四个路口红灯全亮,绿灯全灭
显示提示信息
读取PB口,数据保存在PB单元
写控制字,三个端口工作在方式0输出
四个路口全为红灯亮,绿灯灭
调用两次延时子程序10
1、3路口绿灯亮,2、4路口红灯亮
熄灭1、3路口绿灯
调用延时子程序10
调用延时子程序1
熄灭1、3路口黄灯
调用延时子程序1
熄灭1、3路口黄灯
开始
开始
延时子程序1延时子程序10
保存原CX、AX的内容
循环计数初值30→CX
保存原CX的内容
调用延时子程序
(CX)-1-CX
循环计数初值→CX
CX=0?
(CX)-1-CX
CX=0?
N Y
恢复原CX、AX的内容
恢复原CX的内容
N
返回
返回
八.程序清单
九.设计收获、体会和建议:
本次微机原理课程实际我选的课题是交通信号灯。
刚刚学过了数电这门课程,还没完全弄懂某些接口电路的原理和用途,而此次课程设计恰恰提供了一个好机会,让我们从实践中加深了对所学知识的理解。
在此次的数字钟设计过程中,更进一步地熟悉了芯片的结构及掌握了各芯片的工作原理和其具体的使用方法,特别是8255A芯片和8253芯片。
这学期微机原理实验课的内容就和8255A芯片有关,所以在计数模块上面有以前的经验。
以前做的实验,只是简单了解,通过这次课程设计有一定的难度,但是通过查找资料和请教其他同学,问题也纷纷解决了。
我觉得每次课程设计是一次难得的锻炼机会,让我们能够充分利用所学过的理论知识还有自己的想象的能力,另外还让我们学习查找资料的方法,以及自己处理分析电路,设计电路的能力。
我相信是对我的一个很好的提高,补足平日理论学习后实践方面的空白。
通过这次课程设计,我又掌握了些元器件的性能。
这次设计提高了我理论和实践相结合的能力,增加了把理论用于实践的兴趣,同时也提高了我分析问题和解决问题的能力。
没有最好,只有更好。
我相信通过这一次的课程设计之后,我以后会更加努力,用严谨的科学态度去面对一切。
克服困难,战胜自我,超越自我。
上大学不只是学习课本知识,更重要的是要把课本知识勇于实践当中,而课程设计能把理论与实践紧密结合在一起的,因此我们应该多做一些课程设计。
这次课程设计只是把电路设计出来了,并没有把实物做出来,希望以后的课程设计能够把实物做出来。
10.参考文献
[1]《微机原理与接口技术》.机械工业出版社,2007钱晓捷
[2]《汇编语言与微机接口技术》实验指导书及课程设计指导邓亚玲
[3]《微机原理与接口技术实验指导》国防工业出版社,2004黄海萍,陈用昌
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 课程设计 交通 信号灯