汽车信号灯控制系统课程设计.docx
《汽车信号灯控制系统课程设计.docx》由会员分享,可在线阅读,更多相关《汽车信号灯控制系统课程设计.docx(13页珍藏版)》请在冰豆网上搜索。
汽车信号灯控制系统课程设计
《微机原理与接口技术课程设计》
--汽车信号灯控制系统
班级:
姓名:
学号:
指导教师:
完成日期:
摘要
随着经济的发展,汽车越来越被人们需要,而由此也引发了一系列的问题,比如,一位汽车的突然转向所依法的车祸经常出现。
如果汽车转弯时能够通过尾灯状态的变化来确定就可以提示司机,行人,车子正在转弯,一定程度避免车祸的发生。
本文是关于汽车尾灯控制电路的设计,根据汽车尾灯显示状态与汽车运行状态的关系,分析并设计电路。
整个系统由8255A模块为工作核心,详细介绍了基于8086的汽车尾灯控制电路的设计。
关键字:
汽车尾灯;8255A;cpu模块;子程序模块
1.课程设计题目:
汽车信号灯控制系统
2.课程设计目的:
汽车作为现代交通工具已大量进入人们的生活,随着电子技术的发展,对于汽车的控制电路,已经从过去的全人工开关控制发展到了智能控制。
在夜晚或因天气原因能见度不高的时候,人们对汽车安全行驶要求很高,汽车尾灯控制系统给大家带来了方便。
汽车尾灯控制器是随汽车智能化技术的发展而迅速发展起来的,汽车尾灯一般是用基于微处理器的硬件电路结构构成,本文主要是介绍汽车信号灯的控制,其中汽车信号灯包括了左前灯、右前灯、左后灯、右后灯、仪表盘上的左右转弯信号灯、故障信号灯。
其主要内容是使汽车在行驶过程中通过信号灯来传达汽车诸如转弯、刹车、闭合紧急开关、停靠等一系列操作信号。
信号灯控制的实现主要是通过电路与汇编程序的结合来完成,电路部分的设计是通过PIT++来完成的,其中灯的模拟采用了发光二极管,发光二极管有熄灭、点亮和闪烁三种信号,其中闪烁信号的产生分别运用了硬件和软件来实现,而汽车一系列的操作采用了相应的开关来模拟,所有的电路元件都是用PIT++软件上的虚拟元件来代替,这样方便了电路图的设计,而且大大提高了调试与仿真的效率。
同时,展示了计算机技术在汽车行业的应用,也为人们的日常交通生活提供了便利与安全保障。
3.课程设计的任务与要求
1)任务:
1.任务需求分析
2.设计硬件电路
3.编写汇编程序
4.在PIT++环境下进行仿真与调试
5.开发总结
2)要求:
要求每个学生(或小组)都要自己动手独立设计完成一个典型的微机应用小系统.。
设计题目可以在给出的参考题目中选,也可以自己选设计题目,但难度不应小于参考题目,需经指导教师审查后方可确定是否采纳或修改设计题目。
课程设计的时间为1周。
设计的最终作品包括硬件和软件两个部分,要求能够演示并达到设计指标的要求。
每个学生(或小组)在作品完成后,要经指导教师检查,同意拆除后方可拆卸,并分类放回元器件盒内。
课程设计报告每个学生一份,由课代表收齐后统一交给指导教师。
课程设计成绩评定由3部分组成:
作品+出勤等40%;答辩30%;设计报告30%
4.课程设计原理与方案
4.1设计原理
系统主要以8255A模块为工作核心,八位逻辑电平输入和八位逻辑电平输出为辅助模块;并行接口8255A为通用接口芯片,有三个数据端口A、B、C,每个端口均八位,并可以设置输入输出方式,能够实现并行输入输出。
工作状态下,系统通过并行接口8255A模块读入八位逻辑电平输出端数据,并由B口输出8255A模块寄存器中的数据,显示在八位逻辑电平显示端。
系统可以通过预设五个变量,每个变量对应一种汽车尾灯状态。
当系统工作时,在输出端输出数据即时与系统预设的变量一一比较,相等则跳转到相应的汽车尾灯状态
4.2设计方案
4.2.1需求分析
1)汽车行驶时的五种状况:
1.汽车左转 01110000(左头灯、左尾灯、仪表左灯闪烁)
2.汽车右转 00001110(右头灯、右尾灯、仪表右灯闪烁)
3.汽车出现紧急状况01111110(左右头灯、左右尾灯、仪表左右灯均同时闪烁)
4.汽车刹车 10000001(左右刹车灯亮)
5.汽车停靠11111111(所有灯闪烁)
注:
以上各个状态均由实验箱上的8个发光二极管实现
通过对以上问题描述的深入分析,可总结出以下三点:
(1)通过6个发光二级管模拟两个头灯、两个尾灯和仪表盘上的两个指示灯。
(2)选择5个开关产生主要的五种状态,其他种状态用着五个开关的不同组合来分别控制左转、右转、紧急,刹车,停靠的状态,使发光二极管信号灯相应亮、灭或闪烁,终端的显示状态。
2)系统的主要功能
(1)当用户置开关状态为01H时,也即左转,表左转开关闭合,则左头灯、左尾灯、仪表左灯闪烁,显示端显示left。
(2)当用户置开关状态为02H时,也即右转,表右转开关闭合,则右头灯、右尾灯、仪表右灯闪烁,显示端显示right。
(3)当用户置开关状态为03H时,表紧急开关闭合,也即出现紧急状态时,则左右头灯、左右尾灯、仪表左右灯均同时闪烁,显示端显示hurry。
(4)当用户置开关状态为04H时,表踩刹车(合上刹车开关),则左右尾灯亮,显示端显示break。
(5)当用户置开关状态为05H时,表示汽车此时在停靠,则左右头灯、左右尾灯以1Hz闪烁,显示端显示stop。
设置实验箱上的8个发光二极管的对应情况为:
灯状态
开关状态
左刹车灯
D7
左尾灯
D6
左头灯
D5
左仪表灯
D4
右仪表灯D3
右头灯
D2
右尾灯
D1
右刹车灯
D0
1左转(01h)
灭
闪
闪
闪
灭
灭
灭
灭
2右转(02h)
灭
灭
灭
灭
闪
闪
闪
灭
3紧急(03h)
灭
闪
闪
闪
闪
闪
闪
灭
4刹车(04h)
亮
灭
灭
灭
灭
灭
灭
亮
5停靠(05h)
闪
闪
闪
闪
闪
闪
闪
闪
开关状态与灯状态对应表
4.2.2系统硬件框架与说明
4.2.2.1硬件部分
根据课题所要实现的功能,结合所学的知识进行分析,系统要用到8086微处理器芯片和可编程的并行接口芯片8255A。
8086是Intel系列的16位微处理器,它有16根数据线和20根地址线,本系统采用它作为主处理器。
8255是可编程I/O口扩展芯片。
对8255输入不同的指令可改变I/O口的工作方式。
8255内部有4个寄存器:
分别为寄存器A、B、C和控制寄存器。
A、B、C寄存器的数据就是引脚PA7~PA0、PB7~PB0、PC7~PC0上输入或输出的数据。
而控制寄存器的数据则表明PA、PB、PC的工作方式。
通过CS、A0、A1、RD和WR对4个寄存器进行操作。
(1)CS为低电平时选通8255;
(2)A1、A0为地址选通;(3)RD和WR为读、写信号:
RD为低、WR为高时为读方式,RD为高、WR为低时为写方式。
(4)D0~D7为数据口。
向控制寄存器写入不同的数据可以使8255工作在三种不同的方式下。
2)8255A
8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。
具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。
其各口功能可由软件选择,使用灵活,通用性强。
8255可作为单片机与多种外设连接时的中间接口电路。
8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。
同时必须具有与外设连接的接口A、B、C口。
由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:
与CPU连接部分、与外设连接部分、控制部分
3)8255A并行接口模块
该模块实现将数据读入和将数据输出到八位逻辑电平显示端口。
八位逻辑电平输入端口与8255A的B端口,8255A的A端口与八位逻辑电平输出端口连接;8255A的引脚A0、A1与ES-PCI的引脚A0、A1。
引脚功能
RESET:
复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。
CS:
芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输.
RD:
读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。
WR:
写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。
D0~D7:
三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
PA0~PA7:
端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。
PB0~PB7:
端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。
PC0~PC7:
端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。
端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。
'
A1,A0:
地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器.
当A1=0,A0=0时,PA口被选择;
当A1=0,A0=1时,PB口被选择;
当A1=1,A0=0时,PC口被选择;
当A1=1.A0=1时,控制寄存器被选择
4.电路图设计
原理电路图
电路连线图:
4.2.2.2软件部分
流程图:
子程序调用模块
输入模块:
READB:
MOVDX,MY8255_B从端口B读数据存入AL
INAL,DXALAL中数据表示尾灯状态
刹车模块:
BREAK:
MOVAL,81H
OUTDX,AL
CALLDELAY0
JMPREADB
右转模块:
RIGHT:
MOVAL,0EH
OUTDX,AL
CALLDELAY0
MOVAL,00H
OUTDX,AL
CALLDELAY0
JMPREADB
左转模块:
LEFT:
MOVAL,70H;左转的状态灯显示
OUTDX,AL
CALLDELAY0
MOVAL,00H
OUTDX,AL
CALLDELAY0
JMPREADB
紧急模块:
HURRY:
MOVAL,7EH
OUTDX,AL
CALLDELAY0
MOVAL,00H
OUTDX,AL
CALLDELAY0
JMPREADB
停靠模块:
STOP:
MOVAL,0FFH
OUTDX,AL
CALLDELAY0
MOVAL,00H
OUTDX,AL
CALLDELAY0
JMPREADB
延时模块:
DELAY0PROCNEAR
PUSHCX
PUSHAX
MOVCX,3C00H
S13:
CALLDELAY
LOOPS13
POPAX
POPCX
RET
DELAY0ENDP
5.调试过程
(1)准备好PC机、安装PIT++软件。
(2)在PIT++环境下将设计的电路绘制出来。
(3)编写汇编程序代码。
(4)汇编调试、运行。
(5)记录运行结果,以及调试中遇到的问题。
6.课程设计体会
接口的课程设计,之前没有接口编程设计,所以感觉难度比较大,也因为如此,在找资料及向老师同学的请教中学到了很多的东西,本次课程设计是汽车尾灯控制电路,应用汇编语言进行设计,从而实现汽车信号灯的设计。
从一开始的懵懵懂懂,到最后的答辩如流,这中间,我付出了许多,短短一个星期的课程设计中,我不断学习,不断进步,在老师和同学的帮助下,做成了一个不算太成熟的作品,对于接口电路更是有了进一步的了解,在知识综合运用的电路的设计中确实有了很多意想不到的困难。
实践出真知,通过这次课程的设计让我学到了书本中没有的很多东西,我想最主要的就是一种综合能力的提升。
我认为这样的课程设计很有现实意义,这样的教学方法对于提升同学们的综合运用能力也是行之有效的,在此过程中不断认识自己,了解自己,提高自己,真正的做到整个实验过程对自己整个人都有所影响,有所回报,这样才能使整个过程更加有意义,也是自己的人生更加充实,在此课程设计中,在克服重重困难的同时也是我看到了电子学习的乐趣,为以后的学习工作打下了坚实的基础。
为以后的工作和学习赢得了必要的信心与决心。
最后衷心感谢老师的悉心指导。
2.参考文献
[1]赵杰,何宏,龚威,刘源.《微型计算机原理与接口技术》天津大学大学出版社.
[2]戴梅萼,史嘉权.16-32位微型计算机技术及应用[M].北京:
清华大学出版社.