汽车灯光控制电路设计

上传人:豆*** 文档编号:131782181 上传时间:2022-08-07 格式:DOC 页数:17 大小:342KB
返回 下载 相关 举报
汽车灯光控制电路设计_第1页
第1页 / 共17页
汽车灯光控制电路设计_第2页
第2页 / 共17页
汽车灯光控制电路设计_第3页
第3页 / 共17页
点击查看更多>>
资源描述
汽车灯光控制电路设计张宝强(陕西理工学院物理系电信062, 陕西 汉中 723001)指导老师:宋卫星摘要采用AT89C51单片机设计汽车灯光控制电路,运用其4个I/O口分别实现对汽车灯光控制、显示功能,其中还添加了转弯灯、紧急灯警示声音功能。运用较少硬件与合适软件结合就可以很轻易实现设计规定,并且灵活性强,也可以通过软件编程实现更多附加功能。关键字AT89C51单片机;灯光;控制目录1引言12设计方案12.1功能规定12.2设计方案13硬件设计23.1 AT89C51单片机构造及功能23.1.1 AT89C51构造及引脚23.1.2 AT89C51重要性能33.1.3 AT89C51管脚功能33.2 AT89C51时序电路43.3 AT89C51复位电路53.4 AT89C51电源电路53.5汽车灯光控制电路64软件设计75仿真与调试75.1 Keil C51 Vision2简介75.2 Proteus Professional 7.5简介85.3调试96结论96.1设计成果96.2系统缺陷及提议96.3道谢9参照文献10附录 程序清单111引言伴随汽车数量大量增长,交通安全问题也越来越严峻。而汽车车灯光控制系统可靠、稳定对于安全行驶起着非常重要作用,因此汽车灯光控制电路研究和设计成为处理交通安全问题一种好途径。汽车工业发展也促使汽车车灯控制电路设计和研究不停提高,汽车功能规定也越来越庞大,因此各单元电路也需要向小型化方向发展,以使汽车可以能装入更多功能模块。老式使用纯硬件设计电路,不仅电路庞大复杂,并且一旦出了问题维修检测起来也耗时费力。因此智能化、小型化电路设计走上了时代时尚,也必将影响后来汽车控制系统设计,不仅如此还要综合考虑加工工艺、寿命、成本等问题,以使设计电路可以大量普及。伴伴随汽车工业发展,汽车灯光控制电路发展已经非常成熟,目前,汽车灯光控制系统发展充足运用了现代科技发展成果。采用纯硬件、PLC电气控制技术设计汽车灯光控制电路已经得到大量应用。老式采用纯硬件设计电路正逐渐向着软硬结合方向发展,也将随时应用最新科学技术。单片机发展正朝着低功耗、高性能、低价格和外围电路内装化方向发展。因此,采用单片机设计汽车灯光控制电路,应用软件来实现庞大控制功能,并且通过外围电路扩展还能实现更多附加功能。这种控制电路不仅体积小、成本低,并且也愈加智能,可以随时修改整个控制功能,非常适合现代汽车工业发展时尚。总之,使着汽车灯光控制电路向着愈加可靠,功能愈加庞大、智能方向发展。2设计方案2.1功能规定汽车车灯采用发光二极管来设计,汽车前部两侧各有远光灯一部(夜间正常行车时使用,大功率白色发光二极管),近光灯一部(夜间行驶汇车时使用,小功率白色发光二极管),远光灯与近光灯不能同步使用;汽车左右各有2个指示灯:方向灯(小功率黄色发光二极管),雾灯(大功率黄色发光二极管)。汽车后部两侧各有刹车灯一部(小功率红色发光二极管),尾灯一部(大功率红色发光二极管)。刹车时,刹车灯亮(不闪)。转弯时,汽车方向灯应当一闪一闪。紧急状况时,汽车刹车灯与尾灯应同步闪烁。2.2设计方案采用AT89C51单片机来完毕汽车灯光控制电路设计。运用单片机丰富I/O端口,及其控制灵活性,实现基本功能规定。汽车车灯控制电路方框图如2.1所示。AT89C51电源电路时序及复位电路灯光控制模块灯光显示模块报警模块图2.1 汽车车灯控制电路方框图电源电路即为驱动单片机工作电源所设计电路,它输出端与单片机Vcc相连,本设计电路采用USB口转换5V直流作为单片机电源。时序及复位电路是作为单片机能正常工作所必须最小系统,前者提供单片机工作所需时拍,后者初始化单片机。灯光控制模块是汽车灯光控制按钮,共有7个,直接连接到P1口各口线上,按下则有关灯亮,再按则灭。灯光显示模块即为汽车灯光显示电路,通过开关控制其显示状况。报警模块是在汽车转弯或发生紧急状况时,伴随有关车灯闪烁同步,驱动蜂鸣器响以发出警报,以提醒行人或求救。 3硬件设计3.1 AT89C51单片机构造及功能3.1.1 AT89C51构造及引脚AT89C51就是一种微型计算机,AT89C51单片机重要由运算器、控制器、存储器(ROM及RAM)和I/O接口构成。它内部构造图如3.1.1所示。振荡器和时序OSC程序存储器4KB Flash ROM数据存储器256字节RAM/SFR216位定期器/计数器80C51CPU64KB总线扩展控制器可编程I/O口可编程全双工串行口外部事件计数输入外中断内中断控制P0P1P2P3串行通信DBUS图3.1.1 AT89C51单片机芯片内部构造运算器包括一种可进行8位算术运算和逻辑运算单元ALU,8位暂存器1(TMP1)、暂存器2(TMP2),8位累加器ACC,寄存器B和程序状态寄存器PSW等。控制器包括程序计数器PC、指令寄存器IR、指令译码器ID、振荡器及定期电路等。AT89C51片内有Flash ROM(程序存储器,只能读)和RAM(数据存储器,可读可写)两类,他们各自有独立存储地址空间,与一般存储器配置方式很不一样。AT89C51单片机有4个与外部互换信息8位并行接口,即P0-P3。他们都是准双向口,每个端口各有8条I/O线,均可作输入/输出。P0-P3口4个锁存器同RAM统一编址,可以把I/O口当做一般特殊功能寄存器(SFR)来寻址。图3.1.2 AT89C51引脚如图3.1.2所示是一种双列直插封装(DIP)方式AT89C51单片机,它共有40个引脚。其中诸多引脚具有第二功能,使用时要加以注意。3.1.2 AT89C51重要性能AT89C51是一种4K字节闪烁可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)低电压,高性能CMOS 8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业原则MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMELAT89C51是一种高效微控制器。它为诸多嵌入式控制系统提供了一种灵活性高且价廉处理方案。AT89C51重要特性如下所述。与MCS-51 兼容,一种8位80C51微处理器(CPU);片内256字节数据存储器RAM/SFR,用于寄存可以读/写数据;片内4K字节可编程闪烁存储器,用于寄存程序、某些原始数据和表格;寿命:1000写/擦循环;数据保留时间:;全静态工作:0-24MHz;三级程序存储器锁定;4个8位并行可编程I/O口P0-P3,每个口既可作输入又可作输出;两个16位定期器/计数器,每个定期器/计数器可设置成计数方式,用以对外部事件计数,也可设置成定期方式,根据定期成果实现单片机控制;5个中断源 、两个中断优先级;一种全双工UART(通用异步发送接受器)串行I/O口,用于实现单片机之间或单片机与计算机之间串行通信;具有低功耗闲置模式和掉电模式;片内振荡器和时钟电路,但石英晶体和微调电容需要外接,最高容许振荡频率为24MHz。3.1.3 AT89C51管脚功能VCC(40脚):电源端,为+5V。GND(20脚):接地端。P0口(P0.0-P0.7,39-32脚):P0口为一种8位漏级开路准双向I/O口,每脚可吸取8个TTL门电流。当P0口作为输入口使用时,应先向口锁存器(地址80H)写入全1,此时P0口所有引脚浮空,可作为高阻抗输入。做输入口使用时先写1,这就是准双向含义。在CPU访问片外存储器(AT89C51片外EPROM或RAM)时,P0口分时提供8位地址和8位数据复用总线。在此期间,P0口内部上拉电阻有效。在Flash ROM编程时,P0端口接受指令字节;而在校验程序时,则输出指令字节、验证时,规定外接上拉电阻。P1口(P1.0-P1.7,1-8脚):P1口是一种内部提供上拉电阻8位双向I/O口,P1口缓冲器能接受输出4个TTL门电流。P1口管脚写入1后,被内部上拉为高电位,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉缘故。在FLASH ROM编程和校验时,P1口接受低8位地址。 P2口(P2.0-P2.7,21-28脚):P2口为一种内部上拉电阻8位双向I/O口,P2口缓冲器可接受,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,可作为输入。作为输入时,P2口管脚被外部拉低,将输出电流。这是由于内部上拉缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址高八位。在给出地址“1”时,它运用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器内容。P2口在FLASH编程和校验时接受高8位地址信号和控制信号。P3口(P3.0-P3.7,10-17脚):P3口管脚是8个带内部上拉电阻双向I/O口,可接受输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入时,由于外部下拉为低电平,P3口将输出电流,这是由于上拉缘故。在对Flash ROM编程或程序校验时,P3口还接受某些控制信号。P3口也可作为AT89C51某些特殊功能口,如表1所示。表1 P3口第二功能I/O口线专用功能P3.0RXD(串行数据接受)P3.1TXD(串行数据发送)P3.2 (外部中断0祈求输入)P3.3 (外部中断1祈求输入)P3.4T0(定期器0外部计数脉冲输入)P3.5T1(定期器1外部计数脉冲输入)P3.6 (外部数据存储器写信号)P3.7 (外部数据存储器读信号)RST(9脚):复位信号输入端。当振荡器复位器件时,要保持RST脚两个机器周期(24个时钟振荡周期)高电平时间。ALE/ (30脚):当访问外部存储器时,地址锁存ALE输出信号用于锁存低8位地址。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变频率周期输出正脉冲信号,此频率为振荡器频率1/6。因此它可用作对外部输出脉冲或用于定期目。然而要注意是:每当用作外部数据存储器时,将跳过一种ALE脉冲。如想严禁ALE输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。假如微处理器在外部执行状态,ALE严禁,置位无效。ALE端得负载驱动能力为8个LS型TTL(低功耗甚至高速TTL)负载。此引脚第2功能在对片内带有4KB FLASH ROMAT89C51编程写入(固化程序)时,作为编程脉冲输入端。(29脚):外部程序存储器选通信号。在由外部程序存储器取指期间,每个机器周期两次有效。但在访问外部数据存储器时,这两次有效信号将不出现。端同样可驱动8个LS型TTL负载。要检查一种AT89C51小系统上电后CPU能否正常工作,也可用示波器检查端有无脉冲输出。如有,则阐明基本上工作正常。/Vpp(31脚):外部程序存储器地址容许输入端/固化编程电压输入端。当引脚接高电平时,CPU只访问片内Flash ROM并执行内部程序存储器中指令;但当PC(程序计数器)值超过0FFFH时,并自动转去执行片外程序存储器内程序。当引脚接低电平(接地)时,CPU只访问片外ROM并执行片外程序存储器中指令,而不管与否有片内程序存储器。在Flash ROM编程期间,该引脚也用于施加12V编程容许电源Vpp(假如选用12V编程)。XTAL1(19脚):接外部晶体和微调电容一端。反向振荡放大器输入及内部时钟工作电路输入。XTAL2(18脚):接外部晶体和微调电容另一端。在AT89C51片内它是振荡电路反响放大器输出端,振荡电路频率就是晶体固有频率。若采用外部时钟电路,该引脚悬空。此外AT89C51使用静态逻辑来设计,其工作频率可下降到0Hz,并提供两种可用软件来选择省电方式:空闲方式和掉电方式。在空闲方式中,CPU停止工作,而RAM、定期器/计数器、串行口和中断系统都继续工作。此时电流可降到大概为正常值15%。在掉电方式中,片内振荡器停止工作,由于时钟电路被“冻结”,使一切功能都暂停,故只保留片内RAM中内容,直到下一次硬件复位为止。这种方式下电流可降到15uA,最小可降到0.6uA。3.2 AT89C51时序电路AT89C51单片机与其他单片机或微机同样是一种时序电路,从Flash ROM中取指令和执行指令过程中多种微操作,都是按着节拍有序工作。AT89C51时序电路如图3.2所示。AT89C51单片机芯片内部有一种高增益反向放大器,用于构成振荡器。反向放大器输入端为XTAL1,输出端为XTAL2,两端跨接石英晶体和两个电容就可以构成稳定自激振荡器,电容和一般取30pF左右,可稳定频率并对振荡频率有微调作用。振荡频率范围为=0-24Mhz。5V图3.2 AT89C51时序电路晶体振荡器频率为,振荡信号从XTAL2端输入片内时钟信号发生器上,时钟发生器是一种2分频触发器电路,他将振荡器信号频率除以2,向CPU提供两相时钟信号P1和P2。时钟信号周期称为状态周期S,是振荡周期2倍,每个状态周期S前半周期,相位1(P1)信号有效,在每个状态周期S后半周期,相位2(P2)信号有效。CPU就以两相时钟P1和P2为基本拍指挥单片机各个部件协调地工作。单片机工作需要若干指令,而执行一条指令需要多少时间以机器周期为单位,一种机器周期是指CPU访问存储器一次所需要时间,它包括12个振荡周期,分为6个S状态周期:S1-S6,每个状态周期又分为两拍,称为P1和P2。因此一种机器周期中12个振荡周期表达为S1P1,S1P2,S2P1,S6P2。3.3 AT89C51复位电路T89C51单片机与其他微处理器同样,在启动时需要复位,使CPU及系统各部件处在确定初始状态,并从初始状态开始。当系统处在正常工作状态时,且振荡器稳定后,RST引脚上有一种高电平并维持2个机器周期(24个振荡周期),则CPU就可以对应并将系统复位。除了系统正常初始化之外,当由于程序运行出错或操作错误使系统处在死锁状态时,为挣脱困境,也必须按复位键重新启动。AT89C51单片机复位电路如图3.3所示。图3.3 AT89C51复位电路在通电瞬间,电容通过电阻充电,RST端出现正脉冲,用以复位。只要电源上升时间不超过1ms,就可以实现上电自动复位。在振荡稳定后为保证复位高电平持续时间(即正脉冲宽度)不小于两个机器周期,当采用晶体为12Mhz时,可取=10uF,=8.2k;当采用晶体频率为6Mhz时,可取=22uF,=1k。当系统出现死机或需要重新复位时,可直接按RESET键,这时通过电阻直接把RST端拉高,实现手动复位。3.4 AT89C51电源电路本设计单片机电源采用USB接口转换交流220V为5V直流供单片机使用,如图3.4所示。由于原则USB口输出电压为5V,这样恰好可供单片机使用,这种设计非常以便,即插即用,具有很大灵活性。我们可以通过一条数据线将其连接到计算机上,或者通过MP3充电器将其连接到交流电上,以给单片机供电。这些东西在我们生活中都非常常见,因此非常以便。220V交流信号通过USB口整流后变为5V脉动直流,电路中电容=470uF,运用其充放电特性,使整流后脉动直流变为比较稳定直流。由于整流后信号带有高频及脉冲干扰信号,而电解电容具有一定电感,对其不能有效滤除,因此运用电容=0.1pF小电容,以滤去高频及脉冲干扰。电容、共同构成滤波电路。稳压二极管和限流电阻共同构成直流稳压电路。电阻和发光二极管串联作为供电指示灯。稳压管一般选择原则为其中为稳压管稳定电压,为直流稳压电路输出电压或单片机输入电压,为稳压管稳压时流过电流。、分别为稳压管可以稳压最大、最小电流,、分别为负载电流最大、最小值。图3.4 AT89C51电源电路3.5汽车灯光控制电路通过组合以上各单元电路后形成整体电路,如图3.5所示。(1)开关控制部分开关控制部分采用P1个线口输入,其中远、近光灯分别用开关、控制,按下时有关灯亮,再按则灭,和不能同步使用。左、右方向灯用开关、控制按下时有关灯亮,再按则灭,、互锁。雾灯、刹车灯、尾灯、紧急灯分别用开关、控制,按下有关灯亮,再按则灭。(2)信号灯部分发光二极管和一般二极管同样都具有单向导电性,只有外加正向电压使得正向电流足够大时才能发光。发光二极管启动电压比一般二极管大,一般红色在1.6V-2.5V之间,黄色在1.9V-2.4V之间,绿色在2.0V-2.4V之间,蓝色/白色在3.0V-3.8V之间。一般发光二极管正向导通电流为5mA-20mA。正向电流愈大,则发光愈强。则限流电阻R计算公式为其中为发光二极管启动电压,为导通电流。本电路中红色发光二极管启动电压=2V,导通电流=10mA,则限流电阻为根据上述公式可以计算出其他发光二极管限流电阻。(3)声音信号部分本次设计电路在汽车拐弯,汽车方向灯闪烁同步通过P3.0脚驱动蜂鸣器发出嘀嘀间歇作响声音。当发生紧急状况,紧急灯控制开关按下时,除过有关灯闪烁同步,蜂鸣器也发出嘀嘀间歇作响声音,此时假如正在拐弯时,则汽车方向灯闪烁同步不发声。程序中变化单片机P3.0引脚输出波形频率,就可以调整控制蜂鸣器音调,产生多种不一样音色、音调声音。此外,变化P3.0输出电平高下电平占空比,则可以控制蜂鸣器声音大小。(4)汽车灯光控制电路汽车灯光控制电路如图3.5所示,由于P0口内部为一漏极开路电路,没有内部上拉电阻,作为输入口使用时应先写1,因此给P0口串一种810K排阻,以作为其内部上拉电阻。这样P0口就可以成功作为输入口使用。夜晚汽车正常行驶时,开关按下(接P1.0口),远光灯,亮;当要汇车时应按下开关(接P1.1口),远光灯,灭,近光灯,亮。汇车完毕,再次按下,则远光灯、亮。汽车左转弯时,按下开关(接P1.2口),这时前左方向灯与后左方向灯亮,并且灯光一闪一闪,同步驱动蜂鸣器LS1作间歇性嘀嘀作响,汽车转正后再按下开关则灯灭;当要右转弯时,(接P1.3口),按下开关,这时前右方向灯与后右方向灯亮,灯光一闪一闪,同步驱动蜂鸣器LS1作间歇性嘀嘀作响。汽车转正直行后再按下开关则灯灭。左、右方向灯同步只能有一种能工作。当碰到大雾天气时,应按下开关(接P1.4口),则雾灯、和亮;当踩下刹车时(接P1.5口),即相称按下开关,刹车灯与亮;刹车松开时,即相称于再按下开关,则刹车灯灭。晚上行车或靠边停车时,为使背面车辆或行人能清晰看到前面车辆,应当按下开关(接P1.6口),使汽车尾部照明灯与亮。当碰到紧急状况是,应当按下开关,这时汽车灯、,,不停闪烁,同步驱动蜂鸣器急促嘀嘀作响,以发出警报。图3.5 汽车灯光控制电路4软件设计本设计采用是C程序设计语言设计单片机程序。C语言是一种构造化计算机程序设计语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言体现能力和处理能力极强。它不仅具有丰富运算符和数据类型,便于实现各类复杂数据构造。它还可以直接访问内存物理地址,进行位(bit)一级操作。它既有高级语言特点,又具有汇编语言特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件应用程序。C程序设计语言设计程序可读性强,可移植性好,适合于编写对硬件依赖性不强程序。根据软件设计思想,可画出本系统程序流程图如图4.1所示。程序运行后,通过while语句循环扫描,不停读入7个开关状态,通过if-else语句判断各个开关状态,为0时则转到对应程序通过软件点亮汽车车灯,否则不操作或关断对应车灯。5仿真与调试本设计采用仿真软件Keil C51 Vision2和Proteus professional 7.5进行仿真。Keil C51 Vision2重要用于单片机程序编写调试与仿真。Proteus professional 7.5重要用于单片机及硬件电路仿真。5.1 Keil C51 Vision2简介Keil C51是美国Keil Software企业出品51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、构造性、可读性、可维护性上有明显优势,因而易学易用。用过汇编语言后再使用C来开发,体会愈加深刻。Keil C51软件提供丰富库函数和功能强大集成开发调试工具,全Windows界面。此外重要一点,只要看一下编译后生成汇编代码,就能体会到Keil C51生成目代码效率非常之高,多数语句生成汇编代码很紧凑,轻易理解。在开发大型软件时更能体现高级语言优势。C51工具包中uVision与Ishell分别是C51 for Windows和for Dos集成开发环境(IDE),可以完毕编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE自身或其他编辑器编辑C或汇编源文献。然后分别由C51及A51编译器编译生成目文献(.OBJ)。目文献可由LIB51创立生成库文献,也可以与库文献一起经L51连接定位生成绝对目文献(.ABS)。ABS文献由OH51转换成原则Hex文献,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目板进行调试,也可以直接写入程序存贮器如EPROM中。Keil C51 Vision2集成开发环境是Keil Software,Inc/Keil Elektronik GmbH开发基于80C51内核微处理器软件开发平台,内嵌多种符合目前工业原则开发工具,可以完毕从工程建立到管理、编译、链接、目代码生成、软件仿真、硬件仿真等完整开发流程尤其是C编译工具在产生代码精确性和效率方面到达了较高水平,并且可以附加灵活控制选项,在开发大型项目时非常理想。程序入口读入开关K0(P1.0)、K1(P1.1)、K2(P1.2)、K3(P1.3)K4(P1.4)、K5(P1.5)、K6(P1.6)、K7(P1.7)状态判断开关状态开关K0-P1.0为0,远光灯D5、D6亮开关K1-P1.1为0,近光灯D7,D8亮开关K2-P1.2为0,左方向灯D1、D9亮闪开关K3-P1.3为0,右方向灯D2、D10亮闪开关K4-P1.4为0,雾灯D3、D4、D11、D12亮开关K5-P1.5为0,刹车灯D13、D14亮开关K6-P1.6为0,尾灯D15、D16亮开关K7-P1.7为0,灯D13、D14、D15、D16亮闪图4.1 系统程序流程图5.2 Proteus Professional 7.5简介Proteus是由英国Labcenter electronics企业开发EDA工具软件。他从1989年出现一直到目前已经有20数年历史,在全球广泛使用。Proteus安装后来,重要由两个程序构成:Ares和Isis。前者重要用于PCB自动或人工布线及其电路仿真,后者重要采用原理布图措施绘制电路并进行对应仿真。除了上述基本应用之外,Proteus革命性功能在于它电路仿真是互动,针对微处理器应用,可以直接在基于原理图虚拟原型上编程,并实现软键代码级调试,还可以直接实时动态地模拟按钮、键盘输入,LED、液晶现实输出,同步配合虚拟工具如示波器、逻辑分析仪等等进行对应测量与观测。Proteus软件应用范围十分广泛,波及PCB制板、SPICE电路仿真、单片机仿真,在6.9版本中还加入了对ARM7/LPC仿真。与多数仿真软件相似,Proteus有着数量庞大元器件库。与多数仿真软件相似,Proteus有着数量庞大元件库。Labcenter企业与有关第三方软件阵容共同开发了6000多种模拟和数字电路中常用spice模型以及多种动态元件,基本元件如电阻、电容、多种二极管、三极管、MOS管、555定期器等;74系列TTL 元件和4000系列CMOS 元件;存储芯片包括多种常用ROM, RAM,EEPROM, 尚有常见I2C器件等。在丰富库元件支持下,原理布图时只要进行对应调用和连线,通过对每个元件属性设置完毕绘图,然后即可进行仿真和虚拟测量。5.3调试对本系统来说,调试工作分如下三步进行。1)在系统硬件部分制作出来后,对其进行详细地检测调试,查看制作过程中与否存在错焊、虚焊等状况,查看单片机与否可以正常工作,测试硬件部分与否可以完毕其对应功能。出现问题要予以排除,假如是硬件部分电路图错误,则要对其修改,反复测试,直到硬件连接完全无错,并且设计合理。本系统通过前后三次电路设计和修改,最终硬件设计合理。在此,首先,需检查输出电压与否正常,应将变压器接入电源电路,观测发光二极管与否亮,以确定与否有电压输出,再用数字万用表测试输出电压与否是5V,假如是5V表明电源电压正常工作,假如不是上述成果应当检查电路。2)在设计系统软件部分时,在Keil软件中编写程序,对程序进行不停调试编译,直到程序可以正常运行。然后在Proteus软件中进行仿真测试,看功能与否可以实现。3)系统联调。在上面两步完毕后,我们就必须将汽车灯光控制电路硬件和软件部分结合起来,进行系统联调,检查系统能否正常运行,测试系统各项性能指标,看与否可以到达预期规定,必要时,还要不停地修改和完善程序,直到系统可以实现预期功能。6结论6.1设计成果通过这次汽车灯光控制电路设计,我收获甚多,前期通过大量资料查阅,并设计好原理图、编写好程序以及编译修改,然后进行实物制作,为保证成功,对布线、装配、焊接每个过程都做了大量细致工作,最终成功实现设计规定。6.2系统缺陷及提议本次设计电路虽然最终实现设计规定,但尚有如下缺陷。1)灯光采用发光二极管,效果不是很理想。提议采用功率更大灯泡替代。2)由于采用单片机作为控制器,输出直流电压只有5v,电流也只有20毫安左右,因此,想驱动更大灯需要添加放大电路或者要采用继电器实现对交流电路控制。3)由于没有采用PCB板,电路不稳定易受外部干扰,最佳能制作成PCB板电路。6.3道谢本次设计得到宋老师大量设计指导,特此感谢。也感谢罗东同学在电路焊接过程中予以诸多建设性意见。参照文献1曹汇坚,池品优.基于MS-51系列单片机控制汽车转弯信号灯J.现代计算机(专业版),(6):45-48.2李朝青.单片机原理及接口技术M.北京航空航天大学出版社,.17-47.3何立民.MCS-51单片机应用系统设计M.北京航空航天大学出版社,1995.30-45.4潘新民.单片机实用系统.北京:人民邮政出版社,.21-35.5童诗白,华成英.模拟电子技术基础M.北京:高等教育出版社,.387-406.6毋茂盛,王静,张晖.单片机串行接口技术研究J.河南师范大学学报, ,28(3):96-98.7李毅.串行接口8位LED显示驱动器j.重庆职业技术学院学报,12(3):110-113.8陈洪财.单片机C语言和汇编语言实用开发技术M.哈尔滨工程大学出版社,.19-65.9周润景,张丽娜.基于PROTUES电路及单片机系统设计与仿真M.北京航空航天大学出版社,.8-112.10 Detlef Decker.Performance and Perspectives of Light Sources for Signal Lamps,HELLA KG Hueck & Co.,Gemany,1990,1(0703). 11 Christophe DUBOSC.Styling Trends for Car Rearlamps.Valeo Lighting systems,SEA 980321.附录 程序清单/头文献、键位申明=#include sbit key0=P10;/远光灯控制键sbit key1=P11;/近光灯控制键sbit key2=P12;/左方向灯控制键sbit key3=P13;/右方向灯控制键sbit key4=P14;/雾灯控制键sbit key5=P15;/刹车灯控制键sbit key6=P16;/后照明灯控制键sbit key7=P17;/紧急状况控制键sbit led0=P00;/后左方向灯sbit led1=P01;/后左雾灯sbit led2=P02;/左刹车灯sbit led3=P03;/左尾灯sbit led4=P04;/前左方向灯sbit led5=P05;/前左雾灯sbit led6=P06;/左近光灯sbit led7=P07;/左远光灯sbit led8=P20;/右远光灯sbit led9=P21;/前右雾灯sbit led10=P22;/前右方向灯sbit led11=P23;/前右方向灯sbit led12=P24;/右尾灯sbit led13=P25;/右刹车灯sbit led14=P26;/后右雾灯sbit led15=P27;/后右方向灯sbit buzzer=P30;/蜂鸣器/去抖动延时子程序=void delay10ms(int x) unsigned int m,n; for(m=0;mx;m+) for(n=0;n1200;n+);/声音延时子程序=void delay()/延时子程序 unsigned int i,j; for(i=0;i500;i+) for(j=0;j800;j+);/蜂鸣器发声子程序=void sound()/发声子程序 unsigned int a,b; for(a=0;a100;a+) buzzer=buzzer; for(b=0;b850;b+);/850为蜂鸣器发声频率,可调 /主程序=void main() P0=0XFF;P1=0XFF;P2=0XFF;P3=0XFF; while(1) if(key0=0)/远光灯开关打开 delay10ms(2);/延时去抖动while(key0=0);/等待键释放delay10ms(2);led6=1;led9=1;led5=!led5;led10=!led10; if(key1=0)/近光灯打开 delay10ms(2); while(key1=0); delay10ms(2); led5=1;led10=1;led6=!led6;led9=!led9; if(key2=0)/左方向灯打开 if(key7!=0)/紧急灯未打开时,方向灯闪烁同步蜂鸣器鸣叫 led0=0;led4=0; sound(); led0=1;led4=1; delay(); else/紧急灯打开时,方向灯闪烁同步蜂鸣器不鸣叫 led0=led0;led4=led4; delay(); elsebuzzer=1;led0=1;led4=1; if(key3=0)/右方向灯打开 if(key7!=0)/紧急灯未打开时,方向灯闪烁同步蜂鸣器鸣叫 led11=0;led15=0; sound(); led11=1;led15=1; delay(); else/紧急灯打开时,方向灯闪烁同步蜂鸣器不鸣叫 led11=led11;led15=led15; delay(); elsebuzzer=1;led11=1;led15=1; if(key4=0)/雾灯打开led3=0;led7=0;led8=0;led12=0; else/雾灯未打开或关掉led3=1;led7=1;led8=1;led12=1; if(key7=0)/紧急开关打开 led1=0;led14=0;led2=0;led13=0;led0=0;led4=0;led11=0;led15=0; sound(); led1=1;led14=1;led2=1;led13=1;led0=1;led4=1;led11=1;led15=1; delay(); else/紧急开关未打开或关掉 if(key5!=0&key6!=0)/刹车灯与尾灯没有按下 led1=1;led14=1;led2=1;led13=1; buzzer=0; else if(key5=0)/刹车灯打开 led1=0;led14=0; else/刹车灯未打开或关掉 led1=1;led14=1; if(key6=0)/尾灯打开 led2=0;led13=0; else/尾灯未打开或关掉 led2=1;led13=1;
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 幼儿教育


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!