沈阳大学微机原理课程设计报告交通灯.docx
- 文档编号:24027753
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:20
- 大小:578.02KB
沈阳大学微机原理课程设计报告交通灯.docx
《沈阳大学微机原理课程设计报告交通灯.docx》由会员分享,可在线阅读,更多相关《沈阳大学微机原理课程设计报告交通灯.docx(20页珍藏版)》请在冰豆网上搜索。
沈阳大学微机原理课程设计报告交通灯
课程设计任务书
专业
自动化
班级
12自动化2
姓名
设计起止日期
2014.12.22~2014.12.26
设计题目:
交通灯系统设计
设计任务(主要技术参数):
1.利用8253定时器、8255等接口,设计一电路,模拟十字路口交通灯控制。
2.实现自动控制和手动应急控制。
指导教师评语:
成绩:
签字:
年月日
课程设计说明书NO.1
1引言
交通灯是采用计算机通过编写汇编语言程序控制的。
红灯停,绿灯行的交通规则。
广泛用于十字路口,车站,码头等公共场所,成为人们出行生活中不可少的必需品,由于计算机技术的成熟与广泛应用,使得交通灯的功能多样化,远远超过老式交通灯,交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。
诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。
还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间。
或者给红绿色盲声音警示的人性化设计。
现在的交通灯系统很多都增加了智能控制环节,比如对闯红灯的车辆进行拍照。
当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。
要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。
因此,研究交通灯及扩大其应用,有着非常现实的意义。
沈阳大学
课程设计说明书NO.2
2设计方案论证
2.1设计原理
此设计是通过并行接口芯片8255A和8086计算机的硬件连接,以及通过8253延时的方法,来实现十字路口交通灯的模拟控制。
用LED演示交通灯变化规律:
亮、灭、闪烁;
通过8253计数器0和计数器1级联实现准确定时;用8255的某一输入输出口中的某些位控制东西、南北路口交通灯的状态;用8259A管理可屏蔽中断。
2.2设计环境及设备
PC机一台、
8255并口:
用做接口芯片。
LED:
共有12个LED灯
开关
2.3交通灯工作原理
1.东西方向车辆放行60秒钟。
即东西绿灯和南北方向的红灯同时点亮1分钟;
2.1分钟后,东西方向的红(绿)灯闪烁5秒钟,以警示车辆将切换红绿灯。
此时南北方向仍维持红灯点亮。
3.东西方向的红(绿)灯闪烁5秒钟后,转为南北方向放行60秒钟。
即东西方向的红灯和南北方向的绿灯同时点亮60秒钟;
4.南北方向放行60秒钟后,转为南北方向的红(绿)灯闪烁5秒钟,以警示将切换红绿灯。
此时东西方向仍维持红灯点亮。
5.南北方向的红(绿)灯闪烁5秒钟后转为东西方向放行1分钟。
如此循环重复。
沈阳大学
课程设计说明书NO.3
3系统硬件设计
3.18086简介
Intel8086是16位的微处理器(其内部总线为16位,外部总线为8位,故称为准16位微处理器),它采用HMOS工艺40条引脚封装。
8086工作时使用5V电源,时钟频率5MHz(8086-1为10MHz,8086-2为8MHz)它有20根地址线,故可寻址的内存空间为1MB【2】。
(1)8086的主要特性
Intel8086/8088CPU是Intel公司推出的高性能的微处理器,具体如下主要特性:
(a)8086CPU数据总线为16位,8088CUP数据总线为8位。
(b)地址总线都是20位,低16位用于数据总线复用,可直接寻址为1MB的存储空间。
(c)有16位的端口地址,可以寻址64KB的I/O端口。
(d)有99条基本指令,指令功能强大。
(e)有9种基本寻址方式。
(f)可以处理内部和外部中断,外部中断源多达256个。
(g)兼容性好,8086、8085在源程序一级兼容。
(h)8086/8088标准主频为5MHz,8086/8088-2主频为8MH【3】。
(i)支持单处理器或多处理器系统工作。
(2)8086CPU寄存器结构
8086CPU中有14个16位的寄存器,其中有4个16位的通用寄存器,2个16位指针寄存器,2个16位变址寄存器,1个16位指令指针及1个16位标志寄存器【8】。
通用寄存器包括累加器AX,基址寄存器BX,计数寄存器CX,数据寄存器DX四个寄存器,位于CPU的EU中,每个数据寄存器可存放16位操作数,也可拆成两个8位寄存器,用来存放8位操作数。
沈阳大学
课程设计说明书NO.4
指针和变址寄存器包括:
堆栈指针SP、基址指针BP、源变址寄存器SI、和目的变址寄存器DI四个16位寄存器,可以来存放数据和地址。
段寄存器包括:
代码段寄存器CS,数据段寄存器DS,附加段寄存器ES,堆栈段寄存器SS【4】。
图18086CPU的内部功能结构图
3.28255简介
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。
CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。
用+5V单电源供电,能在以下三种方式下工作:
方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式【3】。
沈阳大学
课程设计说明书NO.5
8255的内部结构及引脚图如图2所示。
图28255内部结构及引脚图
具体的各引脚功能如下【3】:
D0~D7为双向数据信号线,用来传送数据和控制字。
RD为读信号线,与其它信号线一起实现对8255接口的读操作通常接系统总线的IOR信号。
WR为写信号线,与其它信号一起实现对8255的写操作,通常接系统总线的IOW。
CS为片选信号线,当它为低电平(有效)时,才能选中该8255芯片,也才能对8255进行操作【6】。
A0,A1为口地址选择信号线。
8255内部有3个口;A口,B口,C口,还有一个控
沈阳大学
课程设计说明书NO.6
制寄存器,它们可由程序寻址。
A0,A1上的不同编码可分别寻址上述3个口和一个控制寄存器,具体规定如表1所示。
表18255的寻址方式
A1
A0
选择
0
0
A口
0
1
B口
1
0
C口
1
1
控制寄存器
通常A0,A1分别接系统总线A0和A1,它们与CS一起来决定8255的接口地址。
RESET为复位输入信号。
此端上的高电平可使8255复位。
复位后,8255的A口,B口,C口均被定为输入状态。
PA0~PA7为A口的8条输入输出信号线。
PB0~PB7为B口的8条输入输出信号线。
PC0~PC7,8条线根据其工作方式可作为数据的输入或输出线,也可以用作控制信号的输出或状态信号的输入线
沈阳大学
课程设计说明书NO.7
8255工作方式控制字和C口按位置位/复位控制字格式如图3所示【4】。
图3置位/复位控制字格式
8255的寻址:
8255占外设编址的4个地址,即A口,B口,C口和控制寄存器各占一个外设接口地址。
对同一个地址分别可以进行读写操作。
例如,读A口可将A口的数据读出;写A口可将CPU的数据写入A口并输出【8】。
如表2为方式0下系统的输入输出组合,其中分为A,B组,A组分为A口和C口,B组分为B口和C口。
沈阳大学
课程设计说明书NO.8
表2方式0下,8255的16种输入输出组合
A组
B组
A口(PA0---PA7)
C口(PC4---PC7)
B口(PB0---PB7)
C口(PC0---PC3)
入
入
入
入
入
入
入
出
入
入
出
入
入
入
出
出
入
出
入
入
入
出
入
出
入
出
出
入
入
出
出
出
出
入
入
入
出
入
入
出
出
入
出
入
出
入
出
出
出
出
入
入
出
出
入
出
出
出
出
入
出
出
出
出
沈阳大学
课程设计说明书NO.9
3.38253简介
intel8253是NMOS工艺制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异。
图48253内部结构及引脚图
8253内部可分为6个模块,每个模块的功能如下:
(1)数据总线缓冲器及数据总线D0~D7(如上图所示)
(2)读/写控制逻辑及控制引脚
(3)控制字寄存器
在初始化编程时,CPU写入方式控制字到控制字寄存器中,用以选择计数通道及其相应的工作方式。
8253的工作方式也是有控制字来决定。
(4)计数通道0、计数通道1、计数通道2
3个计数通道内部结构完全相同。
每个计数通道都由一个16位计数初值寄
沈阳大学
课程设计说明书NO.10
存器、一个16位减法计数器和一个16位计数值锁存器组成
计数初值存于预置寄存器,在计数过程中,减法计数器的值不断递减,而预置寄存器中的预置不变。
输出锁存器用于写入锁存命令时,锁定当前计数值
计数器的3个引脚说明:
1.CLK时钟输入信号
在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减
2.GATE门控输入信号控制计数器工作,可分成电平控制和上升沿控制两种类型。
3.OUT计数器输出信号当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号。
8253有6种工作方式,由方式控制字确定。
区分这6种工作方式的主要标志由3点:
一是输出波形不同;二是启动计数器的触发方式不同;三是计数过程中门控信号GATE对计数器操作的控制不同。
图58253控制字
沈阳大学
课程设计说明书NO.11
在Proteus环境下,结合课程设计题目,设计硬件原理图,搭建硬件电路
软件设计
1.方式0--低电平输出(GATE信号上升沿继续
2.方式1--低电平输出(GATE信号上升沿重新计数)
3.方式2--周期性脉冲输出
4.方式3--周期性方波输出OUT输出低电平,装入计数值n后,OUT立即跳变为高电平。
如果当前GATE为高电平,则立即开始减“1”计数,OUT保持为高电平,若n为偶数,则当计数值减到n/2时,OUT跳变为低电平,一直保持到计数值为“0”,系统才重新置入计数值n,实现循环计数。
这时OUT端输出周期为n×CLK周期,占空比为1:
1的方波序列:
若n为奇数,则OUT端输出周期为n×CLK周期,占空比(n+1)/2:
(n-1)/2的近似方波序列。
5.方式4--单次负脉冲输出(软件触发)
6.方式5--单次负脉冲输出(硬件触发)每种工作方式的设置过程类似:
⑴设定工作方式
⑵设定计数初值
〔⑶硬件启动〕
⑷计数初值进入减1计数器
⑸每输入一个时钟计数器减1的计数过程
⑹计数过程结束
3.4八个LED显示器及其接口
十二个LED小灯为共阳极,一端接高电平,一端接8255端口,当输出为0时,小灯才会亮。
LED技术参数说明:
发光二极管的压降一般为1.5-2.0V,即工作电压要求不高,而且构造简单,其工作电流一般取10-20mA为宜。
沈阳大学
课程设计说明书NO.12
3.5模拟8086系统硬件接线图
图6硬件连接图
沈阳大学
课程设计说明书NO.13
4交通灯软件设计
4.1程序流程图
图7程序流程图
沈阳大学
课程设计说明书NO.14
4.2软件编程实现
CS8253_T0EQU00010H
CS8253_CTLEQU01810H
CS8255_PAEQU00018H
CS8255_PBEQU00218H
CS8255_CTLEQU00618H
CODESEGMENT
ASSUMECS:
CODE,DS:
CODE
START:
PUSHCS
POPDS
CLI;关中断
MOVDX,CS8253_CTL;定时器0工作在方式3
MOVAL,00010000B
OUTDX,AL
MOVDX,CS8253_T0
MOVAL,01H;频率12hz,计时为1s
OUTDX,AL
MOVAL,10000000B
MOVDX,CS8255_CON
OUTDX,AL
沈阳大学
课程设计说明书NO.15
CALLSTATUS0;初始状态(都是红灯)
MLOOP:
CALLSTATUS1;南北绿灯,东西红灯
CALLSTATUS2;南北绿灯闪转黄灯,东西红灯
CALLSTATUS3;南北红灯,东西绿灯
CALLSTATUS4;南北红灯,东西绿灯闪转黄灯
JMPMLOOP
STATUS0:
MOVAL,0F0H;南北红灯,东西红灯
MOVDX,CS8255_PA
OUTDX,AL
MOVBL,10
STI;开中断
LOOPA:
CMPCL,1;判断是否计时为1s
JNELOOPA;不到一s则回去
MOVCL,0
CLI;关中断
RET
STATUS1:
MOVAL,05AH;南北红灯,东西红灯
MOVDX,CS8255_PA
OUTDX,AL
MOVBL,50
STI;开中断
沈阳大学
课程设计说明书NO.16
LOOPB:
CMPCL,5;判断是否计时为5s
JNELOOPB;不到一s则回去
MOVCL,0
CLI;关中断;延时5秒
RET
STATUS2:
MOVCX,3;绿灯闪3次
FLASH:
MOVAL,050H;南北红灯,东西红灯
MOVDX,CS8255_PA
OUTDX,AL
MOVBL,3
CALLDELAY;延时0.3秒
MOVAL,05AH;南北红灯,东西红灯
MOVDX,CS8255_PA
OUTDX,AL
MOVBL,3
CALLDELAY;延时0.3秒
LOOPFLASH
MOVAL,0FAH;南北红灯,东西红灯
MOVDX,CS8255_PA
OUTDX,AL
MOVBL,10
STI;开中断
沈阳大学
课程设计说明书NO.17
LOOPC:
CMPCL,1;判断是否计时为1s
JNELOOPC;不到一s则回去
MOVCL,0
CLI;关中断;延时1秒
RET
STATUS3:
MOVAL,0A5H;南北红灯,东西绿灯
MOVDX,CS8255_PA
OUTDX,AL
MOVBL,50
STI;开中断
LOOPD:
CMPCL,5;判断是否计时为5s
JNELOOPD;不到一s则回去
MOVCL,0
CLI;关中断;延时5秒
RET
沈阳大学
课程设计说明书NO.18
STATUS4:
;南北红灯,东西绿灯闪转黄灯
MOVCX,3;绿灯闪3次
FLASH1:
MOVAL,0A0H
MOVDX,CS8255_PA
OUTDX,AL
MOVBL,3
CALLDELAY;延时0.3秒
MOVAL,0A5H
MOVDX,CS8255_PA
OUTDX,AL
MOVBL,3
CALLDELAY;延时0.3秒
LOOPFLASH1
MOVAL,0F5H;南北红灯,东西黄灯
MOVDX,CS8255_PA
OUTDX,AL
MOVBL,10
STI;开中断
LOOPE:
CMPCL,1;判断是否计时为1s
JNELOOPE;不到一s则回去
MOVCL,0
CLI;关中断;延时1秒
RET
沈阳大学
课程设计说明书NO.19
DELAYPROCNEAR
PUSHCX
DL1:
MOVCX,8000H
DL2:
LOOPDL2
DECBL
CMPBL,0JNEDL1
POPCX
RET
DELAYENDP
IRQ2:
CLI
MOVAL,BL
NOTAL
MOVBL,AL
ADDCL
STI
IRET
CODEENDS
ENDSTART
沈阳大学
课程设计说明书NO.20
5仿真结果
图8仿真结果图
6设计体会
一周的微机课程设计很快就结束了,在课程设计的这段时间里,我不仅学到了许多新的知识,而且加深了我对以前学习的理论知识的掌握。
以前我们学的东西仅限于课本,对实实在在的应用还比较模糊,这次课程设计有利于同学们学习目的的明确性和主动性。
通过这次课程设计,我们知道了哪些东西是应该确实掌握的,在学校里,没有实实在在的实习,我们总以为学的东西没太多用,当我们在课程设计过程中了解到我们学的东西是如此重要时,我们学习的积极性有了,目的性提高了。
总之,经过这次课程设计,我对今后的专业学习所要注意的事项有了更深刻地了解,这对我以后的学习必将产生深远的影响。
沈阳大学
课程设计说明书NO.21
7参考文献
[1] 齐志儒、高福祥.汇编语言程序设计.沈阳:
东北大学出版,2008.2:
13-28
[2] 刘均、周苏、金海荣.汇编语言程序设计实验教程.北京:
科学出版社,2011.4:
286-318
[3] 周佩玲、彭虎、傅忠谦.微机原理与接口技术.北京:
电子工业出版社,2004.4:
213-258
[4] 方立友.微机原理与汇编语言实用教程.北京:
清华大学出版社,2008.5:
159-189
[5] 凌志浩.微机原理与接口技术.上海:
华东理工大学出版社,2006.3:
223-228
[6] 彭虎、周佩玲、傅忠谦.《微机原理里与接口技术》(第2版) [M] 北京:
电子工业出版社2007.1:
133-286
[7] 顾晖等.微机原理与接口技术-基于8086和Proteus仿真[M].电子工业出版社,2005.2:
187-258
[8]戴梅萼等.微型计算机技术及应用[M].北京:
清华大学出版社,2012.1:
12-54
[9]沈美明等.IBM-PC汇编语言程序设计 [M].北京:
清华大学出版社,2006.4:
113-228
[10]彭虎等. 微机原理与接口技术(第2版) [M].电子工业出版社,2003.1:
223-238
沈阳大学
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 沈阳 大学 微机 原理 课程设计 报告 交通灯