《微机原理与接口课程基于微处理器和A芯片的汽车信号灯微机控制系统的与实现.doc》由会员分享,可在线阅读,更多相关《微机原理与接口课程基于微处理器和A芯片的汽车信号灯微机控制系统的与实现.doc(20页珍藏版)》请在三一办公上搜索。
1、学 号: *浙江理工大学课 程 设 计题 目汽车信号灯学 院计算机科学与技术学院专 业软件工程专业班 级软件0803 班姓 名林瑞指导教师*2011年1月6日目录一、 设计目的.2二、 系统硬件设计.3三、 系统软件设计.9四、 系统调试及结果.15五、 总结和体会.16六、 参考文献.16 一、设计目的通过所学知识和现代计算机技术来模拟模拟汽车信号灯控制系统,把所学的理论的知识用到现实实践中去,加强了对理论知识的理解和记忆。展示了计算机技术在汽车行业的应用。设计出汽车信号灯微机控制系统。 汽车信号灯的作用是大家所熟知的,汽车通过显示不同的信号灯来告诉前后左右的行车者本汽车正在进行的操作,本控
2、制系统采用8086微处理器作为处理器和可编程的8255A芯片来模拟汽车信号灯控制系统。通过在实验箱上分别按K1,K2,K3和K4键来显示汽车左转、右转,前进和后退等状态。左/右转弯开关K1,K2闭合时,对应的仪表板左/右转弯指示灯、左/右转弯头灯和左/右转弯尾灯闪烁;紧急开关闭合时,所有仪表板左右转弯灯、左右转弯头灯和左右转弯尾灯闪烁; 当用户按K3时,也即踩刹车时,刹车开关闭合,刹车灯(左右红色尾灯)亮;停靠时(合上停靠开关),即按K4键时,所有的灯闪烁。所需执行的操作由相应的开关状态反映,所需控制的信号灯有仪表板左/右转弯灯、暂停灯、照明远灯和照明近灯共五类类灯.二、系统硬件设计1.硬件连
3、接图:利用8088驱动8255 8253来连接外部电路。2.器件选择:CPU(8088)1个 发光二极管 5个74ALS373 2个 电阻 5个74ALS245 1个 74LS00 5个8255 1个 控制开关 5个8253 1个3、 8088,8255,8253功能及说明 8088的引脚包括20根地址线,16根数据线及控制线,状态线,时钟,电源和地线等,大致可分五大类.第一类只传送一种信息,第二类每个引脚电平的高低代表不同信息,第三类代表不同的工作方式,第四类每个引脚可以传送两种信息,第五类引脚在输入和输出时分别传送不同的信息.同时还要地址锁存器及数据总线收发器来构成最小系统. 因本电路用到
4、各种比较重要的芯片,因此有必要对芯片进行简要介绍。8253:8253有6种工作方式,本次设计用到方式2,方式2又可称为频率发生器。当CPU写入控制字后,输出端OUT将变高,在写入计数初值以后的下一个CLK脉冲的下降沿开始计数。计数过程中OUT端始终保持高电平,当计数值减至1时OUT端变为低电平,而计数值减至0时OUT端又变为高电平,同时会自动将计数值送到执行部件继续进行减法计数,形成连续工作,重复计数,从而输出固定频率的脉冲。8255A :8255A是一个典型的可编程并行接口芯片。8255具有三个相互应独立的8位并行输入输出端口,即端口A,端口B和端口C,其中端口C分为两个4位来配合端口A和端
5、口B工作,它为INTEL系列CPU与外设之间提供TTL电平兼容的接口。8255A可以工作在方式0,方式1,方式2三种方式,其中端口A可以工作在这3种不同的方式下,而端口B只能工作在方式0和方式1,端口C配合A口和B口工作。4、电路设计通过时钟发生器和8088最小系统产生一定时频率,把时钟频率传送到8253的T1计数器,与T0计数器级联产生周期2s时钟脉冲,通过软件控制产生一定频率的时钟脉冲来驱动8255PA口使汽车灯左转灯,右转灯和暂停灯闪烁,使PB口保持高电平,通过开关使前远灯和近灯接通外部电路8255的级联信号发生器原理图系统电路图 描述1.DATA与8086/8088数据线的低八位相连接
6、,RD与IOR相连接,WR与IOW相连接,将8086/8088的地址线A1,A2与8255的A0,A1连接起来,CS可以接地也可以通过地址线来选通控制.2.8255的PA端口用于输出,与发光二极管相连接,用于控制灯的闪烁效果,PB端口用于输入,用其低四位做为输入控制,对于8255的PC端口则空闲状态.3.开关K1(左转向控制),K2(右转向控制),K3(刹车控制),K4(停靠控制).三、系统软件设计1、程序流程图2、功能:(1)当用户按K1,K2键时左/右转弯开关闭合时,对应的仪表板左/右转弯指示灯、左/右转弯头灯和左/右转弯尾灯闪烁。(2) 紧急开关闭合时,所有仪表板左右转弯灯、左右转弯头灯
7、和左右转弯尾灯闪烁。(3) 当用户按K3时,也即踩刹车时,刹车开关闭合,刹车灯(左右红色尾灯)亮。(4)当用户按K4时, 停靠时(合上停靠开关),所有灯闪烁。系统使用方法3、系统源代码DATA SEGMENT PA DW PORTA ;A 端口地址 PA DW PORTB ;B 端口地址 PA DW PORTP ;P 端口地址DATA ENDSCODE SEGMENT ASSUME CS:COPE DS:DATAMAIN: XOR AX,AX MOV DS,HX MOV AL,82H ;8255初始化 OUT PP,AL ;选择控制字,A方式ONEXT:MOV AL,00HIN AL,PBAN
8、D AL,0FH;判断是否有键按下JNZ CHECKJMP NEXTCHECK:CMP AL,01H;判断左转向并调用子程序JZLEFTCMP AL,02H;判断右转向并调用子程序JZ RIGHTCMP AL,04H; 判断紧急刹车并调用子程序JZ BREAKCMP AL,00H;判断其他情况JZ CLOSECMP AL,08H;判断汽车停靠并调用处理程序JZ STOPJMP NEXT;左转处理程序LEFT:MOV AL,3FHOUT PA,AL;指示灯显示CALL DELAYIN AL,PBCMP AL,01H;判断是否停止左转JNZ CLOSEJMP LEFT;右转处理程序RIGHT: M
9、OV AL,FCH OUT PA,AL;指示灯显示CALL DELAYIN AL,PBCMP AL,02H;判断是否停止右转JNZ CLOSEJMP RIGHT;刹车处理程序BREAK:MOV AL,C3HOUT PA,ALCALL DELAYIN AL,PBCMP AL,04HJNZ CLOSEJMP BREAK;停靠处理程序STOP:MOV AL,00HOUT PA,ALCALL DELAYIN AL,PBCMP AL,08HJNZ CLOSEJMP STOP;关闭处理程序CLOSE:MOV AL,FFHOUT PA,ALCALL DELAYIN AL,PBCMP AL,00HRET;频率
10、为30HZ的延时子程序 DELAY:MOV CX,53B4HWAIT:LOOP WAITRET四、系统调试及结果根据实现功能模拟(1)当用户按K1,K2键时左/右转弯开关闭合时,对应的仪表板左/右转弯指示灯、左/右转弯头灯和左/右转弯尾灯闪烁。(2) 紧急开关闭合时,所有仪表板左右转弯灯、左右转弯头灯和左右转弯尾灯闪烁。(3) 当用户按K3时,也即踩刹车时,刹车开关闭合,刹车灯(左右红色尾灯)亮。(4)当用户按K4时, 停靠时(合上停靠开关),所有灯闪烁。系统使用方法模拟成功五、总结和体会首先,谈一下非专业的问题,做什么事情都要仔细,尤其是对于本次编写几百甚至上千行的程序,更要仔细,注重代码的
11、完整性、严谨性,包括字符的输入模式、大小写、括号的完整、关键字的准确等等通过一个星期的微机原理课程设计,我们学到了很多,也收获了很多。它让我们更进一步的了解8088,8253,8255等各种芯片的功能和工作方式,也让我们了解到编程的重要性。书本上的知识我看的懂,但是到了亲手设计,才发觉到我们自己需要学的还很多。特别是编程,我们感觉自己好像什么都不会一样。知道是一回事,会用又是另外一会事,我深深的感到自己的不足。六、参考文献1 微型计算机技术及应用 戴梅萼 史嘉权 20082 接口技术实验指导王卫河 李冰20033 接口技术课程设计指导 陈可 王立20004 微机原理与接口技术 牟琦 聂建平主编