基于单片机的汽车灯控系统模拟设计_第1页
基于单片机的汽车灯控系统模拟设计_第2页
基于单片机的汽车灯控系统模拟设计_第3页
基于单片机的汽车灯控系统模拟设计_第4页
基于单片机的汽车灯控系统模拟设计_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西北工业大学明德学院本科毕业设计论文 本科毕业设计论文题 目 基于单片机的汽车灯控系统模拟设计 专业名称学生姓名指导教师毕业时间 西北工业大学明德学院本科毕业设计论文 I毕业 任务书一、题目:基于单片机的汽车灯控系统模拟设计二、指导思想和目的要求:通过毕业设计,使学生对所学电子工艺、电路基础知识、模电、数电、等电子基础课程的基本知识加深理解,掌握单片机的基本指令及基本结构,并将其与实际工程应用紧密结合起来,培养创新意识,增强分析问题解决问题能力,为尽快进入社会角色,熟悉相关开发工作流程、项目小组组成、分工、合作方式方法等。增强团队合作意识,提高基本工作技能,为即将踏入社会奠定理论和实践基础。内容:汽车在行驶时,有左转弯、右转弯、刹车、警示等操作。左转弯时,应使左头灯、左尾灯、仪表板左转指示灯闪烁。右转弯时,应使右头灯、右尾灯、仪表板右转指示灯闪烁。刹车时,左右两个尾灯亮。警示时,头灯、尾灯、仪表板指示灯等 6 个灯全闪烁。(1)设计思路:运用所学单片机知识,运用其 I/O 口设计基本控制电路,并以发光管、蜂鸣器、按键等外部设备做为相应的模拟部件。(2)步骤:l、了解汽车灯控系统的工作原理及要求。2、设计单片机工作的基本电路,如:晶振电路、复位电路。3、根据系统设计要求选择发光二极管、蜂鸣器、按键等模拟部件。4、设计系统基本电路。5、绘制 PRTUSE 电原理图并编写系统控制程序。6、联机进行系统仿真调试。设计论文 西北工业大学明德学院本科毕业设计论文 II三、进度与要求:1第一周第一周 收集汽车电子相关资料。2第二周第三周 用 PROTUSE 设计硬件原理图并进行器件选型。3第四周第六周 编写系统各功能模块控制程序。4第七周第十周 联机进行系统调试。5. 第十一周第十二周 整理并组织论文。6第十三周第十四周 完成修改稿,定稿,打印,交评阅。7第十五周第十六周 评阅与答辩学生 指导教师 系主任 西北工业大学明德学院本科毕业设计论文 III摘 要随着单片机的日益发展,其应用也越来越广泛,通过对“汽车灯控制系统”设计,可以对单片机的知识得到巩固和扩展。在生活的环境中,自动控制要求中都会有单片机的控制的一部分;从简单到复杂,凡是能想象到的地方几乎都有使用单片机的需求。单片机的应用有利于产品的小型化、多功能化和智能化,能够提高劳动效率、减轻劳动强度,提升产品质量,改善劳动环境。单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于CAN 总线的汽车发动机智能电子控制器、GPS 导航系统、abs 防抱死系统、制动系统、胎压检测等。单片机在工商、金融、科研、教育、电力、通信、物流和国防航空航天等领域都有着十分广泛的用途。近年来开始在汽车前照灯上逐步广泛应用的一种新型光源,同传统卤素灯相比,具有环保节能、使用寿命长、反应速度快等特点。汽车前照灯使用的 LED 已成为各个汽车灯具研发机构努力开发的目标,是未来汽车照明领域的重大发展方向之一。本课程内容是设计一个单片机控制系统,在汽车进行左转弯、右转弯、近光灯、远光灯、刹车、合紧急(报警)开关等操作时,实现对各种信号指示灯的控制。本设计主要是对单片机的并行输入/输出口电路的应用,通过 I/O 口控制发光二极管的亮灭闪烁,加上一些复位电路按键电路晶振模块、灯光模块来模拟汽车尾灯的功能。关键字:单片机,LED 灯,汽车灯控系统 西北工业大学明德学院本科毕业设计论文 IVABSTRACTWith the increasing development of the microcontroller, its applications are increasingly being used by auto light control system design, the microcontroller can be consolidated and expanded knowledge. In the living environment, automatic control requirements will have a part of the control of the microcontroller; from simple to complex, who can imagine the place is almost always use the microcontroller needs. SCM applications conducive to miniaturization, versatile and intelligent, able to improve labor efficiency, reduce labor intensity, improve product quality, improve the working environment.SCM applications in automotive electronics is very wide, such as automobile engine controllers, automobile engine based on CAN bus intelligent electronic controller, GPS navigation system, abs anti-lock system, brake system, tire pressure detection. SCM in industrial, commercial, financial, scientific research, education, electricity, LED headlamp used in various automotive lighting has become a research and development institutions working to develop goals, is one of the major developments in the future direction of the automotive lighting sector.This course is to design a microcomputer control system, the car carried a left turn, right turn, beam lights, high beam, brake, when combined emergency (alarm) switching and other operations, to achieve control of the various signal lights. This design is a single-chip parallel input / output port circuit applications, the I / O port control of light-emitting diode off, flicker, plus some key circuit reset circuit crystal module, light module to simulate automobile taillights function.KEY WORDS: microcontroller,LED lights,Car light control system 西北工业大学明德学院本科毕业设计论文 V目 录摘 要 IIIABSTRACTIV第一章 绪 论 71.1 选题意义 71.2 背景 71.3 设计内容 8第二章 系统硬件设计 92.1 总体硬件方案 92.1.1 系统结构图 92.1.2 元器件 92.1.3 设计原理 102.1.4 系统总体模块图 112.2 各功能模块原理 112.2.1 单片机模块 112.2.2 按键模块 152.2.3 指示灯模块 162.2.4 复位电路模块 172.2.5 晶振电路模块 18第三章 系统软件设计 203.1 程序流程总图 203.1.1 近光灯流程图 213.1.2 远光灯流程图 223.1.3 左转向流程图 233.1.4 右转向流程图 243.1.5 刹车流程图 253.1.6 紧急(报警)流程图 263.2 编程软件 263.3 程序 29第四章 仿真结果 324.1 各模块仿真 324.1.1 近光灯仿真图 324.1.2 远光灯仿真图 334.1.3 左转向仿真图 334.1.4 右转向仿真图 344.1.5 刹车仿真图 354.1.6 紧急(报警)仿真图 364.2 仿真工具 Proteus 介绍 37 西北工业大学明德学院本科毕业设计论文 VI4.3 问题及解决 39参考文献 41致 谢 42毕业设计小结 43 西北工业大学明德学院本科毕业设计论文 7第一章 绪 论1.1 选题意义随着单片机的日益发展,其应用也越来越广泛,利用单片机控制汽车信号灯可以对单片机的知识得到巩固和扩展。本课程内容是设计一个单片机控制系统,在汽车进行左转弯、右转弯、刹车、合紧急开关等操作时,实现对各种信号指示灯的控制。通过所学知识进行软硬件设计,提高各方面技能,巩固对理论知识的掌握,把理论知识应用到实际中,使生活更方便、安全。现在虽然单片机的应用很普遍,但仍有许多项目未实现,所以单片机的发展有很大的空间。1.2 背景汽车作为现代最重要的交通工具之一,在当今社会得到了飞速的发展。在我国汽车快速的进入了普通家庭,已成为事实。由于汽车交通所引发的事故呈现出上升的趋势。特别是汽车在夜间行驶,汽车前大灯远近灯光的控制不当也会带来一些不安全的因素。本文介绍了一种由 AT89C51 型单片机控制,光敏传感器采集信号,继电器执行动作的夜间汽车前大灯远近灯光转换的自动控制系统。该系统安装在汽车上,使汽车在夜间行驶时,根据对头车驶近驶离的情况,能够自动调节前大灯远近灯光转换。该系统稳定可靠,成本低廉。有一定的推广和使用价值。本文中汽车转向灯设计是用单片机来实现的,单片机控制系统可避免传统的缺点,因为单片机功能强、使用灵活、可靠性高、成本低、体积小、面向控制、具有智能化功能等很多优点。转向灯使用要求:转向控制时,拨打相应侧的转向开关,相应侧的转向灯低频闪烁,同时驾驶室里相应侧 LED 转向指示灯或也以同样低的频率闪烁;左右两侧转向灯有故障时,驾驶室里 LED 转向指示灯或高频闪烁;汽车紧急报警时四个转向灯同时高频率闪烁,驾驶室里左右 LED 转向指示灯和同频率闪 西北工业大学明德学院本科毕业设计论文 8烁。由此看来,利用单片机控制汽车灯光系统有良好的发展前景。1.3 设计内容本系统中要求设计汽车信号灯控制系统,在驾驶汽车时有左转弯、右转弯、近光灯、远光灯、刹车、合紧急开关六个操作;所以可以用 6 个开关来模拟这几个操作,当单片机检测到相关操作后,然后判断属于那一类操作,再通过软件来驱动控制相应的信号灯闪烁。以此来实现对汽车信号灯的控制。当合上左转弯开关后,左前灯、左尾灯闪烁;当合上右转弯开关后,右前灯、右尾灯闪烁。合上近光灯开关,两近光灯亮。合上远光灯开关,四个远光灯亮。当刹车开关合上时,两侧尾灯闪烁;在紧急开关合上后,所有灯都闪烁。针对上述问题,我们用 AT89C51 单片机设计了一套汽车信号灯控制系统。 西北工业大学明德学院本科毕业设计论文 9第二章 系统硬件设计2.1 总体硬件方案2.1.1 系统结构图该课设是基于单片机利用开关控制二极管亮暗来实现。是一个典型的控制系统.图 2.1 结构示意图2.1.2 元器件汽车信号灯控制硬件电路元器件如表 2-1。单 片 机电源电路指示灯模块模块按键模块复位电路晶振电路 西北工业大学明德学院本科毕业设计论文 10表 2-1 汽车信号灯控制硬件电路元器件表名称 代号 数量单片机 U1 1晶振 B 1发光二极管 RR、RH、LH、LR、DB、HB 8按钮 SB0SB6 7电阻 R1R8、R9、R10 10电阻 R11R16 6 电容 C3 1电容 C1、C2 2单片机电源 VCC 12.1.3 设计原理利用单片机控制汽车信号灯,硬件电路比较简单,并可以通过软件完成所需要的控制功能。以下是利用单片机控制的 8 个汽车信号灯,它们分别为左尾灯 LR、左前灯 LH、右前等 RH、右尾灯 RR、远光灯 HB、近光灯 DB。6 个按键SB1、SB2、SB3、SB4、SB5、SB6,它们分别是左拐弯键、右拐弯键、近光灯键、远光灯键、刹车键、紧急信号键(报警) 。汽车信号灯控制功能见表 2-2。表 2-2 汽车信号灯控制功能表按 键 键 名 动 作SB1 左转向 左前灯 LH、左后灯 LR 闪烁SB5 刹车 左后灯 LR、右后灯 RR 闪烁SB6 紧急(报警)信号 所有灯闪烁SB2 右转向 右前灯 RH、右后灯 RR 闪烁SB3 近光灯 2 个 DB 灯亮SB4 远光灯 4 个 HB 灯亮 西北工业大学明德学院本科毕业设计论文 112.1.4 系统总体模块图XTAL218XTAL119ALE301PSN29RST9P0./AD039.1/18P0.2/AD237.3/36P0.4/AD435.5/54P0.6/AD63.7/72P1.01.2P1.23.34P1.45.56P1.67.78P3.0/RXD10.1/TP3.2/IN012./IT13P3.4/014P3.7/RD17.6/W6.5/T15P2.7/A1528P2.0/A821.1/9P2./A023.3/14P2.4/A225.5/136.6/47U1AT89C51R1R2R3R4 RRHLHLRC110nFC210nF X1CRYSTALP1.2 P1.P1.3 P1.0C32uF R91kR1020P1.0.P1.2.3 P3.0.1P3.2.SB1R1SB4R12 SB2R14SB3R13 左 转 弯右 转 弯刹 车报 警P3.P3.0P3.2P3.1SB0R5 R6P1.4 P1.5R8P1.6 R7 P1.7 R15R16近 光 灯远 光 灯P3.4P3.5P3.4.5SB5SB6P1.4.5P1.6.7HB HBDB/HB DB/HB图 2.2 系统模块总图2.2 各功能模块原理2.2.1 单片机模块AT89C51 是 ATMEL 公司生产的低电压,高性能的 CMOS 8 位单片机,片内含4K bytes 的可反复擦写和只读程序存储器(PEROM)和 128 bytes 的随机存取数据存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术,兼容标准MCS-51 指令系统,片内置通用 8 位中央处理器和 FLASH 存储单元。其引脚图如图 3-1 所示。其主要性能参数为:与 MCS-51 产品指令系统完全兼容;4k 字节可重擦写 Flash 闪速存储器;1000 次擦写周期;全静态操作:0Hz-24MHz;三级加密程序存储器;128 X 8 字节内部 RAM;32 个可编程 I/O 口线;2 个 16 位定时/计数器;6 个中断源;可编程串行 UART 通道;低功耗空闲和掉电模式。 西北工业大学明德学院本科毕业设计论文 12XTAL218XTAL119ALE30 EA31 PSEN29RST9P0.0/AD0 39P0.1/AD1 38P0.2/AD2 37P0.3/AD3 36P0.4/AD4 35P0.5/AD5 34P0.6/AD6 33P0.7/AD7 32P1.01 P1.12P1.23 P1.34P1.45 P1.56P1.67 P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT0 12P3.3/INT1 13P3.4/T0 14P3.7/RD 17P3.6/WR 16P3.5/T1 15P2.7/A15 28P2.0/A8 21P2.1/A9 22P2.2/A10 23P2.3/A11 24P2.4/A12 25P2.5/A13 26P2.6/A14 27U1AT89C51图 2.3 AT89C51 引脚图AT89C51 提供以下标准功能:4K 字节 Flash 闪速存储器,128 字节内部RAM,32 个 I/O 口线,两个 16 位定时/计数器,一个 5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51 可隆至 0Hz 的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止 CPU 的工作,但允许 RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存 RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一硬件复位。引脚功能说明:Vcc:电源电压GND:地 西北工业大学明德学院本科毕业设计论文 13P0 口:P0 口是一组 8 位漏极开路型双向 I/O 口,也即地址/数据总路线复用口。作为输出口用时,每位能吸收电流的方式驱动 8 个 TTL 逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线从那时起转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电图 2.4 AT89C51 内部结构图P1 口:P1 是一个内部带上拉电阻的 8 位双向 I/O 口,P1 的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路.对端口写“1” ,通过内部的上拉电阻把端口拉到高电平,些时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。Flash 编程和程序校验期间,P1 接收低 8 位地址。P2 口:P2 是一个带有内部上拉电阻的 8 位双向 I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路.对端口写“1” ,通过内部的上拉电阻把端口拉到高电平,些时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。中断控制片内Flash存储器 片内RAMETC定时器 1定时器 0CPU振荡器 总线控制 I/O 接口 串行接口P0 P2 P1 P3外部中断TXD RXD计数器输出 西北工业大学明德学院本科毕业设计论文 14在访问外部程序存储器或 16 位地址的外部数据存储器(例如执行 MOVX DPTR 指令)时,P2 口送出高 8 位地址数据。在访问 8 位地址的外部数据存储器(如执行 MOVX RI 指令)时,P2 口线上的内容(也即特殊功能寄存器(SFR)区中R2 寄存器的内容),在整个访问期间不改变。Flash 编程或校验时,P2 亦接收高位地址和其它控制信号。P3 口:P3 口是一组带有内部上拉电阻的 8 位双向 I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写”1” ,通过内部的上拉电阻把端口拉到高电平,些时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。P3 口除了作为一般的 I/O 口线外,更重要的用途是它的第二功能,如下所示:表 2-3 P3 口功能I/O 口线 专用功能P3.0 RxD(串行数据接收)P3.1 TxD(串行数据发送)P3.2 INT0(外部中断 0 请求输入)P3.3 INT1(外部中断 1 请求输入)P3.4 T0(定时器 0 外部计数脉冲输入)P3.5 T1(定时器 1 外部计数脉冲输入)P3.6 WR(外部数据存储器写信号)P3.7 RD(外部数据存储器读信号)P3 口还接收一些用于 Flash 闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存许器)。输出脉冲用于锁存地址的低 8 位字节.即使不访问外部存储器,ALE 仍以时钟振荡频率的 1/6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。 西北工业大学明德学院本科毕业设计论文 15要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。对 Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。可通过对特殊功能寄存器(SFR)区中的 8EH 单元的 D0 位置位,可禁止 ALE 操作。该位置位后,只有一条 MOVX 和 MOVC 指令 ALE 才会被除数激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51 由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的 PSEN 信号不出现。EA/VPP:外部访问允许。欲使 CPU 仅访问外部程序存储器(地址为 0000H-FFFFH),EA 端必须保持低电平 (接地)。需注意的是:如果加密位 LB1 被编程,复位时内部会锁存 EA 端状态。如 EA 端为高电平(接 Vcc 端),CPU 则执行内部程序存储器中的指令。Flash 存储器编程时,该引脚加上+12V 的编程允许电源Vcc,当然这必须是该器件是使用 12V 编程电压 Vcc。2.2.2 按键模块根据设计的要求,本设计选用独立式键盘。其工作原理为,单片机引脚作为输入使用,首先置“1” 。当键没有被按下时,单片机引脚上为高电平;而当键被按下去后,引脚接地,单片机引脚上为低电平。SB1 控制左转、SB2 控制右转、SB3 控制近光、SB4 控制远光、SB5 控制刹车、SB6 控制报警。 西北工业大学明德学院本科毕业设计论文 16SB1R1SB4R12SB2R14SB3R13 左 转 弯右 转 弯刹 车报 警P3.3P3.0P3.2P3.1R15R16近 光 灯远 光 灯P3.4P3.5 SB5SB6图 2.5 按键模块2.2.3 指示灯模块LED 具有二极管的特性,但在导通之后会发光,称之为发光二极管。与普通的灯泡一样,LED 导通后,随着其俩端电压的增加,电流急剧增加,所以,必须给 LED 串联一个限流电阻,否则一旦通电,LED 会被烧坏。要用 89c51 单片机来控制 LED,显然这个 LED 必须要与 89c51 单片机的某个脚相连。当AT89c51 单片机的第 1 脚是高电平时,LED 不亮,当第 1 脚是低电平时,LED 亮。但是在汽车转弯灯里要根据汽车方向来控制信号灯,而实现 LED 的亮与灭。 西北工业大学明德学院本科毕业设计论文 17R1R2R3R4 RRRHLHLRP1.2 P1.1P1.3 P1.0R5 R6P1.4 P1.5R8P1.6 R7 P1.7HB HBDB/HB DB/HB图 2.6 指示灯模块2.2.4 复位电路模块下图为单片机的复位电路,输入端出现高电平时实现复位何必和初始化.在振荡器运行的情况下,要实现复位操作,必须使 RST 引脚至少保持机器周期(24个振荡周期)的高电平.CPU 在第二个机器周期内执行内部复位操作,以后每个机器周期重复一次,直至 RST 端电平降低。电平复位将复位端通过电阻与 Vcc 相连,按键脉冲复位是利用 RC 分电路产生正脉冲来达到复位的。在按键电平复位和按键脉冲复位两种简单的复位电路中,干扰易串入复位端,在大多数情况下,不会造成单片机的错误复位,但会引起内部寄存器错误复位,这里可在复位端引脚上接一个去藕电容。 西北工业大学明德学院本科毕业设计论文 18R91KR1010KC110uf+5V+5V图 2.7 复位电路模块2.2.5 晶振电路模块时钟电路可由内部和外部方式产生。接上定时元件,内部震荡电路就产生自激震荡。定时元件通常采用石英晶体和电容组成的并联谐振电路。采用单片机内部晶振。在 MCS-51 系列单片机内部有一个高增益反向放大器,其输入端为芯片引脚 XTAL1,输出端为引脚 XTAL2。而在芯片外部 XTAL1 和 XTAL2 之间跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。外接晶体(石英或陶瓷,陶瓷的精度不高,但价格便宜)振荡器以及电容 C1和 C2 构成并联谐振电路,接在放大器的反馈回路中, C1 和 C2 的大小会对振 西北工业大学明德学院本科毕业设计论文 19荡器频率的高低、振荡器的稳定性、起振的快速性和温度特性有一定的影响。因此建议在采用石英晶体振荡器时 C=10pF,陶瓷振荡器时,C=40pF,典型值为40pF。在设计电路板时,振荡器和电容应尽量安装得与单片机靠近,以减小寄生电容的存在更好的保障振荡器稳定、可靠的工作。X112MHzC233uC333u图 2.8 晶振电路模块第三章 系统软件设计3.1 程序流程总图初始化 LED 指示灯P1 端口控制 P1 口指示灯的亮灭判断 P3 口开关是否闭合?结束开始YN 西北工业大学明德学院本科毕业设计论文 20图 3.1 程序流程总图3.1.1 近光灯流程图Y初始化 LED 指示灯P1.6、P1.7 端口控制 P1.6、P1.7 端口指示灯的亮灭判断 P3.2 口开关SB3 是否闭合?结束N 西北工业大学明德学院本科毕业设计论文 21图 3.2 近光灯流程图通过开关 SB3 来控制近光灯 2 个 DB 灯亮来实现开启近光灯3.1.2 远光灯流程图 初始化 LED 指示灯P1.6、P1.7、P1.4 、P1.5端口控制 P1.6、P1.7、P1.4 、P1.5 端口指示灯的亮灭判断 P3.3 口开关SB4 是否闭合?结束NY 西北工业大学明德学院本科毕业设计论文 22图 3.3 远光灯流程图通过开关 SB4 来控制远光灯 4 个 HB 灯亮实现开启远光灯3.1.3 左转向流程图初始化 LED 指示灯P1.2、P1.3 端口控制 P1.2、P1.3 端口指示灯的亮灭判断 P3.0 口开关SB1 是否闭合?结束NY 西北工业大学明德学院本科毕业设计论文 23图 3.4 左转向流程图通过开关 SB1 来控制左前灯 LH、左后灯 LR 闪烁实现左转向3.1.4 右转向流程图初始化 LED 指示灯P1.0、P1.1 端口控制 P1.0、P1.1 端口指示灯的亮灭判断 P3.1 口开关SB2 是否闭合?结束NY 西北工业大学明德学院本科毕业设计论文 24图 3.5 右转向流程图通过开关 SB2 来控制右前灯 RH、右后灯 RR 闪烁来实现右转向3.1.5 刹车流程图初始化 LED 指示灯P1.0、P1.3 端口控制 P1.0、P1.3 端口指示灯的亮灭判断 P3.4 口开关SB5 是否闭合?结束NY 西北工业大学明德学院本科毕业设计论文 25图 3.6 刹车流程图通过开关 SB5 来控制左后灯 LR、右后灯 RR 闪烁实现刹车3.1.6 紧急(报警)流程图 初始化 LED 指示灯P1.6、P1.4、P1.7 、P1.5、P1.2、P1.1、P1.3、P1.0 端口口P1.2、P1.1、P1.3、P1.0 端口控制 P1.6、P1.4、P1.7、P1.5P1.2、P1.1、P1.3、P1.0 端口指示灯的亮灭判断 P3.5 口开关SB6 是否闭合?结束NY 西北工业大学明德学院本科毕业设计论文 26图 3.7 紧急(报警)流程图通过开关 SB6来控制所有灯闪烁实现紧急(报警)3.2 编程软件C 语言是1972年由美国贝尔实验室的 D.M.Rotchie 所开发,采用结构化编程方法,遵从自顶向下的原则。在操作系统和系统使用程序以及需要对硬件进行操作的场合,用 C 语言明显优于其它高级语言,但在编写大型程序时,C 语言仍面临着挑战。1983年,在 C 语言基础上贝尔实验室的 Bjarne Stroustrup推出了 C+。C+进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言,目前流行的 C 语言版本。 数据是程序处理的对象,数据可以依其本身的特点进行分类。我们知道在数学中有整数、实数的概念,在日常生活中需要用字符串来表示人的姓名和地址,有些问题的回答只能是“是”或“否” (即逻辑“真”或“假” ) 。不同类型的数据有不同的处理方法,例如:整数和实数可以参加算术运算,但实数的表示又不同于整数,要保留一定的小数位;字符串可以拼接;逻辑数据可以参加“与” 、 “或” 、 “非”等逻辑运算。我们编写计算机程序,目的就是为了解决客观世界中的现实问题。所以,高级语言中也为我们提供了丰富的数据类型和运算。C+中的数据类型分为基本类型和自定义类型。基本类型是 C+编译系统内置的。在 C 语言中,两个函数的名称不能相同,否则会导致编译错误。而在C+中,函数名相同而参数数据类型不同或参数个数不同或二者皆不同的两个函数被解释为重载。使用函数重载可以帮助程序员处理更多的复杂问题,避免了使用诸如 intabs()、fabs()、dabs()等繁杂的函数名称;同时在大型程序中, 西北工业大学明德学院本科毕业设计论文 27使函数名易于管理和使用,而不必绞尽脑汁地去处理函数名。同时必须注意,参数数据类型相同,但是函数返回类型不同的两个函数不能重载。在 C 语言中,如果一个函数需要修改用作参数的变量值的时候 ,参数应该声明为指针类型;当参数的大小超过一个机器字长时,通过传值方式来传递参数的效率较低,也需要用指针。C 语言是1972年由美国的 Dennis Ritchie 设计发明的,并首次在 UNIX 操作系统的 DEC PDP-11计算机上使用。它由早期的编程语言 BCPL(Basic Combined Programming Language)发展演变而来,在1970 年,AT&T 贝尔实验室的 Ken Thompson 根据 BCPL 语言设计出较先进的并取名为 B 的语言,最后导致了 C 语言的问世。 而 B 语言之前还有 A 语言,取名自世界上第一位女程序员 Ada(艾达) 。C 语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序员中备受青睐。最近25年是使用最为广泛的编程语言。C 语言是由丹尼斯里奇于1969年至1973年以 B 语言为基础,在贝尔实验室开发完成。目前,C 语言编译器普遍存在于各种不同的操作系统中,例如UNIX、MS-DOS、 Microsoft Windows 及 Linux 等。 C 语言的设计影响了许多后来的编程语言,例如 C+、Objective-C、Java、C#等。C 是高级语言:它是把高级语言的基本结构和语句与低级语言的实用性结合起来的工作单元。 C 是结构式语言:结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。C 语言功能齐全:具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的的游戏。C 语言适用范围大:适合于多种操作系统,如Windows、DOS、UNIX 等等;也适用于多种机

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论