




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科毕业设计论文 题 目 基于单片机的汽车灯控系统模拟设计 专业名称 自动化 学生姓名 张文航 指导教师 李雪霞 毕业时间 2021.6 设计论文毕业 任务书一、题目:基于单片机的汽车灯控系统模拟设计二、指导思想和目的要求:通过毕业设计,使学生对所学电子工艺、电路根底知识、模电、数电、等电子根底课程的根本知识加深理解,掌握单片机的根本指令及根本结构,并将其与实际工程应用紧密结合起来,培养创新意识,增强分析问题解决问题能力,为尽快进入社会角色,熟悉相关开发工作流程、工程小组组成、分工、合作方式方法等。增强团队合作意识,提高根本工作技能,为即将踏入社会奠定理论和实践根底。内容:汽车在行驶时,有左转
2、弯、右转弯、刹车、警示等操作。左转弯时,应使左头灯、左尾灯、仪表板左转指示灯闪烁。右转弯时,应使右头灯、右尾灯、仪表板右转指示灯闪烁。刹车时,左右两个尾灯亮。警示时,头灯、尾灯、仪表板指示灯等6个灯全闪烁。(1)设计思路:运用所学单片机知识,运用其I/O口设计根本控制电路,并以发光管、蜂鸣器、按键等外部设备做为相应的模拟部件。(2)步骤:l、了解汽车灯控系统的工作原理及要求。2、设计单片机工作的根本电路,如:晶振电路、复位电路。3、根据系统设计要求选择发光二极管、蜂鸣器、按键等模拟部件。 4、设计系统根本电路。5、绘制PRTUSE电原理图并编写系统控制程序。6、联机进行系统仿真调试。三、进度与
3、要求:1第一周第一周 收集汽车电子相关资料。2第二周第三周 用PROTUSE设计硬件原理图并进行器件选型。3第四周第六周 编写系统各功能模块控制程序。4第七周第十周 联机进行系统调试。5. 第十一周第十二周 整理并组织论文。6第十三周第十四周 完成修改稿,定稿,打印,交评阅。7第十五周第十六周 评阅与辩论 学生 张文航 指导教师 李雪霞 系主任 史仪凯摘 要随着单片机的日益开展,其应用也越来越广泛,通过对“汽车灯控制系统设计,可以对单片机的知识得到稳固和扩展。在生活的环境中,自动控制要求中都会有单片机的控制的一局部;从简单到复杂,但凡能想象到的地方几乎都有使用单片机的需求。单片机的应用有利于产
4、品的小型化、多功能化和智能化,能够提高劳动效率、减轻劳动强度,提升产品质量,改善劳动环境。单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器、GPS导航系统、abs防抱死系统、制动系统、胎压检测等。单片机在工商、金融、科研、教育、电力、通信、物流和国防航空航天等领域都有着十分广泛的用途。近年来开始在汽车前照灯上逐步广泛应用的一种新型光源,同传统卤素灯相比,具有环保节能、使用寿命长、反响速度快等特点。汽车前照灯使用的LED 已成为各个汽车灯具研发机构努力开发的目标,是未来汽车照明领域的重大开展方向之一。本课程内容是设计一个单片机控制系统,在汽车进
5、行左转弯、右转弯、近光灯、远光灯、刹车、合紧急报警开关等操作时,实现对各种信号指示灯的控制。本设计主要是对单片机的并行输入/输出口电路的应用,通过I/O口控制发光二极管的亮灭闪烁,加上一些复位电路按键电路晶振模块、灯光模块来模拟汽车尾灯的功能。 关键字:单片机,LED灯,汽车灯控系统ABSTRACT With the increasing development of the microcontroller, its applications are increasingly being used by "auto light control system" design,
6、 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 conduc
7、ive 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 in
8、telligent 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 instituti
9、ons 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 oth
10、er 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 taillig
11、hts function.KEY WORDS: microcontroller,LED lights,Car light control system目 录摘 要IIIABSTRACTIV第一章 绪 论7778第二章 系统硬件设计92.1 总体硬件方案9系统结构图9元器件9设计原理10系统总体模块图112.2 各功能模块原理11单片机模块11按键模块15指示灯模块16复位电路模块17晶振电路模块18第三章 系统软件设计20203近光灯流程图21远光灯流程图22左转向流程图23右转向流程图24刹车流程图25紧急报警流程图263.2 编程软件263.3 程序29第四章 仿真结果323232远光灯仿
12、真图33左转向仿真图33右转向仿真图34刹车仿真图35紧急报警仿真图364.2 仿真工具Proteus介绍3739参考文献41致 谢42毕业设计小结43 第一章 绪 论随着单片机的日益开展,其应用也越来越广泛,利用单片机控制汽车信号灯可以对单片机的知识得到稳固和扩展。本课程内容是设计一个单片机控制系统,在汽车进行左转弯、右转弯、刹车、合紧急开关等操作时,实现对各种信号指示灯的控制。通过所学知识进行软硬件设计,提高各方面技能,稳固对理论知识的掌握,把理论知识应用到实际中,使生活更方便、平安。现在虽然单片机的应用很普遍,但仍有许多工程未实现,所以单片机的开展有很大的空间。汽车作为现代最重要的交通工
13、具之一,在当今社会得到了飞速的开展。在我国汽车快速的进入了普通家庭,已成为事实。由于汽车交通所引发的事故呈现出上升的趋势。特别是汽车在夜间行驶,汽车前大灯远近灯光的控制不当也会带来一些不平安的因素。本文介绍了一种由AT89C51型单片机控制,光敏传感器采集信号,继电器执行动作的夜间汽车前大灯远近灯光转换的自动控制系统。该系统安装在汽车上,使汽车在夜间行驶时,根据对头车驶近驶离的情况,能够自动调节前大灯远近灯光转换。该系统稳定可靠,本钱低廉。有一定的推广和使用价值。本文中汽车转向灯设计是用单片机来实现的,单片机控制系统可防止传统的缺点,因为单片机功能强、使用灵活、可靠性高、本钱低、体积小、面向控
14、制、具有智能化功能等很多优点。转向灯使用要求:转向控制时,拨打相应侧的转向开关,相应侧的转向灯低频闪烁,同时驾驶室里相应侧LED转向指示灯或也以同样低的频率闪烁;左右两侧转向灯有故障时,驾驶室里LED转向指示灯或高频闪烁;汽车紧急报警时四个转向灯同时高频率闪烁,驾驶室里左右LED转向指示灯和同频率闪烁。由此看来,利用单片机控制汽车灯光系统有良好的开展前景。 本系统中要求设计汽车信号灯控制系统,在驾驶汽车时有左转弯、右转弯、近光灯、远光灯、刹车、合紧急开关六个操作;所以可以用6个开关来模拟这几个操作,当单片机检测到相关操作后,然后判断属于那一类操作,再通过软件来驱动控制相应的信号灯闪烁。以此来实
15、现对汽车信号灯的控制。当合上左转弯开关后,左前灯、左尾灯闪烁;当合上右转弯开关后,右前灯、右尾灯闪烁。合上近光灯开关,两近光灯亮。合上远光灯开关,四个远光灯亮。当刹车开关合上时,两侧尾灯闪烁;在紧急开关合上后,所有灯都闪烁。针对上述问题,我们用AT89C51单片机设计了一套汽车信号灯控制系统。 第二章 系统硬件设计2.1 总体硬件方案该课设是基于单片机利用开关控制二极管亮暗来实现。是一个典型的控制系统. 单 片 机 电源电路指示灯模块模块按键模块复位电路晶振电路 图 2.1 结构示意图汽车信号灯控制硬件电路元器件如表2-1。表2-1 汽车信号灯控制硬件电路元器件表名称代号数量单片机U11晶振B
16、1发光二极管RR、RH、LH、LR、DB、HB8按钮SB0SB67电阻R1R8、R9、R1010电阻R11R16 6 电容C31电容C1、C22单片机电源VCC1利用单片机控制汽车信号灯,硬件电路比拟简单,并可以通过软件完成所需要的控制功能。以下是利用单片机控制的8个汽车信号灯,它们分别为左尾灯LR、左前灯LH、右前等RH、右尾灯RR、远光灯HB、近光灯DB。6个按键SB1、SB2、SB3、SB4、SB5、SB6,它们分别是左拐弯键、右拐弯键、近光灯键、远光灯键、刹车键、紧急信号键报警。汽车信号灯控制功能见表2-2。表2-2 汽车信号灯控制功能表按 键键 名动 作SB1左转向左前灯LH、左后灯
17、LR闪烁SB5刹车左后灯LR、右后灯RR闪烁SB6紧急报警信号所有灯闪烁SB2右转向右前灯RH、右后灯RR闪烁SB3近光灯2个DB灯亮SB4远光灯 4个HB灯亮图2.2 系统模块总图2.2 各功能模块原理AT89C51是ATMEL公司生产的低电压,高性能的CMOS 8位单片机,片内含4K bytes的可反复擦写和只读程序存储器PEROM和128 bytes的随机存取数据存储器,器件采用ATMEL公司的高密度、非易失性存储技术,兼容标准MCS-51指令系统,片内置通用8位中央处理器和FLASH存储单元。其引脚图如图3-1所示。其主要性能参数为:与MCS-51产品指令系统完全兼容;4k字节可重擦写
18、Flash闪速存储器;1000次擦写周期;全静态操作:0Hz-24MHz;三级加密程序存储器;128 X 8字节内部RAM;32个可编程I/O口线;2个16位定时/计数器;6个中断源;可编程串行UART通道;低功耗空闲和掉电模式。图2.3 AT89C51引脚图AT89C51提供以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可隆至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口
19、及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一硬件复位。引脚功能说明:Vcc:电源电压GND:地P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总路线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1可作为高阻抗输入端用。中断控制片内Flash存储器片内RAMETC定时器1定时器0 CPU振荡器总线控制I/O接口串行接口P0 P2 P1 P3外部中断TXD RXD计数器输出在访问外部数据存储器或程序存储器时,这组口线从那时起转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电图2.4 AT89C
20、51内部结构图P1口:P1是一个内部带上拉电阻的8位双向I/O口,P1的输出缓冲级可“1,通过内部的上拉电阻把端口拉到高电平,些时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。Flash编程和程序校验期间,P1接收低8位地址。“1,通过内部的上拉电阻把端口拉到高电平,些时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX RI指令)时,P2口线上的内容(也
21、即特殊功能存放器(SFR)区中R2存放器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其它控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写1,通过内部的上拉电阻把端口拉到高电平,些时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下所示:表2-3 P3口功能I/O口线专用功能RxD(串行数据接收)TxD(串行数据发送)INT0(外部中断0请求输入)INT1(外部中断1请求输
22、入)T0(定时器0外部计数脉冲输入)T1(定时器1外部计数脉冲输入)WR(外部数据存储器写信号)RD(外部数据存储器读信号)P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存许器)。输出脉冲用于锁存地址的低8位字节.即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入
23、编程脉冲(PROG)。可通过对特殊功能存放器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令ALE才会被除数激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果
24、加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU那么执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vcc,当然这必须是该器件是使用12V编程电压Vcc。根据设计的要求,本设计选用独立式键盘。其工作原理为,单片机引脚作为输入使用,首先置“1。当键没有被按下时,单片机引脚上为高电平;而当键被按下去后,引脚接地,单片机引脚上为低电平。SB1控制左转、SB2控制右转、SB3控制近光、SB4控制远光、SB5控制刹车、SB6控制报警。 图 2.5 按键模块LED具有二极管的特性,但在导通之后会发光,称之为发光二极管。与普通的灯泡一
25、样,LED导通后,随着其俩端电压的增加,电流急剧增加,所以,必须给LED串联一个限流电阻,否那么一旦通电,LED会被烧坏。要用89c51单片机来控制LED,显然这个LED必须要与89c51单片机的某个脚相连。当AT89c51单片机的第1脚是高电平时,LED不亮,当第1脚是低电平时,LED亮。但是在汽车转弯灯里要根据汽车方向来控制信号灯,而实现LED的亮与灭。 图2.6 指示灯模块 下列图为单片机的复位电路,输入端出现高电平时实现复位何必和初始化.在振荡器运行的情况下,要实现复位操作,必须使RST引脚至少保持机器周期(24个振荡周期)的高电平.CPU在第二个机器周期内执行内部复位操作,以后每个机
26、器周期重复一次,直至RST端电平降低。电平复位将复位端通过电阻与Vcc相连,按键脉冲复位是利用RC分电路产生正脉冲来到达复位的。在按键电平复位和按键脉冲复位两种简单的复位电路中,干扰易串入复位端,在大多数情况下,不会造成单片机的错误复位,但会引起内部存放器错误复位,这里可在复位端引脚上接一个去藕电容。 图 2.7 复位电路模块时钟电路可由内部和外部方式产生。接上定时元件,内部震荡电路就产生自激震荡。定时元件通常采用石英晶体和电容组成的并联谐振电路。采用单片机内部晶振。在MCS-51系列单片机内部有一个高增益反向放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。而在芯片外部XTAL1
27、和 XTAL2之间跨接晶体振荡器和微调电容,形成反响电路,就构成了一个稳定的自激振荡器。外接晶体石英或陶瓷,陶瓷的精度不高,但价格廉价振荡器以及电容C1和C2构成并联谐振电路,接在放大器的反响回路中, C1和C2的大小会对振荡器频率的上下、振荡器的稳定性、起振的快速性和温度特性有一定的影响。因此建议在采用石英晶体振荡器时C=10pF,陶瓷振荡器时,C=40pF,典型值为40pF。在设计电路板时,振荡器和电容应尽量安装得与单片机靠近,以减小寄生电容的存在更好的保障振荡器稳定、可靠的工作。 图2.8 晶振电路模块 第三章 系统软件设计 初始化LED指示灯P1端口控制P1口指示灯的亮灭判断P3口开关
28、是否闭合?结束 开始YN 图3.1 程序流程总图Y口指示灯的亮灭判断P3.2口开关SB3是否闭合?结束N 图3.2 近光灯流程图通过开关SB3来控制近光灯2个DB灯亮来实现开启近光灯 控制P1.6、P1.7、P1.4、P1.5 端口指示灯的亮灭判断P3.3口开关SB4是否闭合?结束NY 图3.3 远光灯流程图 通过开关SB4来控制远光灯4个HB灯亮实现开启远光灯口指示灯的亮灭判断P3.0口开关SB1是否闭合?结束NY 图 3.4 左转向流程图 通过开关SB1来控制左前灯LH、左后灯LR闪烁实现左转向口指示灯的亮灭判断P3.1口开关SB2是否闭合?结束NY 图3.5 右转向流程图 通过开关SB2
29、来控制右前灯RH、右后灯RR闪烁来实现右转向口指示灯的亮灭判断P3.4口开关SB5是否闭合?结束NY 图 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.2、P1.1、P1.3、P1.0 端口指示灯的亮灭判断P3.5口开关SB6是否闭合?结束NY图 3.7 紧急报警流程图通过开关SB6来控制所有灯闪烁实现紧急(报警)3.2 编程软件C语言是1972年由美国贝尔实验室的D.M.Rotchie
30、所开发,采用结构化编程方法,遵从自顶向下的原那么。在操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,但在编写大型程序时,C语言仍面临着挑战。1983年,在C语言根底上贝尔实验室的Bjarne Stroustrup推出了C+。C+进一步扩充和完善了C语言,是一种面向对象的程序设计语言,目前流行的C语言版本。 数据是程序处理的对象,数据可以依其本身的特点进行分类。我们知道在数学中有整数、实数的概念,在日常生活中需要用字符串来表示人的姓名和地址,有些问题的答复只能是“是或“否即逻辑“真或“假。不同类型的数据有不同的处理方法,例如:整数和实数可以参加算术运算,但实数的
31、表示又不同于整数,要保存一定的小数位;字符串可以拼接;逻辑数据可以参加“与、“或、“非等逻辑运算。我们编写计算机程序,目的就是为了解决客观世界中的现实问题。所以,高级语言中也为我们提供了丰富的数据类型和运算。C+中的数据类型分为根本类型和自定义类型。根本类型是C+编译系统内置的。在C语言中,两个函数的名称不能相同,否那么会导致编译错误。而在C+中,函数名相同而参数数据类型不同或参数个数不同或二者皆不同的两个函数被解释为重载。使用函数重载可以帮助程序员处理更多的复杂问题,防止了使用诸如intabs()、fabs()、dabs()等繁杂的函数名称;同时在大型程序中,使函数名易于管理和使用,而不必绞
32、尽脑汁地去处理函数名。同时必须注意,参数数据类型相同,但是函数返回类型不同的两个函数不能重载。在C语言中,如果一个函数需要修改用作参数的变量值的时候 ,参数应该声明为指针类型;当参数的大小超过一个机器字长时,通过传值方式来传递参数的效率较低,也需要用指针。C语言是1972年由美国的Dennis Ritchie设计创造的,并首次在UNIX操作系统的DEC PDP-11计算机上使用。它由早期的编程语言BCPL(Basic Combined Programming Language)开展演变而来,在1970年,AT&T贝尔实验室的Ken Thompson根据BCPL语言设计出较先进的并取名为
33、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是高
34、级语言:它是把高级语言的根本结构和语句与低级语言的实用性结合起来的工作单元。C是结构式语言:结构式语言的显著特点是代码及数据的分隔化,即程序的各个局部除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供应用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。C语言功能齐全:具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。而且计算功能、逻辑判断功能也比拟强大,可以实现决策目的的游戏。C语言适用范围大:适合于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。C语言对编写需
35、要硬件进行操作的场合,优于其它高级语言,有一些大型应用软件也是用C语言编写的。C语言应用指针:可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不平安的因素。C+在这方面做了改良,在保存了指针操作的同时又增强了平安性,受到了一些用户的支持,但是,由于这些改良增加语言的复杂度,也为另一局部所诟病。Java那么吸取了C+的教训,取消了指针操作,也取消了C+改良中一些备受争议的地方,在平安性和适合性方面均取得良好的效果,但其本身解释在虚拟机中运行,运行效率低于C+/C。一般而言,C,C+,java被视为同一系的语言,它们长期占据着程序使用榜的前三名。C语言文件由数据序列组成:可以
36、构成二进制文件或文本文件。常用的C语言IDE集成开发环境有Microsoft Visual C+、Dev-C+、Code:Blocks、Borland C+ Builder、Watcom C+、GNU DJGPP C+、Lccwin32 C Compiler 3.1、High C,Turbo C、C-Free、Win-TC、Xcode等。C程序是由一组变量或是函数的外部对象组成的。 函数是一个自我包含的完成一定相关功能的执行代码段。我们可以把函数看成一个“黑盒子,你只要将数据送进去就能得到结果,而函数内部究竟是如何工作的的,外部程序是不知道的。外部程序所知道的仅限于输入给函数什么以及函数输出什
37、么。函数提供了编制程序的手段,使之容易读、写、理解、排除错误、修改和维护。C程序中函数的数目实际上是不限的,如果说有什么限制的话,那就是,一个C程序中必须至少有一个函数,而且其中必须有一个并且仅有一个以main为名,这个函数称为主函数,整个程序从这个主函数开始执行。C 语言程序鼓励和提倡人们把一个大问题划分成一个个子问题,对应于解决一个子问题编制一个函数,因此,C 语言程序一般是由大量的小函数而不是由少量大函数构成的,即所谓“小函数构成大程序。这样的好处是让各局部相互充分独立,并且任务单一。因而这些充分独立的小模块也可以作为一种固定规格的小“构件, 用来构成新的大程序。C语言的一个主要特点是可
38、以建立库函数。Turbo C 2.0 提供的运行程序库有400多个函数, 每个函数都完成一定的功能, 可由用户随意调用。这些函数总的分为输入输出函数、数学函数、字符串和内存函数、与BIOS和DOS有关的函数、 字符屏幕和图形功能函数、过程控制函数、目录函数等。对这些库函数应熟悉其功能, 只有这样才可省去很多不必要的工作。3.3 程序#include<reg52.h>#define uint unsigned intsbit SB1=P30; / 控制开关I/O分配sbit SB2=P31;sbit SB3=P32;sbit SB4=P33;sbit SB5=P34;sbit SB6
39、=P35;void delay(uint z) / 延时子程序uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void main() / 主程序 while(1) if(SB1=0) delay(5); if(SB1=0) / 左转开关被按下 P1=0xf3; / 通过开关SB1来控制左前灯LH、左 delay(500); 后灯LR闪烁实现左转向 P1=0xff; delay(500); if(SB2=0) delay(5); if(SB2=0) / 右转开关被按下 P1=0xfc; / 通过开关SB2来控制右前灯 delay(500); RH
40、、右后灯RR闪烁来实现右转向 P1=0xff; delay(500); if(SB3=0) P1=0x3f; / 近光开关被按下 delay(500); / 通过开关SB3来控制近光灯2个DB灯 P1=0xff; 亮来实现开启近光灯 if(SB4=0) / 远光开关被按下 P1=0x0f; / 通过开关SB4来控制远光灯4个HB delay(500); 灯亮实现开启远光灯 P1=0xff; if(SB5=0) / 刹车开关被按下 delay(5); / 通过开关SB5来控制左后灯LR、右后 if(SB5=0) 灯RR闪烁实现刹车 P1=0xf6; delay(500); P1=0xff; de
41、lay(500); if(SB6=0) / 紧急刹车开关被按下 / 通过开关SB6来控制所有灯闪烁实现delay(5); 紧急(报警) if(SB6=0) P1=0x00; delay(500); P1=0xff; delay(500); 第四章 仿真结果按下SB3按钮, 2个DB灯亮,来实现开启近光灯。图 4.1 近光灯仿真图按下SB4按钮 ,4个HB灯亮,来实现开启远光灯。图 4.2 远光灯仿真图按下SB1按钮, 左前灯LH、左后灯LR闪烁,来实现左转向。图 4.3 左转向仿真图按下SB2, 右前灯RH、右后灯RR闪烁,来实现右转向。图 4.4 右转向仿真图按下SB5按钮, 左后灯LR、右
42、后灯RR闪烁,来实现刹车。图 4.5 刹车仿真图4.1.6紧急报警仿真图按下SB6按钮, 所有灯闪烁,来实现紧急报警。图4.6 紧急报警仿真图4.2 仿真工具Proteus介绍 Proteus软件不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比拟好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 支持主流的CPU类型:如ARM7、8051/52、AVR、PIC10/12、PIC16、PIC18、PIC24、dsPIC33、HC11、BasicStamp、8086、MSP430等,
43、CPU类型随着版本升级还在继续增加,如即将支持CORTEX、DSP处理器;支持通用外设模型:如字符LCD模块、图形LCD模块、LED点阵、LED七段显示模块、键盘/按键、直流/步进/伺服电机、RS232虚拟终端、电子温度计等等,其COMPIMCOM口物理接口模型还可以使仿真电路通过PC机串口和外部电路实现双向异步串行通信;实时仿真:支持UART/USART/EUSARTs仿真、中断仿真、SPI/I2C仿真、MSSP仿真、PSP仿真、RTC仿真、ADC仿真、CCP/ECCP仿真;编译及调试:支持单片机汇编语言的编辑/编译/源码级仿真,内带8051、AVR、PIC的汇编编译器,也可以与第三方集成编
44、译环境如IAR、Keil和Hitech结合,进行高级语言的源码级仿真和调试;原理图到PCB的快速通道: 原理图设计完成后,一键便可进入ARES的PCB设计环境,实现从概念到产品的完整设计;先进的自动布局/布线功能:支持器件的自动/人工布局;支持无网格自动布线或人工布线;支持引脚交换/门交换功能使PCB设计更为合理;完整的PCB设计功能:最多可设计16个铜箔层,2个丝印层,4个机械层含板边,灵活的布线策略供用户设置,自动设计规那么检查,3D 可视化预览;多种输出格式的支持:可以输出多种格式文件,包括Gerber文件的导入或导出,便利与其它PCB设计工具的互转如protel和PCB板的设
45、计和加工。Proteus可提供的仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。Proteus可提供的仿真仪表资源 :示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用。除了现实存在的仪器外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。Proteus可提供的调试手段 Prote
46、us提供了比拟丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。PROTEUS 是单片机课堂教学的先进助手。PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者那么是实物演示实验难以到达的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。课程设计
47、、毕业设计是学生走向就业的重要实践环节。由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。 Proteus Design Suite集成了原理图捕获、SPICE电路仿真和PCB设计,形成一个完整的电子设计系统。对于通用微处理器,还可以运行实际固件程序进行仿真。与传统的嵌入式设计过程相比,这个软件包能极大地缩短开发时间。从产品概念到设计完成的完整仿真与开发平台;预研设计与工程评估,减少开发风险;ODM的虚拟样机;强大的分析与调试功能克服新手的经验缺乏;软硬件的交互仿
48、真与测试大大减少后期测试工作量;便利工程管理与团队开发。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,在此期间我也失落过,也曾一度热情高涨。从开始时满富激情到最后汗水背后的复杂心情,点点滴滴无不令我回味无长。生活就是这样,汗水预示了结果也见证了收获。同时在设计的过程中发现了自己的缺乏之处,刚拿到任务书时,思路不是很清晰,导致在构建单片机原理图和选取元器件上花费太多的时间和精力,落下了进度。在编程上花的时间太多,对以前所学过的知识理解得不够深刻,掌握得不够牢固。编写流程图的过程中遇见的问题较多,通过老师的指导,反复修改,实现了说明各个开关控制灯光的效果。在实现仿真时,灯光闪烁不稳定,通过改变图中电阻,电容值来实现灯光的稳定闪烁与常亮。在编写论文时,字体修改花费大量时间,字数开始时太少,论文显得太空旷,后来经过查询相关知识来填补完成了本次论文。后期论文完成进度还可以,预期的完成了老师布置的任务,完成了本次的毕业设计,此论文算是自己大学四年来所学知识的成果吧!通过这次毕业设计使我懂得了理论与实际相结合是很重要的,只
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《谨防溺水,珍爱生命》心得体会
- 煤基高端新材料项目可行性研究报告(范文模板)
- 新疆维吾尔自治区喀什地区伽师县2022-2023学年高三上学期11月期中化学含解析
- 四川省宜宾市四中2023-2024学年高一上学期1月期末生物含解析
- 云南经济管理学院《口译理论与实践》2023-2024学年第二学期期末试卷
- 咸宁职业技术学院《传播学概论A》2023-2024学年第二学期期末试卷
- 江西电力职业技术学院《中医学概论(Ⅱ)》2023-2024学年第二学期期末试卷
- 室内设计水电安装失败案例分析
- 心理学技能课件
- 湖南有色金属职业技术学院《组织行为学(工商)》2023-2024学年第二学期期末试卷
- 2025年水利工程师职称考试试题及答案
- 2025年四川省成都市青羊区中考数学二诊试卷
- 法院出庭授权委托书
- 2025年山东出版集团有限公司山东出版传媒股份有限公司招聘(192名)笔试参考题库附带答案详解
- 2025年四川省宜宾市第二中学校九年级二诊考试数学试题(原卷版+解析版)
- 《会计基础与实务》课件-项目五 登记会计账簿
- 2024初级注册安全工程师笔试题库答案分析
- 高房子与矮房子的比较与思考
- 国潮插画文创设计
- 2025中国临床肿瘤学会CSCO非小细胞肺癌诊疗指南要点解读课件
- 塑料粒子购销合同协议
评论
0/150
提交评论