《汽车转弯信号灯单片机控制系统的设计》由会员分享,可在线阅读,更多相关《汽车转弯信号灯单片机控制系统的设计(3页珍藏版)》请在金锄头文库上搜索。
1、 第 18 卷第 2 期 计算技术与自动化 Vol. 18 No. 21999年 6 月 COMPUT ING T ECHNOLOGY AND AUTOMAT ION Jun 1999收稿时间: 19981230 作进简介: 谭建豪, 36岁, 助理研究员, 主要从事CAD、CAM计算机网络、 自动控制等研究。汽车转弯信号灯单片机控制系统的设计谭建豪( 湖南省计算技术研究所,长沙, 410012)摘 要 本文在分析了汽车转弯信号灯的数字逻辑电路控制方式存在的种种不利因素的基础上, 提出了采用单片机作为该系统控制器的新方案。并对系统的硬件结构进行了阐述, 对系统的监控程序进行了说明,对 1Hz、
2、 30Hz 闪烁信号产生与占空比形成的算法思想进行了详细论述。关键词 汽车转弯信号灯 控制系统 单片机 占空比0 引 言传统的汽车转弯信号灯的控制采用数字逻辑电路实现。其典型结构如图 1所示。虽然这图 1 汽车转弯信号灯数字逻辑控制电路种方式较分立元件电路有了较大改进, 但 由于其功能完全靠硬件实现, 因而存在种种弊端: 在这种控制线路中, 要实现某种控制只能通过各芯片间的硬连线解决, 而其 控制功能已包含在固定线路之间, 因此它的功能专一, 不灵活; 为了安全可靠、 节约使用各芯片引脚, 设置了许多带有制约关系的联锁电路, 使电路在电源接通时, 各器 件都处于受制约状态。上述种种不利因素使得
3、传统的汽车转弯信号灯控制系统很难达到更高的自动化、 智能化程度, 难以满足 人们对设计、 制作、 使用、 维护、 功能调整和变更更加灵活方便的要求。我们在汽车转弯信号灯控制系统中采用性能价格比较优的 MCS51 系列单片机作为控制器, 代替传统的控制电路, 从而提高了自动化程度, 增加了系统功能。1 系统的控制要求汽车驾驶时有左转弯、 右转弯、 合紧急开关、 停靠等操作。在左转弯或右转弯时, 通过转弯 操作杆应使左转开关或右转开关合上, 从而使左头灯、 仪表板左转弯灯、 左尾灯或右头灯、 仪表板右转弯灯、 右尾灯闪烁; 合紧急开关时要求前面述及的 6 个信号灯全都闪烁; 汽车刹车时, 两第 1
4、8 卷第 2 期谭建豪: 汽车转弯信号灯单片机控制系统的设计61个尾灯点亮; 正当转弯时刹车, 则转弯时原应闪烁的信号灯仍应闪烁。以上闪烁, 都是频率为1Hz 的低频闪烁, 在汽车停靠而停靠开关合上时, 左头灯、 右头灯、 左尾灯、 右尾灯按频率 30Hz 的高频闪烁。各种操作时, 信号灯应输出的信号如表 1所示。表 1 信号灯输出信号驾 驶 操 作输 出 信 号仪表板左转弯灯仪表板右转弯灯左头灯右头灯左尾灯右尾灯左转弯( 合上左转开关)闪烁闪烁闪烁右转弯( 合上右转开关)闪烁闪烁闪烁合紧急开关闪烁闪烁闪烁闪烁闪烁闪烁刹车( 合上刹车开关)亮亮左转弯刹车闪烁闪烁闪烁亮右转弯刹车闪烁闪烁亮闪烁左
5、转弯时刹车, 并合紧急开关闪烁闪烁闪烁闪烁闪烁亮右转弯时刹车, 并合紧急开关闪烁闪烁闪烁闪烁亮闪烁停靠( 合上停靠开关)30Hz 闪烁30Hz 闪烁30Hz 闪烁30Hz 闪烁2 系统的硬件设计本系统直接使用单片机内部程序存储器、 数据存储器、 定时功能、 中断功能、 I/ O 端口。其 硬件电路由驾驶操作信号输入电路、 8051 单片机、 功率放大及执行、 显示和报警电路等部分组成, 其总体结构如图 2 所示。图 2 汽车转弯灯单片机控制系统总体结构图由图可见, 各种驾驶操作信号自 P2 口送入单片机, 而使信号点亮的输出信号自 P1 口输 出。 图中的晶体管是驱动级, 图的下部是故障监控电
6、路。 在 P1. 0P1. 5 共 6 路输出中, 如轮流使某一电路的晶体管断开( P1 口相应引脚输出低电平) , 这一路的信号灯将熄灭, 而其它 5 路 的晶体管接通( P1口引脚送高电平) , 相应的信号灯点亮, 在正常情况下, 信号灯熄灭的那路将使 P1. 7 呈现低电平; 要是 P1. 7 出现高电平, 则说明当前这一路有了故障。另外, 如使 6 路晶 体管全部接通, 在正常情况下, P1. 7 应呈高电平; 要是 P1. 7 出现低电平, 也说明信号线路存在故障。有故障时, 通过软件使 P1. 6输出高电平, 以点亮故障信号灯报警。62计算技术与自动化1999年 6月3 系统的软件
7、设计系统监控程序, 由主程序及多个功能模块子程序组成。主程序由 0030H 地址起的 8 条指令组成。7 条用于初始化: 对定时/ 计数器 0 预置数、 设定定时/ 计数器 0 的工作方式、 设定片内RAM20H 单元的初值 0、 为定时/ 计数器 0 中断和启动定时/ 计数器 0。最后一条是等定时/ 计数器0 溢出中断。 响应定时/ 计数器0 溢出中断后, 相应的中断服务子程序将以 000BH 为入口 地址, 为定时/ 计数器 0 重装载和保存现场后转去 INT SUB。自 INT SUB 起包括两个主要模块: 信号灯指示模块和故障监控模块。如IS 时间未到, 将有信号灯闪烁或点亮( 表 1
8、) 。每逢IS时间到, 则先执行故障监控程序, 对信号灯指示电路( 图 2 右部) 检查一遍, 然后再执行信号灯指示程序。 信号灯指示程序和故障监控程序实现如表 1 所示的逻辑关系。 其中 1Hz、 30Hz 闪烁 信号产生与占空比形成的算法比较巧妙。3. 1 1Hz 闪烁信号的产生与占空比的形成首先令定时/ 计数器 0 工作处于方式 1 的定时器方式, 且预置 F000H, 在 12MHz 晶振的 情形下, 每隔 4096?S 将溢出一次。另外, 片内 RAM20H 单元为计数器, 初值置为 244, 每逢定时/ 计数器 0 溢出一次便减 1, 当减到 0 时, 经历的时间= 2444096
9、?S= 1S。在上述 1S 时间内。片内 RAM20H 单元最高位不为 1 的时间为( 127/ 244) S) , 为 1 的时间为( 244- 127) / 244= 117/ 244S, 故该位可得占空比接近 50% 的 1Hz 闪烁信号。 3. 2 30Hz 闪烁信号的产生与占空比的形成前述片内 RAM20H 单元的初值置为 244, 也即 11110100B。如将前 5 位与后 3 位分开看,则前 5 位为 30, 后3 位可有 8 种变化。 该20H 在自 244 减到 0 的过程中, 前 5 位每 1/ 30S 变化 一次( 减 1) 。在这 1/ 30S 中, 如根据后 3位的
10、变化情形使输出电平在 0, 1 间反复一次, 输出电平便呈现 30Hz 闪烁信号。闪烁信号的占空比视 1/ 30S 中 1 电平所占的比例而定, 见表 2。表 2 30Hz 闪烁信号的产生与占空比的形成片内RAM20H单元各位的电平76543210输 出 电 平1101111111100111111101001111110000011110110000111010000001100100000010000000000占空比( % )12. 52537. 55062. 57587. 5本程序选定占空比为 62. 5% 。由表 2 知: 后 3 位自 111 减至 011 的过程内输出电平均为1。满足这一条件的逻辑式为: 02H+ 01H+ 001H= 1, 式中 00H, 01H, 02H 直接寻址位地址。 参考文献1 曹巧编著单片机原理及应用电子工业出版社, 19972 孙虎章主编自动控制原理中央广播电视大学出版社, 1994