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