汽车速度控制系统框图+电路图+流程图+源程序课程设计Word格式文档下载.docx
- 文档编号:19975364
- 上传时间:2023-01-13
- 格式:DOCX
- 页数:13
- 大小:24.23KB
汽车速度控制系统框图+电路图+流程图+源程序课程设计Word格式文档下载.docx
《汽车速度控制系统框图+电路图+流程图+源程序课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《汽车速度控制系统框图+电路图+流程图+源程序课程设计Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
16
4.3串行通信模块
17
5总结
18
6致谢词
19
参考文献
20
附录:
21
附录1:
程序清单
附录2:
8088应用系统电路原理图
26
附录3:
8255A扩展按键、LED显示模块电路图
27
1序言
现在许多轿车都有速度控制系统。
速度控制系统(SpeedControlSystem)又称为巡航控制系统(CrusleControlSystem),缩写为CCS其作用是:
按司机要求的速度合开关之后,不用踩油门踏板就自动地保持车速,使车辆以固定的速度行驶。
采用了这种装置,当在高速公路上长时间行车后,司机就不用再去控制油门踏板,减轻了疲劳,同时减少了不必要的车速变化,可以节省燃料。
顾名思义,速度控制系统的基本功能就是速度控制,当按下车速调置档位后,就能存储该时刻的车速并能自动保持这个车速。
当出现紧急情况时,按紧急停车本文源自六维论文网键停车。
速度控制系统除以上基本功能外还可以增加以下功能:
加速(Accelerate)或减速(Coast)功能,继续按动开关进行连续加速或者减速,以不按动开关时的车速进入速度控制系统。
本设计是一个用键盘控制实现汽车速度档位控制的系统,该系统是由
8088作为微处理器,扩展可编程并行I/O接口8255A芯片,LED数码管及键盘和发光二极管等芯片及元器件,再辅以其他外围电路和软件程序集合而成。
通过本系统的设计,我们将所学的常用芯片的知识结合起来综合运用建立一个完整的单片机温度监控系统。
在此设计过程中,可以深刻体会并加以运用了这学期所学的《单片机原理及应用技术》所讲的知识和原理,有利于我们以后的进一步学习和工作。
1372
2总体设计2.1总体设计框图图1汽车速度控制系统设计框图
2.2.系统工作原理本系统是将在现场采集到的速度控制信息(用键盘模拟控制信息,通过I/O接口芯片将信息读入),经I/O接口芯片将键盘控制信息送至微处理器。
然后,计算机按照读入的键盘号对汽车速度进行相应的控制,再将当前速度一路送至I/O接口芯片并在显像管中显示当前的汽车速度;
当确定档位后通过发光二极管显示当前的档位;
设置紧急情况为不可屏蔽中断,当出现紧急情况时触发中断紧急处理情况。
在键盘管理模块中,按“1”键启动系统,汽车以最低速度行驶,同时用1盏发光二极管灯显示挡位,数码管显示速度(。
汽车慢加速时用“4”键,急加速时用“5”键,慢刹车时用“6”键,急煞车时用“7”键。
加速和刹车时用数码管显示相应的速度变化;
当汽车需紧急停车时,键入“8”键,所有发光二极管熄灭,同时数码管显示“0”
3硬件设计
3.1中央处理器模块
3.1.1中央处理器模块功能
中央处理器模块处理与控制外部与内部信息。
3.1.2中央处理器模块组成
该模块由8088芯片及其附属支持芯片组成,包括8284时钟发生器,8288总线控制器,两片74LS373地址锁存器,两片62512存储器及其74LS245三态输出锁存器。
3.1.3中央处理器模块工作原理
8284时钟发生器为8088系统设计的单片时钟发生器。
它为CPU提供时钟、READY、RESET等信号。
两片74LS373地址锁存器锁存分时复用的地址。
74LS245输出八位数据。
两片容量为64K的62512组成容量为1MB的存储器。
3.1.4中央处理器相应电路设计
(1)8088小应用系统电路设计
8088微处理器芯片为40只引脚(线)的双列直插式封装。
运用引脚多路复用技术解决引脚不够的矛盾。
引脚复用的实质是两个信号合用同一引脚分时传输信号,即同一个引脚在不同的时间段代表不同的信号。
8086和8088两个微处理器芯片的共同点是采用20位地址线,而且指令系统与操作方式也是相同的。
都采用分时复用的地址总线和数据总线,有一部分引脚具有地址线和数据线两种功能。
主要差别在于数据线引脚的位数不同。
8086数据线引脚为16个;
8088数据线引脚为8个。
8086与8088微处理器都具有两种工作模式,即最小模式和最大模式。
最小与最大模式的确定是通过一条引脚MN/MN所接的逻辑电平是“1”是“0”来完成。
在最小(MN)方式下,微处理器被用来构成一个小规模的单处理机系统,微处理器本身必须提供全部的控制信号给外围电路。
在最大(MX)方式下,微处理器被用来构成一个较大规模的多机系统。
由于外围电路芯片数目较多,有的信号要经系统总线转插件送到另外的板卡上去,控制信号的负载加重不能直接由微处理器的引脚信号来驱动
。
基本引脚信号
AD15—AD0(输入输出,三态):
8086的地址/数据线复用引脚。
8088微处理器对外只有8位数据线,因此只复用AD7—ADo,AD15—AD8:
是独立的地址信号引脚。
(2)A19/S6一A16/S3(输出,三态):
地址/状态分时复用引脚。
在微处理器执行片外访问操作时,先发送高4位地址码,后发送处理器的状态信息。
S6为0,表示AD15—AD0作为数据线使用;
S5为1表示处理器开中断。
为0表示处理器关中断;
S4和S3组合表示当前段寄存器的使用情况。
00
ES;
01
SS;
10
CS;
11
DS
(3)BHE/S7(输出,三态):
高8位数据线允许/状态分时复用引脚。
当处理器执行访问存储器或输入输出设备时,首先给出BHE信号以确定是否进行高8位本文源自六维论文网数据的传输。
(4)NMI(输入):
非屏蔽中断请求输入线,上升边触发。
(5)INTR(输入):
可屏蔽中断请求输入线,高电平有效。
(6)RD(输出,三态):
读命令(或叫作读选通)信号,低电平有效,此信号启动一次数据从存储器或输入输出设备读入处理器中的过程。
(7)CLK(输入):
时钟信号,占空比1:
3,由外部时钟产生电路提供。
(8)RESET(输入):
复位信号,它至少保持4个时钟周期的高电平,使处理器停止正在进行的操作,并使标志寄存器、IP、DS、SS、ES和指令队列置0,代码段寄存器CS置成FFFFH(全“l”)。
因此复位信号有效作用后.处理器从FFFFOH存储单元取指令并开始执行。
(9)READY(输入):
准备好信号。
处理器在进行存储器或输入输出设备的访问时,不断检测READY引脚的状态。
在被访问者没有完成数据传送之前READY引脚处于低电平(无效电平),处理器自动在操作过程中插入一个或几个等待状态来延长访问过程。
(10)TEST(输入):
测试信号,低电平有效。
当处理器执行WAIT指令时,每隔5个时钟周期对于面引脚进行一次测试。
如果是高电平,处理器仍处于等待状态;
为低电平时,处理器脱离等待状念。
(11)MN/MX(输入):
最大/最小工作模式的选择信号。
(12)VCC(输入):
处理器的电源输入引脚,接十5V电源。
(13)GND:
处理器的地线引脚,接至系统地线。
最小工作模式下的有关控制引脚信号
(1)INTA(输出):
最小工作模式的中断响应信号。
(2)ALE(输出):
地址锁存允许(选通)信号。
(3)DEN(输出、三态):
数据允许信号,用来控制数据总线双向缓冲器的接通与断开,低电平有效。
(4)DT/R(输出,三态):
数据发送/接收控制信号。
DT/R为高电平时,缓冲器发送数据(写),当DT/R为低电平时,缓冲器接收数据(读)。
(5)M/IO(输出,三态):
存储器、输入输出设备的选择信号。
高电平则表明访问操作是对存储器的,为低电平则访问操作是对输入输出设备的。
(6)WR(输出,三态):
写命令信号,低电平有效。
(7)HOLD(输入):
总线请求信号,高电平有效,当处理器以外主模块需要使用总线时发出HOLD有效信号,直至总线使用完毕时释放总线并撤消HOLD信号。
(8)HLDA(输出):
总线请求响应信号,高电平有效。
当占用总线的主模块收到HOLD请求信号后,在完成当前总线操作后发出HLDA有效信号,表明申请使用总线的其他主模块可以使用总线。
(9)SS0(输出):
8080最小模式下周期状态信号
最大工作模式下的有关控制引脚信号
(1)
QS1、QS0(输出):
指令队列状态信号,用于表示当前指令队列的状态。
:
无操作
01:
取第一字节
队列空
11:
取后续字节
(2)S2、S1、S0(输出,三态):
最大模式下总线周期状态信号。
这三个信号送给8288总线控制器,8288输出各种操作的控制信号。
(3)LOCK((输出,三态):
总线封锁信号。
(4)RQ/GT0、RQ/GT1(输入输出):
最大模式下的总线请求/总线响应信号。
RQ/GT0优先级高于RQ/GT1。
送入不同的值来控制Y0~Y7的线选。
我们这个系统就是用74LS138来实现地址扩展。
下表为74LS138的真值表:
地址线A2、A3、A4送入译码器输出Y0、Y1来控制ADC0809与DAC0832端口地址。
存储器扩展地址范围
8088
A19A18…A0
74LS138
G1
G2AG2BCBA
62256
(1)
CS
A15A14A13
62256
(2)
根据以上表格可以得知,62512
(1)的地址范围为:
62512
(1)的地址范围为:
由于8088复位以后,CS=0FFFFH,IP=0000H,PA0=
经过分析可知:
图18088综合模块图
3.28255人机接口模块
3.2.1
I/O接口模块功能
CPU与I/O设备之间的连接及信息处理本文源自六维论文网和CPU与存储器之间的连接及信息处理相类似。
但实际上,I/O设备的种类繁多,CPU与其交换信息相比之下更为复杂,因此,通常I/O设备并不直接与CPU进行信息交换,而是通过相应的I/O接口来进行的。
I/O接口是CPU与I/O设备之间进行信息交换的环节。
3.2.2
I/O接口模块组成
键盘,发光二极管,74LS138译码器组成。
INTEL8255A是可编程通用并行接口芯片,具有两个8位(A和B口)和两个4位(C口高/低四位),通过读写PA,PB,PC三口状态实现信息交换。
74LS138是3-8译码器,通过给ABC送入不同的值来控制Y0~Y7的线选。
这个系统就是用74LS138来实现地址扩展。
地址线A2~A7送入译码器输出Y0来控制8255A各端口地址。
由电路图可知8255A的各端口地址分别为:
0020H、0021H、0022H、0023H。
I/O接口模块工作原理
(1)I/O接口芯片设计
8255A是一个具有两个8位(A和B口)和两个4位(C口高/低四位),最多可达24位的并行输入输出端口的接口芯片,可执行功能很强,内容丰富的两条命令(方式字和控制字)为用户如何根据外界条件(I/O设备需要哪些信号线以及它能提供哪些状态线)来使用8255A构成多种接口电路,为组建微机应用系统提供了灵活方便的编程环境,是一种名副其实的通用并行接口芯片。
同时它是一个单一+5V电源供电40个引脚的双列直插式组件,其外部引线如图六所示。
图2 8255A引脚
作为接口电路的8255A具有面向主机系统总线和面向外设两个方向的连接能力。
它的引脚正是为了满足这种连接要求而设置的。
如
D0~D7:
双向数据线。
CPU通过它向8255A发送命令、数据;
8255A通过它向CPU回送状态、数据。
:
选片信号线,该信号低电平有效,由系统地址总线经I/O地址译码器产生。
CPU通过发高位端口地址信号使它变成低电平时,才能对8255A进行读写操作。
当为高电平时,切断CPU与芯片的联系。
A1,A0:
芯片内部端口地址信号线,与系统地址总线低位相连。
该信号用来寻址8255A内部寄存器。
两位地址,可形成片内四个端口地址。
读信号线,该信号低电平有效"
CPU通过执行IN指令,发读信号将数据或状态信号从8255A读至CPU。
写信号线,该信号低电平有效,CPU通过执行OUT指令,发写信号,将命令代码或数据写入8255A。
RESET:
复位信号线,该信号高电平有效。
它清除控制寄存器并将8255A的A、B、C三个端口均置为输入方式;
输出寄存器和状态寄存器被复位,并且屏蔽中断请求;
24条面向外设的信号线呈现高阻悬浮状态。
这种势态一直维持,直到用方式命令才能改变,使其进入用户所需的工作方式。
面向I/O设备的信号线有:
PA0~PA7:
端口A的输入输出线,PB0~PB7:
端口B的输入输出线,PC0~PC7:
端口C的输入输出线,这24根信号线均可用来连接I/O设备,通过它们可以传送数字量信息或开关量信息。
在本课程设计中我们用PC口来控制发光二极管的闪烁,用A口来连接LED数码管显示。
它的端口选择的基本操作如表三所示。
表一 8255A的基本操作
(2)键盘电路设计
1)工作原理
用电平逻辑开关输出高低电平来代替键盘按键。
按“1”键启动系统,汽车以最低速度行驶,同时用1盏发光二极管灯显示挡位,数码管显示速度(最低速度为5Km/h)。
当需要档位时,用键盘键入2、3键,并用不同颜色的发光二极管“7”键。
当汽车需紧急停车时,键入“8”键,所有发光二极管熄灭,同时数码管显示“0”
在单片机中开辟三个数据缓冲区,分别存放当前汽车速度的个位、十位和百位,送入数码管缓冲区,通过8255的PA、PB口分别控制字形口与字位口,从而控制LED对时间动态的显示。
将已存放在数据缓冲区内的汽车速度数据(已将数据由十六进制数转化为BCD码)送入数码管缓冲区,通过8255的PA、PC口分别控制字形口与字位口,从而控制LED对汽车速度的动态显示。
2)电路设计
用键盘输出高低电平来代替速度控制信息。
键盘的两端分别与上拉电阻与地线相接,当有键盘按下时,PB口的逻辑状态由高电平变为低电平,从而实现键盘本文源自六维论文网管理模块的功能。
图3键盘管理电路3.3汽车速度显示模块3.3.1
汽车速度显示模块功能
通过三位LED数码管动态显示汽车当前速度值。
3.3.2
LED数码管汽车速度显示电路设计
LED显示器有8个发光二极管按“日”字排列,其中7个发光二极管组成“日”字形的笔画断,另一个发光二极管为圆点形状,安装在显示器的右下脚做小数点。
分别控制各笔画段的LED,使其中的某些发光,从而可以显示出0-9的阿拉伯数字符号以及其他能由这些笔画段构成的各种字符。
其内部结构由两种——共阴极数码管和共阳极数码管。
我们采用了共阳极数码管。
要显示0-9时,其编码依次为:
C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H,88H,83H,C6H,A1H,86H,8EH,8CH,89H.
LED显示器的显示方法有两种——静态显示法和动态扫描显示法。
静态显示就是每一个显示器各笔画段都要独占具有所存功能的输出口线,CPU把要显示的字符代码送到输出口上,就可以是显示器显示所需的数字后符号。
但由于它站用的I/O口线较多,硬件成本高。
所以我们选用了动态扫描显示法。
它把所有显示器的8个笔画段a-h的个同名端互相并接在一起并把它们接到字段输出接口上。
各个显示器的公共端接到位输出接口上。
这样LED显示器需要有两组信号来控制-段码和位码。
在着两组信号的控制下,可以1位一位的轮流点亮各个显示器显示各自的数码以实现动态扫描显示。
在轮流点亮的过程中,每位显示器点亮的时间则是极为短暂的,但由于LED具有余辉性以及人眼的惰性,尽管各位显示器实际上是分时段续的显示,但只要选取扫描频率,给人的视觉印象就是在连续稳定的显示。
其显示接口电路如图4所示:
图43.3.3汽车速度显示相应电路图5
LED动态显示电路
4软件设计4.1主程序模块4.1.1主程序设计思想
首先初始化8255A、建立中断向量表,紧急刹车为外部非屏蔽中断。
查询是否有档位键按下,若有,则显示该档位下的初速度,然后查询是否有功能键按下,若有,则处理对应的功能并显示此时汽车的速度。
当查询到紧急刹车键按下使,产生非屏蔽中断,转入中断服务子程序使汽车速度为零并显示。
4.1.2主程序流程图
图7
主程序流程图4.2显示模块4.2.1设计思想
首先在内存中的数据段中定义三个显示缓冲区,分别存入显示数据的个位、十位和百位,然后再定义显示段码区。
在该模块中设置了三个LED数码管,用以显示汽车速度的个位,十位和百位,读入键盘信息后,汽车速度做相应的功能改变。
然后将改变的汽车速度值经PA口分别送入KL1、KL2、KL3,以便动态显示当前汽车速度值。
4.2.2程序流程图4.3串行通信模块4.3.1中断程序设计思想
将紧急刹车键设为非屏蔽中断,当紧急刹车键按下时,产生中断信号由NMI送入CPU,最后由CPU处理中断服务子程序。
在中断服务子程序中将速度清零,发光二极管熄灭。
4.3.2中断服务子程序流程图
4.4
功能服务程序设计
4.4.1功能服务程序设计思想
读入键盘信息后,进入功能服务子程序,判断几号功能键按下,确定后将汽车速度做相应改变并将其放入相应的显示缓冲区。
4.4.2程序流程图
5总结
微机接口技术课程设计"
作为电气工程及其自动化本科生教学的主要基础课之一,课程紧密结合电气工程及其自动化的专业特点,围绕微型计算机原理和应用主题,以Intel8088CPU为主线,系统介绍微型计算机的基本知识,基本组成,体系结构和工作模式,从而使学生能较清楚地了解微机的结构与工作流程,建立起系统的概念。
这次微机原理课程设计历时两个星期,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理流程图画出来,但是开始总觉得这样做没必要,很浪费时间。
但是,这次课程设计完全改变了以前的那种错误的认识,以前接触的那些程序都是很短、的过程中也有利于查错。
其次,以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过本文源自六维论文网各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
6致谢词
在这短短的一个周的时间里,我们经过全体小组成员的全体努力完成了本次课程设计的题目即现场温度智能测控系统。
在设计的过程中,我们遇到了很多的问题,但是这些问题的解决都在我们本次课程设计指导教师吕英俊老师的指导下和我们小组的全体成员的努力之下顺利地解决并完成。
衷心感谢本次课程设计老师们耐心的指导,没有他们的虚心教导和指引,辛勤的帮助,本次课程设计不会有这样令人欣慰的成果,同时谢谢同学们在设计过程中给与的帮助,为我进一步的学习实际工作提供了宝贵的财富。
参考文献
[1]胡汉才.单片机原理及其接口技术,北京:
清华大学出版社,2002
[2]吴宁.80X86/Pentium微型计算机原理及应用,北京:
电子工业出版社,2000
[3]薛琳,吕英俊.80X86微机原理及其接口技术实验指导书,青岛:
山东科技大学校内
程序清单
DATASEGMENT
NO1DB2,5
NO2DB5,7
NO3DB10,20
SCAN1DB?
SCAN2DB?
SCAN3DB?
TABLE
DB
0C0H,0F9H,0A4H,0B0H,099H,92H,82H
0F8H,080H,90H,88H,83H,0C6H,0A1H
86H,8EH,0FFH,8CH,89H,8EH,0BFH,0F7H;
;
LED显示码
P8255_ADW0020H
P8255_BDW0021H
P8255_CDW0022H
P8255_CRDW0023H
DATAENDS
STACKSEGMENT
DW100DUP(?
)
STACKENDS
CODESEGMENT
ASSUME
CS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDX,P8255_CR
MOVAL,82H
OUTDX,AL
PUSHDS
MOVAX,0000h
MOVBX,0008H
LEAAX,INTPROC
MOV[BX],AX
MOVAX,SEGINTPROC
MOV[BX+2],
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汽车 速度 控制系统 框图 电路图 流程图 源程序 课程设计