1、 单片机原理及系统课程设计单片机原理及系统课程设计 专专 业:业: 电气工程及其自动化 班班 级:级: 电气 1004 班 姓姓 名:名: 学学 号:号: 指导教师:指导教师: 20132013 年年 3 3 月月 7 7 日日 评语: 平时(40) 修改(30) 报告(30) 总成绩 单片机原理及系统课程设计报告 - 1 - 抢答按扭 优先编 码电路 锁存器 译码电路 译码显示 主 持 人 控 制开关 控制电路 报警电路 主持人断开控制 开关 抢答无效 报警电路 显示电路 摘要,基于单片机的工作原理,以八路抢答器为理念,制作广泛 1 引 言 本设计的设计内容是:基于单片机的汽车灯控制系统的设
2、计。模拟汽车在驾 驶中的左转弯、右转弯、刹车、合紧急开关、停靠等操作。在左转弯或右转弯时, 通过转弯操作杆使左转弯或右转弯开关合上,从而使左头信号灯、仪表板的左转 弯灯、左尾信号灯或右头信号灯、仪表板的右转弯信号灯、右尾信号灯闪烁;闭 合紧急开关时以上六个信号灯全部闪烁;汽车刹车时,左右两个尾信号灯点亮; 若正当转弯时刹车,则转弯时原闪烁的信号灯应继续闪烁,同时另一个尾信号灯 点亮,以上闪烁的信号灯以 1Hz 频率慢速闪烁;在汽车停靠开关合上时左头信号 灯、右头信号灯、左尾信号灯、右尾信号灯以 10Hz 频率快速闪烁。任何在下表中 未出现的组合,都将出现故障指示灯闪烁,闪烁频率为 10Hz。
3、单片机原理及系统课程设计报告 - 2 - 2 设计方案及原理 2.1 系统硬件设计概述 该设计方案中,选用 ATMEL 公司的 8 位通用单片机 AT89C51,让其 P0 口为 系统的输入端口,输入信号由开关的通断产生,而 P1 口为系统的输出端口,输出 给 7 个 LED 指示灯。同时,本设计中将刹车输入信号以中断的方式进行输入,这 样在一定程度上就保证了诸如刹车这种紧急情况下实时性较高的需要。详细的硬 件设计方案见后续章节。 2.2 系统软件设计概述 根据系统的设计需要,为满足系统实时性的需求,我们把刹车信号处理成外 部中断 0 的形式,其他输入信号以普通的输入信号进行输入,CPU 以轮
4、询的方式 对它们进行查询。若 CPU 发现有输入信号的组合是所期望输入信号组合的任何一 组时,则驱动相应的指示灯发出相应的指示情况。详细的软件设计方案见后续章 节。 3 硬件设计 3.1 硬件设计方案 如前所述,在该设计方案中,选用 ATMEL 公司的 8 位通用单片机 AT89C51, 让其 P0 口为系统的输入端口,输入信号由开关的通断产生,其中,P0.0 为左转弯 开关,P0.1 为右转弯开关,P0.2 为紧急开关,P0.3 为停靠开关。P1 口为系统的输 出端口,输出给 7 个 LED 指示灯。其中,P1.0 到 P1.2 引脚分别连接汽车的左转弯 灯、左头灯和左尾灯,为便于区分,这三
5、个灯均用黄灯表示;P1.3 到 P1.5 引脚分 别连接汽车的右转弯灯、右头灯和右尾灯;P1.6 引脚连接汽车的故障指示灯。同 时,本设计中将刹车输入信号以外部中断 0 的方式进行输入,这样在一定程度上 就保证了诸如刹车这种紧急情况下实时性较高的需要。 3.2 硬件设计原理图 在 Proteus 仿真环境下所搭建的系统硬件电路图如图 3.1 所示。 单片机原理及系统课程设计报告 - 3 - 图 3.1 系统硬件原理图 4 软件设计 4.1 软件设计方案 根据设计要求,我们把左转弯信号输入、右转弯信号输入、紧急信号输入和 停靠信号输入当做普通的信号输入给单片机进行处理,此时 CPU 采用轮询的方
6、式 对各个信号的组合方式逐个地进行排查:若 CPU 发现有有效的信号输入,则驱动 相应指示灯进行相应的显示,若发现有无效的信号输入,则驱动故障指示灯闪烁, 若上述情况都未发生,则 CPU 继续轮询排查各个输入信号的组合,直到有信号输 入。 由于刹车信号是一种很紧急的信号,故此处将刹车信号处理成外部中断信号 进行输入,以保证实时性,将损失降低到最小。此时 CPU 正在执行主程序(即 CPU 正以轮询的方式排查各输入信号的组合),当有刹车信号输入时,程序立即转向中 断服务程序去处理,其中包含着与刹车有关的各个有效信号的组合,当输入信号 的组合有效时,则发出相应的动作,若输入无效信号时,则故障指示灯闪烁。考 虑到一般刹车之后都需要重新启动汽车及整个汽车的控制系统,我们把当系统进 单片机原理及系统课程设计报告 - 4 - 入到中断时的各个有效状态人为地设置为重复等待状态,直到系统重新上电复位 之后,又恢复到正常的等待状态。 4.2 系统设计流程图 4.2.1 主程序流程图 在主程序中,首先将输出端口与