汽车灯光控制电路设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

汽车灯光控制电路设计
张宝强
(陕西理工学院物理系电信062,陕西汉中723001)
指导老师:宋卫星
[摘要]采用A T89C51单片机设计的汽车灯光控制电路,利用其4个I/O口分别实现对汽车灯光的控制、显示功能,其中还添加了转弯灯、紧急灯的警示声音功能。

运用较少的硬件与适当的软件结合就可以很容易的实现设计的要求,而且灵活性强,也可以通过软件编程实现更多的附加功能。

[关键字]A T89C51单片机;灯光;控制
Auto Light Control Circuit
Zhang Baoqiang
(Grade 06, Class 2, Major Electronic Information Science and Technology, Physics Dept.,Shaanxi University of Technology,Hanzhong 723000, Shaanxi)
Tutor: Song Weixing
Abstract:With the gradual improvement of living standards, more and more people have to buy the car. This traffic safety problem and more and more prominent, while a car, its lights, signal is good or bad is largely affected the lives of drivers and pedestrians. Therefore, the vehicle lighting control circuit research and design has great value. MCU design with the car light control circuit, and powerful, with less hardware and appropriate software can be easily combined to achieve the design requirements, and flexibility can also be achieved through software programming more additional features.
Key words:A T89C51 MCU;light; control
目录
1引言 (1)
2设计方案 (1)
2.1功能要求 (1)
2.2设计方案 (1)
3硬件设计 (2)
3.1AT89C51单片机的结构及功能 (2)
3.1.1 AT89C51的结构及引脚 (2)
3.1.2 AT89C51的主要性能 (3)
3.1.3 AT89C51的管脚功能 (3)
3.2AT89C51的时序电路 (4)
3.3AT89C51的复位电路 (5)
3.4AT89C51的电源电路 (5)
3.5汽车灯光控制电路 (6)
4软件设计 (7)
5仿真与调试 (7)
5.1K EIL C51µV ISION2介绍 (7)
5.2P ROTEUS P ROFESSIONAL 7.5介绍 (8)
5.3调试 (9)
6结论 (9)
6.1设计结果 (9)
6.2系统缺陷及建议 (9)
6.3致谢 (9)
参考文献 (10)
附录程序清单 (11)
1引言
随着汽车数量的大量增加,交通安全问题也越来越严峻。

而汽车车灯光控制系统的可靠、稳定对于安全行驶起着非常重要的作用,因此汽车灯光控制电路的研究和设计成为解决交通安全问题的一种好的途径。

汽车工业的发展也促使汽车车灯控制电路的设计和研究不断的提高,汽车的功能要求也越来越庞大,因此各单元电路也需要向小型化的方向发展,以使汽车能够能装入更多的功能模块。

传统的使用纯硬件设计的电路,不仅电路庞大复杂,而且一旦出了问题维修检测起来也耗时费力。

因此智能化、小型化的电路设计走上了时代的潮流,也必将影响以后的汽车控制系统的设计,不仅如此还要综合考虑加工工艺、寿命、成本等问题,以使设计的电路能够大量普及。

伴随着汽车工业的发展,汽车灯光控制电路的发展已经非常的成熟,目前,汽车灯光控制系统发展充分利用了现代科技的发展成果。

采用纯硬件、PLC电气控制技术设计的汽车灯光控制电路已经得到大量应用。

传统的采用纯硬件设计的电路正逐渐向着软硬结合的方向发展,也将随时应用最新的科学技术。

单片机的发展正朝着低功耗、高性能、低价格和外围电路内装化的方向发展。

因此,采用单片机设计的汽车灯光控制电路,应用软件来实现庞大的控制功能,而且通过外围电路的扩展还能实现更多的附加功能。

这种控制电路不仅体积小、成本低,而且也更加智能,可以随时修改整个控制功能,非常适合现代汽车工业的发展潮流。

总之,使着汽车灯光控制电路向着更加可靠,功能更加庞大、智能的方向发展]1[。

2设计方案
2.1功能要求
汽车车灯采用发光二极管来设计,汽车前部两侧各有远光灯一部(夜间正常行车时使用,大功率白色发光二极管),近光灯一部(夜间行驶汇车时使用,小功率白色发光二极管),远光灯与近光灯不能同时使用;汽车左右各有2个指示灯:方向灯(小功率黄色发光二极管),雾灯(大功率黄色发光二极管)。

汽车后部两侧各有刹车灯一部(小功率红色发光二极管),尾灯一部(大功率红色发光二极管)。

刹车时,刹车灯亮(不闪)。

转弯时,汽车方向灯应该一闪一闪。

紧急情况时,汽车的刹车灯与尾灯应同时闪烁。

2.2设计方案
采用AT89C51单片机来完成汽车灯光控制电路的设计。

利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的功能要求。

汽车车灯控制电路的方框图如2.1所示。

图2.1 汽车车灯控制电路的方框图
电源电路即为驱动单片机工作的电源所设计的电路,它的输出端与单片机的Vcc相连,本设计电路采用USB口转换5V直流作为单片机电源。

时序及复位电路是作为单片机能正常工作所必须的最小系统,前者提供单片机工作所需的时拍,后者初始化单片机。

灯光控制模块是汽车灯光的控制按钮,共有7个,直接连接到P1口的各口线上,按下则相关的灯亮,再按则灭。

灯光显示模块即为汽车灯光显示电路,通过开关控制其显示情况。

报警模块是在汽车转弯或发生紧急情况时,随着相关车灯闪烁的同时,驱动蜂鸣器响以发出警报,以提醒行人或求救。

3硬件设计
3.1 AT89C51单片机的结构及功能
3.1.1 AT89C51的结构及引脚
AT89C51就是一个微型计算机,A T89C51单片机主要由运算器、控制器、存储器(ROM及RAM)和I/O接口组成。

它的内部结构图如3.1.1所示。

图3.1.1 A T89C51单片机芯片内部结构
运算器包括一个可进行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 A T89C51的引脚
如图3.1.2所示是一个双列直插封装(DIP)方式的AT89C51单片机,它共有40个引脚。


中很多引脚具有第二功能,使用时要加以注意。

3.1.2 AT89C51的主要性能
AT89C51是一种4K字节闪烁可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8位微处理器,俗称单片机。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。

它为很多嵌入式控制系统提供了一种灵活性高且价廉的解决方案。

A T89C51主要特性如下所述。

·与MCS-51 兼容,一个8位的80C51微处理器(CPU);
·片内256字节数据存储器RAM/SFR,用于存放可以读/写的数据;
·片内4K字节可编程闪烁存储器,用于存放程序、一些原始数据和表格;
·寿命:1000写/擦循环;
·数据保留时间:10年;
·全静态工作:0-24MHz;
·三级程序存储器锁定;
·4个8位并行可编程I/O口P0-P3,每个口既可作输入又可作输出;
·两个16位定时器/计数器,每个定时器/计数器可设置成计数方式,用以对外部事件计数,也可设置成定时方式,根据定时结果实现单片机控制;
·5个中断源、两个中断优先级;
·一个全双工UART(通用异步发送接收器)的串行I/O口,用于实现单片机之间或单片机与计算机之间串行通信;
·具有低功耗的闲置模式和掉电模式;
·片内振荡器和时钟电路,但石英晶体和微调电容需要外接,最高允许振荡频率为24MHz]2[。

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口也可作为A T89C51的一些特殊功能口,如表1所示。

I/O口线专用功能
P3.0 RXD(串行数据接收)
P3.1 TXD(串行数据发送)
INT(外部中断0请求输入)
P3.2 0
INT(外部中断1请求输入)
P3.3 1
P3.4 T0(定时器0外部计数脉冲输入)
P3.5 T1(定时器1外部计数脉冲输入)
P3.6 WR(外部数据存储器写信号)
P3.7 RD(外部数据存储器读信号)
RST(9脚):复位信号输入端。

当振荡器复位器件时,要保持RST脚两个机器周期(24个时钟振荡周期)的高电平时间。

ALE/ PROG(30脚):当访问外部存储器时,地址锁存ALE的输出信号用于锁存低8位地址。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

如果微处理器在外部执行状态,ALE禁止,置位无效。

ALE端得负载驱动能力为8个LS型TTL(低功耗甚至高速TTL)负载。

此引脚的第2功能PROG在对片内带有4KB FLASH ROM的AT89C51编程写入(固化程序)时,作为编程脉冲输入端。

PSEN(29脚):外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次PSEN有效。

但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。

PSEN端同样可驱动8个LS型TTL负载。

要检查一个AT89C51小系统上电后CPU能否正常工作,也可用示波器检查PSEN端有无脉冲输出。

如有,则说明基本上工作正常。

EA/Vpp(31脚):外部程序存储器地址允许输入端/固化编程电压输入端。

当EA引脚接高电平时,CPU只访问片内Flash ROM并执行内部程序存储器中的指令;但当PC(程序计数器)的值超过0FFFH时,并自动转去执行片外程序存储器内的程序。

当EA引脚接低电平(接地)时,CPU只访问片外ROM并执行片外程序存储器中的指令,而不管是否有片内程序存储器。

在Flash ROM编程期间,该引脚也用于施加12V的编程允许电源Vpp(如果选用12V编程)。

XTAL1(19脚):接外部晶体和微调电容的一端。

反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2(18脚):接外部晶体和微调电容的另一端。

在AT89C51片内它是振荡电路反响放大器的输出端,振荡电路的频率就是晶体的固有频率。

若采用外部时钟电路,该引脚悬空。

另外AT89C51使用静态逻辑来设计的,其工作频率可下降到0Hz,并提供两种可用软件来选择的省电方式:空闲方式和掉电方式。

在空闲方式中,CPU停止工作,而RAM、定时器/计数器、串行口和中断系统都继续工作。

此时的电流可降到大约为正常值的15%。

在掉电方式中,片内振荡器停止工作,由于时钟电路被“冻结”,使一切功能都暂停,故只保存片内RAM中的内容,直到下一次硬件复位为止。

这种方式下的电流可降到15uA,最小可降到0.6uA]3[。

3.2 AT89C51的时序电路
AT89C51单片机与其他单片机或微机一样是一种时序电路,从Flash ROM中取指令和执行指
令过程中的各种微操作,都是按着节拍有序的工作的。

A T89C51的
时序电路如图3.2所示。

AT89C51单片机芯片内部有一个高增益反向放大器,用于构成
振荡器。

反向放大器的输入端为XTAL1,输出端为XTAL2,两端
跨接石英晶体和两个电容就可以构成稳定的自激振荡器,电容1C 和
2C 通常取30pF 左右,可稳定频率并对振荡频率有微调作用。

振荡
频率范围为OSC f =0-24Mhz 。

晶体振荡器的频率为OSC f ,振荡信号从XTAL2端输入片内的时钟信号发生器上,时钟发生器是一个2分频的触发器电路,他将振
荡器的信号频率OSC f 除以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所示。

在通电瞬间,电容C 通过电阻2R 充电,RST 端出现正脉冲,用以复
位。

只要电源CC V 的上升时间不超过1ms ,就可以实现上电自动复位。

在振荡稳定后为保证复位高电平持续时间(即正脉冲宽度)大于两个机器周期,当采用的晶体为12Mhz 时,可取C =10uF ,R =8.2k Ω;
当采用的晶体频率为6Mhz 时,可取C =22uF ,R =1k Ω。

当系统出现死机或需要重新复位时,可
直接按RESET 键,这时CC V 通过电阻1R 直接把RST 端拉高,实现手动复位]4[。

3.4 AT89C51的电源电路
本设计的单片机电源采用USB 接口转换交流220V 为5V 直流供单片机使用,如图3.4所示。

由于标准USB 口的输出电压为5V ,这样正好可供单片机使用,这种设计非常的方便,即插即用,具有很大的灵活性。

我们可以通过一条数据线将其连接到计算机上,或者通过MP3的充电器将其连接到交流电上,以给单片机供电。

这些东西在我们的生活中都非常常见,因此非常方便。

220V 的交流信号经过USB 口整流后变为5V 的脉动直流,电路中电容1C =470uF ,利用其充
放电特性,使整流后的脉动直流变为比较稳定的直流。

由于整流后的信号带有高频及脉冲干扰信号,而电解电容具有一定的电感,对其不能有效的滤除,因此利用电容2C =0.1pF 的小电容,以
滤去高频及脉冲干扰。

电容1C 、2C 共同构成滤波电路。

稳压二极管1D 和限流电阻1R 共同构成直
流稳压电路。

电阻2R 和发光二极管串联作为供电指示灯。

稳压管的一般选择原则为
Z O U U =
Z Z D ZM I I I ≤≤
max min ZM Z L L I I I I ->-
其中Z U 为稳压管的稳定电压,O U 为直流稳压电路的输出电压或单片机的输入电压,Z
D I 为稳压管稳压时流过的电流。

ZM I 、Z I 分别为稳压管能够稳压的最大、最小电流,max L I 、min L I 分别图3.2 AT89C51的时序图3.3 AT89C51的复位电路 5V
为负载电流的最大、最小值]5[。

图3.4 A T89C51的电源电路
3.5汽车灯光控制电路
经过组合以上的各单元电路后形成整体电路,如图3.5所示。

(1)开关控制部分
开关控制部分采用P1个线口输入,其中远、近光灯分别用开关0K 、1K 控制,按下时相关灯
亮,再按则灭,0K 和1K 不能同时使用。

左、右方向灯用开关2K 、3K 控制按下时相关灯亮,再按
则灭,2K 、3K 互锁。

雾灯、刹车灯、尾灯、紧急灯分别用开关4K 、5K 、6K 、7K 控制,按下相
关灯亮,再按则灭。

(2)信号灯部分
发光二极管和普通二极管一样都具有单向导电性,只有外加正向电压使得正向电流足够大时才能发光。

发光二极管的开启电压比普通二极管的大,一般红色的在1.6V-2.5V 之间,黄色的在
1.9V-
2.4V 之间,绿色的在2.0V-2.4V 之间,蓝色/白色的在
3.0V-3.8V 之间。

一般发光二极管的正向导通电流为5mA-20mA 。

正向电流愈大,则发光愈强。

则限流电阻R 的计算公式为
CC D D
V U R I -= 其中D U 为发光二极管的开启电压,D I 为导通电流]7[。

本电路中红色发光二极管的开启电压D U =2V ,导通电流D I =10mA ,则限流电阻为
523000.01
R -=
Ω=Ω 依据上述公式可以计算出其它发光二极管的限流电阻。

(3)声音信号部分
本次设计的电路在汽车拐弯,汽车方向灯闪烁的同时通过P3.0脚驱动蜂鸣器发出嘀嘀间歇作响的声音。

当发生紧急情况,紧急灯控制开关按下时,除过相关的灯闪烁的同时,蜂鸣器也发出嘀嘀间歇作响的声音,此时如果正在拐弯时,则汽车方向灯闪烁的同时不发声。

程序中改变单片机P3.0引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音色、音调的声音。

另外,改变P3.0输出电平的高低电平占空比,则可以控制蜂鸣器的声音大小。

(4)汽车灯光控制电路
汽车灯光控制电路如图3.5所示,由于P0口内部为一漏极开路电路,没有内部上拉电阻,作为输入口使用时应先写1,因此给P0口串一个8×10K Ω的排阻,以作为其内部上拉电阻。

这样P0口就可以成功的作为输入口使用。

夜晚汽车正常行驶时,开关0K 按下(接P1.0口),远光灯5D ,6D 亮;当要汇车时应按下开
关1K (接P1.1口),远光灯5D ,6D 灭,近光灯7D ,8D 亮。

汇车完毕,再次按下0K ,则远光灯5D 、6D 亮。

汽车左转弯时,按下开关2K (接P1.2口),这时前左方向灯1D 与后左方向灯9D 亮,并且
灯光一闪一闪,同时驱动蜂鸣器LS1作间歇性嘀嘀作响,汽车转正后再按下开关则灯灭;当要右转弯时,(接P1.3口),按下开关3K ,这时前右方向灯2D 与后右方向灯10D 亮,灯光一闪一闪,
同时驱动蜂鸣器LS1作间歇性嘀嘀作响。

汽车转正直行后再按下开关则灯灭。

左、右方向灯同时只能有一个能工作。

当遇到大雾天气时,应按下开关4K (接P1.4口),则雾灯3D 、4D 、11D 和12D
亮;当踩下刹车时(接P1.5口),即相当按下开关5K ,刹车灯13D 与14D 亮;刹车松开时,即相当
于再按下开关5K ,则刹车灯灭。

晚上行车或靠边停车时,为使后面的车辆或行人能清楚的看到前
面的车辆,应当按下开关6K (接P1.6口),使汽车尾部的照明灯15D 与16D 亮。

当遇到紧急情况是,
应当按下开关4K ,这时汽车灯1D 、9D 、2D 、10D 、13D ,14D ,15D ,16D 不停闪烁,同时驱动蜂鸣器
急促的嘀嘀作响,以发出警报。

图3.5 汽车灯光控制电路
4软件设计
本设计采用的是C 程序设计语言设计单片机程序的。

C 语言是一种结构化计算机程序设计语言。

它层次清晰,便于按模块化方式组织程序,易于调试和维护。

C 语言的表现能力和处理能力极强。

它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。

它还可以直接访问内存的物理地址,进行位(bit)一级的操作。

它既有高级语言的特点,又具有汇编语言的特点。

它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。

C 程序设计语言设计程序可读性强,可移植性好,适合于编写对硬件依赖性不强的程序。

根据软件的设计思想,可画出本系统程
序流程图如图4.1所示]8[。

程序运行后,通过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编译工具在产生代码的准确性和效率方面达到了较高的水平,而且可以附加灵活的控制选项,在开发大型项目时非常理想。

图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/LPC2000的仿真。

与多数仿真软件相似,Proteus有着数量庞大的元器件库。

与多数仿真软件相似,Proteus有着数量庞大的元件库。

Labcenter公司与相关的第三方软件阵容共同开发了6000多个模拟和数字电路中常用的spice模型以及各种动态元件,基本元件如电阻、电容、各种二极管、三极管、MOS 管、555定时器等;74系列TTL 元件和4000系列CMOS 元件;存储芯片包括各种常用的ROM, RAM,EEPROM, 还有常见I2C器件等。

在丰富的库元件的支持下,原理布图时只要进行相应的调用和连线,通过对每个元件的属性设置完成绘图,然后即可进行仿真和虚拟测量]9[。

5.3调试
对本系统来说,调试工作分以下三步进行。

1)在系统的硬件部分制作出来后,对其进行详细地检测调试,查看制作过程中是否存在错焊、虚焊等情况,查看单片机是否能够正常工作,测试硬件部分是否能够完成其相应的功能。

出现问题要予以排除,如果是硬件部分电路图的错误,则要对其修改,反复测试,直到硬件的连接完全无错,并且设计合理。

本系统经过前后三次的电路设计和修改,最终硬件设计合理。

在此,首先,需检验输出电压是否正常,应将变压器接入电源电路,观察发光二极管是否亮,以确定是否有电压输出,再用数字万用表测试输出电压是否是5V,如果是5V表明电源电压正常工作,如果不是上述结果应该检查电路。

2)在设计系统的软件部分时,在Keil软件中编写程序,对程序进行不断调试编译,直到程序能够正常运行。

然后在Proteus软件中进行仿真测试,看功能是否能够实现。

3)系统联调。

在上面两步完成后,我们就必须将汽车灯光控制电路的硬件和软件部分结合起来,进行系统联调,检验系统能否正常运行,测试系统各项性能指标,看是否能够达到预期的要求,必要时,还要不断地修改和完善程序,直到系统能够实现预期的功能。

6结论
6.1设计结果
通过这次汽车灯光控制电路的设计,我收获甚多,前期经过大量资料的查阅,并设计好原理图、编写好程序以及编译修改,然后进行实物制作,为确保成功,对布线、装配、焊接每个过程都做了大量细致的工作,最终成功实现设计的要求。

6.2系统缺陷及建议
本次设计的电路虽然最终实现设计的要求,但还有以下缺陷。

1)灯光采用发光二极管,效果不是很理想。

建议采用功率更大的灯泡代替。

2)由于采用单片机作为控制器,输出的直流电压只有5v,电流也只有20毫安左右,因此,想驱动更大的灯需要添加放大电路或者要采用继电器实现对交流电路的控制。

3)由于没有采用PCB板,电路不稳定易受外部干扰,最好能制作成PCB板电路。

6.3致谢
本次设计得到宋老师的大量设计指导,特此感谢。

也感谢罗东同学在电路焊接过程中给予的很多建设性的意见。

相关文档
最新文档