汽车灯光控制电路设计说明书Word下载.doc
《汽车灯光控制电路设计说明书Word下载.doc》由会员分享,可在线阅读,更多相关《汽车灯光控制电路设计说明书Word下载.doc(17页珍藏版)》请在冰豆网上搜索。
3.5汽车灯光控制电路 6
4软件设计 7
5仿真与调试 7
5.1KeilC51µ
Vision2介绍 7
5.2ProteusProfessional7.5介绍 8
5.3调试 9
6结论 9
6.1设计结果 9
6.2系统缺陷及建议 9
6.3致谢 9
参考文献 10
附录程序清单 11
1引言
随着汽车数量的大量增加.交通安全问题也越来越严峻。
而汽车车灯光控制系统的可靠、稳定对于安全行驶起着非常重要的作用.因此汽车灯光控制电路的研究和设计成为解决交通安全问题的一种好的途径。
汽车工业的发展也促使汽车车灯控制电路的设计和研究不断的提高.汽车的功能要求也越来越庞大.因此各单元电路也需要向小型化的方向发展.以使汽车能够能装入更多的功能模块。
传统的使用纯硬件设计的电路.不仅电路庞大复杂.而且一旦出了问题维修检测起来也耗时费力。
因此智能化、小型化的电路设计走上了时代的潮流.也必将影响以后的汽车控制系统的设计.不仅如此还要综合考虑加工工艺、寿命、成本等问题.以使设计的电路能够大量普及。
伴随着汽车工业的发展.汽车灯光控制电路的发展已经非常的成熟.目前.汽车灯光控制系统发展充分利用了现代科技的发展成果。
采用纯硬件、PLC电气控制技术设计的汽车灯光控制电路已经得到大量应用。
传统的采用纯硬件设计的电路正逐渐向着软硬结合的方向发展.也将随时应用最新的科学技术。
单片机的发展正朝着低功耗、高性能、低价格和外围电路内装化的方向发展。
因此.采用单片机设计的汽车灯光控制电路.应用软件来实现庞大的控制功能.而且通过外围电路的扩展还能实现更多的附加功能。
这种控制电路不仅体积小、成本低.而且也更加智能.可以随时修改整个控制功能.非常适合现代汽车工业的发展潮流。
总之.使着汽车灯光控制电路向着更加可靠.功能更加庞大、智能的方向发展。
2设计方案
2.1功能要求
汽车车灯采用发光二极管来设计.汽车前部两侧各有远光灯一部(夜间正常行车时使用.大功率白色发光二极管).近光灯一部(夜间行驶汇车时使用.小功率白色发光二极管).远光灯与近光灯不能同时使用;
汽车左右各有2个指示灯:
方向灯(小功率黄色发光二极管).雾灯(大功率黄色发光二极管)。
汽车后部两侧各有刹车灯一部(小功率红色发光二极管).尾灯一部(大功率红色发光二极管)。
刹车时.刹车灯亮(不闪)。
转弯时.汽车方向灯应该一闪一闪。
紧急情况时.汽车的刹车灯与尾灯应同时闪烁。
2.2设计方案
采用AT89C51单片机来完成汽车灯光控制电路的设计。
利用单片机丰富的I/O端口.及其控制的灵活性.实现基本的功能要求。
汽车车灯控制电路的方框图如2.1所示。
AT89C51
电源电路
时序及复位电路
灯光控制模块
灯光显示模块
报警模块
图2.1汽车车灯控制电路的方框图
电源电路即为驱动单片机工作的电源所设计的电路.它的输出端与单片机的Vcc相连.本设计电路采用USB口转换5V直流作为单片机电源。
时序及复位电路是作为单片机能正常工作所必须的最小系统.前者提供单片机工作所需的时拍.后者初始化单片机。
灯光控制模块是汽车灯光的控制按钮.共有7个.直接连接到P1口的各口线上.按下则相关的灯亮.再按则灭。
灯光显示模块即为汽车灯光显示电路.通过开关控制其显示情况。
报警模块是在汽车转弯或发生紧急情况时.随着相关车灯闪烁的同时.驱动蜂鸣器响以发出警报.以提醒行人或求救。
3硬件设计
3.1AT89C51单片机的结构及功能
3.1.1AT89C51的结构及引脚
AT89C51就是一个微型计算机.AT89C51单片机主要由运算器、控制器、存储器(ROM及RAM)和I/O接口组成。
它的内部结构图如3.1.1所示。
振荡器
和时序OSC
程序存储器4KBFlashROM
数据存储器256字节RAM/SFR
2×
16位
定时器/计数器
80C51
CPU
64KB总线
扩展控制器
可编程I/O口
可编程
全双工串行口
外部事件计数输入
外中断
内中断
P0
P1
P2
P3
串行通信
DBUS
图3.1.1AT89C51单片机芯片内部结构
运算器包括一个可进行8位算术运算和逻辑运算的单元ALU.8位的暂存器1(TMP1)、暂存器2(TMP2).8位累加器ACC.寄存器B和程序状态寄存器PSW等。
控制器包括程序计数器PC、指令寄存器IR、指令译码器ID、振荡器及定时电路等。
AT89C51片内有FlashROM(程序存储器.只能读)和RAM(数据存储器.可读可写)两类.他们各自有独立的存储地址空间.与一般的存储器配置方式很不同。
AT89C51单片机有4个与外部交换信息的8位并行接口.即P0-P3。
他们都是准双向口.每个端口各有8条I/O线.均可作输入/输出。
P0-P3口4个锁存器同RAM统一编址.可以把I/O口当做一般特殊功能寄存器(SFR)来寻址。
图3.1.2AT89C51的引脚
如图3.1.2所示是一个双列直插封装(DIP)方式的AT89C51单片机.它共有40个引脚。
其中很多引脚具有第二功能.使用时要加以注意。
3.1.2AT89C51的主要性能
AT89C51是一种4K字节闪烁可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压.高性能CMOS8位微处理器.俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造.与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中.ATMEL的AT89C51是一种高效微控制器。
它为很多嵌入式控制系统提供了一种灵活性高且价廉的解决方案。
AT89C51主要特性如下所述。
·
与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。
3.1.3AT89C51的管脚功能
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口内部上拉电阻有效。
在FlashROM编程时.P0端口接受指令字节;
而在校验程序时.则输出指令字节、验证时.要求外接上拉电阻。
P1口(P1.0-P1.7.1-8脚):
P1口是一个内部提供上拉电阻的8位双向I/O口.P1口缓冲器能接收输出4个TTL门电流。
P1口管脚写入1后.被内部上拉为高电位.可用作输入.P1口被外部下拉为低电平时.将输出电流.这是由于内部上拉的缘故。
在FLASHROM编程和校验时.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口将输出电流.这是由于上拉的缘故。
在对FlashROM编程或程序校验时.P3口还接受一些控制信号。
P3口也可作为AT89C51的一些特殊功能口.如表1所示。
表1P3口的第二功能
I/O口线
专用功能
P3.0
RXD(串行数据接收)
P3.1
TXD(串行数据发送)
P3.2
(外部中断0请求输入)
P3.3
(外部中断1请求输入)
P3.4
T0(定时器0外部计数脉冲输入)
P3.5
T1(定时器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功能在对片内带有4KBFLASHROM的AT89C51编程写入(固化程序)时.作为编程脉冲输入端。
(29脚):
外部程序存储器的选通信号。
在由外部程序存储器取指期间.每个机器周期两次有效。
但在访问外部数据存储器时.这两次有效的信号将不出现。
端同样可驱动8个LS型TTL负载。
要检查一个AT89C51小系统上电后CPU