




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理及应用课程设计说明书交通与汽车工程学院课程设计说明书课 程 名 称: 微机原理及应用课程设计 课 程 代 码: 8234570 题 目: 年级/专业/班: 学 生 姓 名: 学 号: 开 始 时 间: 2011 年 7 月 11 日完 成 时 间: 2011 年 7 月 15 日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书(计算书、图纸、分析报告)撰写质量(45)总 分(100)指导教师签名: 年 月 日目 录摘要 31 引言 41.1 问题提出 4 1.2 任务与分析 42 方案设计 52.1 蓄电池电压检测系统设计方案论证 52.2 最终设计方案总体设计框图 63 系统硬件设计 63.1 80C51单片机 73.2 ADC0809模数转换芯片 93.3 运算电路 123.4 显示电路 123.5 报警、指示电路 123.6 时钟电路 133.7 复位电路 134 系统软件设计 154.1 主程序框图 154.2 显示、指示、报警子程序框图 164.3 中断服务子程序框图 164.4 延时子程序框图 174.5 数字滤波子程序框图 175 系统调试过程 195.1原理图和印制板图绘制和检查 195.2 Keil程序调试 205.3 Proteus仿真调试 21结论23致谢 24参考文献 25附录A 程序源代码26附录B 蓄电池电压检测系统框图 30附录C 电路原理图和PCB图 31附录D Proteus仿真和蓄电池电压检测输出图 33摘 要本文所阐述的蓄电池检测系统。在结构设计上采用了单片机控制。对蓄电池组的工作状态可进行实时监控,以期对延长蓄电池组的使用寿命有所帮助。在硬件方面,本系统主要以51系列单片机AT89C51和ADC0809为中心器件来实现蓄电池电压的检测及显示;在软件方面我们的目的主要是实现对蓄电池电压信号的数字滤波以实现准确的显示。关键词:单片机;蓄电池组;电压检测;数字滤波 1 引 言 1.1 问题的提出 目前在蓄电池在汽车的应用中,普遍存在着蓄电池的使用寿命不长,管理不当等问题。针对以上问题,本文所阐述的蓄电池检测系统,在结构没计上采用了单片机控制,对蓄电池组的工作状态可进行实时监控,以期对延长蓄电池组的使用寿命有所帮助。该系统能够实时监测每个电池的电压,以便随时了解电池的充放电状态;较为精确地估计出电池的剩余电量,并且进行实量显示,从而避免电池因过允、过放而受到伤害。使用该系统后,可以使用户了解电池的运行状态和方便快速地维护蓄电池。此外,该系统最突出的优势在于加权平均实现的数字滤波设计,且该系统可以实现所要求的报警功能。另外,通过当如今,计算机软件和硬件快速的发展,在许多的领域都有成熟的仿真软件的应用,Labcenter公司的Proteus具有微控制器的仿真功能等功能,其最大的特点就是能进行单片机以及外围芯片的仿真,通过其对设计产品的仿真,可以更好的帮助设计者进行计算机控制系统的分析及设计。1.2 任务与分析 本文的主要任务是蓄电池电压检测系统在显示器件上显示蓄电池电压,并且当电压低于规定值2V时, 会报警以及电压过低指示灯亮提醒驾驶员。重点点突出了如何通过软件编程实现数字滤波的设计。在整体的硬件组成设计中,蓄电池组可为整个电路提供电源,在其充放电电路串接了一个电阻,其上面的电压作为运放LM258的一个输入电压,另一个输入电压由稳压器的+5V输出提供。四个电阻及一个运放构成的运算电路,将蓄电池组充放电电路中的电流量,转换成电压量再输入单片机,以实现对蓄电池组充放电情况的测量和监控。ADC0809将输入的模拟电压转换为数字电压,再通过AT89C51单片机处理后由的P0口驱动LED灯以显示电量。另外,AT89C51单片机还可通过一个P25口来控制晶体管以起到电子开关的作用。由于整个设计的目的是完成电压的采集以及显示,除了模数转换电路、报警电路以及LED之外,几乎没有其它所需的外部电路,因此51系列单片机完全可以胜任。2 方案设计 2.1蓄电池电压检测系统设计方案论证方案1:XXXX方案2: XXXXX进行方案比较,最终选取方案2。2.2 最终设计方案总体设计框图复位电路80C51单片机LED显示电路ADC09809模数转换芯片运算电路时钟电路电源电路电源电路报警及指示电路图2-1 系统总体框图 在设计里面,蓄电池的电压信通过一小阻值电阻采集,经过运放号通过ADC0809模数转换芯片转换为单片机能处理的数字信号。单片机对接收到的信号进行处理,然后通过采集系列数据后用加权平均滤波。滤波后的数据,数通过单片机的P0口驱动LED进行蓄电池电压的显示,P2口对复用P0口的四位LED进行控制以及蓄电池电压在不同工作情况下的指示、报警。3 系统硬件设计3.1 80C51单片机3.1.1 80C51单片机介绍80C51是INTEL公司MCS-51系列单片机中最基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它继承和扩展了MCS-48单片机的体系结构和指令系统。 80C51内置中央处理单元、128字节内部数据存储器RAM、32个双向输入/输出(I/O)口、2个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。 此外,80C51还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。80C51有PDIP(40pin)和PLCC(44pin)两种封装形式。其引脚图如图3-1所示:P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/VPD9RXD P3.010TXD P3.111INT0 P3.212INT1 P3.313T0 P3.414T1 P3.515WR P3.616RD P3.717XTAL218XTAL119VSS20P2.021P2.122P2.223P2.324P2.425P2.526P2.627P2.728PSEN29ALE/PROG30EA/VPP31P0.732P0.633P0.534P0.435P0.336P0.237P0.138P0.039VCC4080C51 图3-1 80C51单片机引脚图80C51系列单片机都是以8031为核心发展起来的,具有和51系列单片机及基本结构和软件特征,其内部结构如图3-2所示:振荡器及定时电路80C51CPU4K字节ROM128字节RAM2个16位定时器/计数器64K总线扩展控制可编程I/O可编程串行口 图3-2 80C51单片机框图80C51单片机的引脚功能:1、主电源引脚Vss和Vcc。 Vss接地。 Vcc正常操作时为+5伏电源。2、外接晶振引脚XTAL1和XTAL2。 XTAL1内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。当采用外部振荡器时,此引脚接地。 XTAL2内部振荡电路反相放大器的输出端。是外接晶体的另一端。当采用外部振荡器时,此引脚接外部振荡源。3、控制或与其它电源复用引脚RST/VPD,ALE/,和/Vpp。 RST/VPD 当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变),将使单片机复位在Vcc掉电期间,此引脚可接上备用电源,由VPD向内部提供备用电源,以保持内部RAM中的数据。 ALE/ 正常操作时为ALE功能(允许地址锁存)提供把地址的低字节锁存到外部锁存器,ALE 引脚以不变的频率(振荡器频率的)周期性地发出正脉冲信号。因此,它可用作对外输出的时钟,或用于定时目的。但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲,ALE 端可以驱动(吸收或输出电流)八个LSTTL电路。 对于EPROM型单片机,在EPROM编程期间,此引脚接收编程脉冲(功能)。 外部程序存储器读选通信号输出端,在从外部程序存储取指令(或数据)期间,在每个机器周期内两次有效。同样可以驱动八LSTTL输入。 /Vpp /Vpp为内部程序存储器和外部程序存储器选择端。当/Vpp为高电平时,访问内部程序存储器,当/Vpp 为低电平时,则访问外部程序存储器。对于EPROM型单片机,在EPROM编程期间,此引脚上加21伏EPROM编程电源(Vpp)。4、输入/输出引脚P0.0 - P0.7,P1.0 - P1.7,P2.0 - P2.7,P3.0 - P3.7。 P0口(P0.0 - P0.7)是一个8位漏极开路型双向I/O口,在访问外部存储器时,它是分时传送的低字节地址和数据总线,P0口能以吸收电流的方式驱动八个LSTTL负载。 P1口(P1.0 - P1.7)是一个带有内部提升电阻的8位准双向I/O口。能驱动(吸收或输出电流)四个LSTTL负载。 P2口(P2.0 - P2.7)是一个带有内部提升电阻的8位准双向I/O口,在访问外部存储器时,它输出高8位地址。P2口可以驱动(吸收或输出电流)四个LSTTL负载。 P3口(P3.0 - P3.7)是一个带有内部提升电阻的8位准双向I/O口。能驱动四个LSTTL负载。且具有第二功能。3.1.2 选用80C51单片机原因在课程设计里蓄电池电压信号在模数转换后,只需要通过单片机内部进行数据处理以及软件滤波,显示电路采用分时复用P0口,在设计里面使用的引脚较少,占用的资源也比较少。而且该芯片是以8031为核心,性能价格比高,应用成熟,且对其内部结构较为熟悉,芯片功能够用而且适用,从而选用80C51单片机作为主控芯片。3.2 ADC0809模数转换芯片3.2.1 ADC0809模数转换芯片介绍ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。ADC0809的内部结构框图见图3-3。由图二可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。ADC0809的引脚结构见图3-4。IN0IN7:8条模拟量输入通道。ADC0809对输入模拟量要求:信号单极性,电压范围是05V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。图3-3 ADC0808内部结构框图图3-4 ADC0809引脚结构地址输入和控制线:4条,ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0IN7上的一路模拟量输入。通道选择表如表3-1所示。表3-1 通道选择表地 址选中通道ADDCADDBADDA000011110011001101010101IN0IN1IN2IN3IN4IN5IN6IN7图3-5 部分时序图数字量输出及控制线:11条,ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0为数字量输出线。CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,VREF(),VREF()为参考电压输入。3.2.2 选用ADC0809芯片原因ADC0809是CMOS工艺,采用逐次逼近法的8位A/D转换芯片。多路开关有8路模拟量输入端,最多允许8路模拟量分时输入,共用一个A/D转换器进行转换。其接口电路简单多样,数据采集方式较为灵活,数据转换原理简单,易于实现多通道数据采集系统的扩展,在当前模数的转换方面使用较多而且可靠。从而选用ADC0809模数转换芯片。3.3 运算电路当要检测一个电池的电量时,并不能直接测量电池两端的端电,但是我们可以通过检测蓄电池组放电回路的电流量,来达到检测蓄电池电压目的。因此,在蓄电池组放电回路中串接一个阻值很小的电阻,其上必有压降。这一电压值可以作为后接运放L258的一路输入电压,经过运算电路处理后接入ADC0809的AD转换引脚,从而将模拟电压量转换为数字电压量,在数字电压量经过单片机处理后,再驱动LED灯来显示蓄电池组电量的大小。图3-6 运算电路3.4 显示电路系统采用动态扫描显示方式显示电压,动态显示方式所需元件数量和元件种类较静态显示方式要少的多,并且利用人眼的视觉暂留效应和发光二极管熄灭时的余辉,动态显示方式可以较好地“同时”显示多个字符,只要扫描频率足够高就不会使人产生闪烁的感觉。本设计采用P2口进行位选,P0口进行段选。图3-7 显示电路3.5 报警、指示电路报警、指示电路采用两个发光二极管及一个蜂鸣器组成,在P24输出低电平时,蓝灯亮,此时表示蓄电池工作在规定的正常情况下。当P25输出低电平时,红灯亮,表示蓄电池电压处于不正常状态,此时进行报警。图3-8 报警、指示电路3.3 时钟电路本设计采用内部时钟方式的电路。 80C51单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成了一个稳定的自激振荡器。电路中的电容C1和C2典型值通常选择为30pF左右。晶体的振荡频率的范围通常是在1.2MHZ12MHZ之间。晶体的频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。.图3-9 时钟电路3.4 复位电路 复位电路通常采用上电自动复位和按钮复位两种方式。本次设计采用按键复位电路。按键复位电路是在按键瞬间接地来实现的,其电路如图3-7所示。按下复位按钮后,电源对按键RESET端维持两个机器周期的高电平实现复位的。图3-10 复位电路4 系统软件设计4.1主程序图4-1 主程序框图说明:该流程图主要是对设置定时器0为工作方式,并对定时器赋初值,然后开启总中断(EA)定时器0中断(ET0),启动定时器。然后用一个循环while(1)不断地采样,调用数字滤波子程序及显示、报警、指示子程序从而实时准确的显示相应的电压值。4.2 显示、指示、报警子程序图4-2 显示、指示、报警子程序框图说明:该程序框图主要是实现对蓄电池电压实时检测后电压的显示、指示、报警。在蓄电池电压低于2V的时候,红灯被点亮,然后蜂鸣器开始报警指示。当蓄电池电压大于2V时,蓝色灯被点亮,表示目前蓄电池的电压处于正常状态。4.3 T0中断服务子程序框图图4-3 中断服务子程序框图说明 中断服务程序,是在主程序响应中断后,转去执行程序。程序的主要功能时实现自动重新启动8位定时器,并对ADC0809的时钟电平取反,从而产生系列满足芯片需要的CLK时钟脉冲。4.4 延时子程序框图 图4-4 延时子程序框图说明:该程序主要是实现软件可变延时的功能,该延时子程序主要实现1ms延时 (。程序由双重循环嵌套实现,外循环执行减1操作1次,内循环执行加1操作100次。调用延时函数的实参值不同,其延时的时间不同,延时时间=实参*1ms。4.5数字滤波子程序图4-5 数字滤波子程序框图说明:为了协调平滑度和灵敏度之间的关系,可采用加权平均滤波。它的原理是对连续N次采样值分别乘上不同的加权系数之后再求累加,加权系数一般先小后大,以突出后面若干采样的效果,加强系统对参数变化趋势的认识。各个加权系数均小于1的小数,且满足总和等于1的结束条件。这样加权运算之后的累加和即为有效采样值。其中加权平均数字滤波的数学模型是:式中:D为N个采样值的加权平均值:XN-i为第N-i次采样值;N为采样次数;Ci为加权系数。加权系数Ci体现了各种采样值在平均值中所占的比例。一般来说采样次数越靠后,取的比例越大,这样可增加新采样在平均值中所占的比重。加权平均值滤波法可突出一部分信号抵制另一部分信号,以提高采样值变化的灵敏度。本设计采样三次后实现加权平均数字滤波。5 系统调试过程 通过上面的设计,设计已经基本完成。下面主要实现Protell 99se的原理图、印制板图的绘制和做相关检测,对Keil进行相应的检查和调试,并用Proteus对所设计系统进行仿真用以验证设计的正确性及可行性。5.1 原理图和印制板图绘制和检查5.1.1 在Protell99se绘制原理图并进行相应的ERC检查打开Protell99se,绘制系统的原理图。原理图包括能输出+5V电源电路、运算电路、时钟电路、显示电路、报警电路(指示)以及复位电路。绘制完成的原理图如图5-1:图5-1 原理图的绘制绘制完原理图之后,对原理图进行同一网络命名多个网络名称检测、未连接的电路标号检测、未连接的电源检测、电路编号重号检测、元件编号重复检测等检测。ERC检测结果如图5-2:图5-2 ERC检查5.1.2 在Protell99se生成PCB图在创建完原理图后,对各元器件的引脚进行封装,在原理图中创建网络表(NET),然后再Protell中新建PCB图并加载网络表。对于生成的PCB图中各器件进行调整,并布线。布线结果如图5-3:图5-3 PCB布线图5.2 Keil程序调试程序调试结果如图5-6:Creating hex file from “蓄电池电压检测系统”表明 .hex文件创建成功。“蓄电池电压检测系统”- 0 Error(s),0 Warning(s)表明文件编译结果没有错误也没有警告。图5-4 程序调试结果5.3 Proteus仿真调试在Proteus中建立仿真图。结果如图5-7:图5-5 Proteus仿真图在Proteus中点击运行,并用滑动变阻器来模拟蓄电池的电压变化,其变化结果如图5-6所示:图5-6 蓄电池电压的显示 结 论该系统设计的重点是数字滤波的实现。系统采用51系列单片机AT89C51和ADC0809模数转换芯片为中心器件来完成电动车蓄电池电压采集和数据处理设计。该系统能够实时监测蓄电池电池的电压,以便随时了解电池的充放电状态;较为精确地估计出电池的剩余电量。并且进行实量显示,从而避免电池因过充、过放而受到伤害。通过芯片的P0接入LED来实现蓄电池电压显示的功能;蓄电池电压低于2V时,该设计通过指示灯以及蜂鸣报警电路以提醒驾驶员,从而防止上述工作的情况发生;运算电路采用L258对串接在蓄电池回路的小电阻上的电压进行处理;稳压器的+5V输出为整个系统提供电源。系统设计简便、实用性强、操作简单、程序设计简便。系统的不足之处是不能很精确地进行电量的显示。这是由于数据采集部分滤波不够精准以及电量显示器件在Proteus中本身所决定的,如果有需要可以设通过计扩充原系统来实现。对于本系统的局部电路稍加修改,配合对应的传感器,就可以实现对温度、湿度、压力等参数的巡回检查。致 谢在赵玲老师的指导下,我完成了本次课程设计。赵玲老师是一个拥有专业知识,严谨治学态度,精益求精作风的老师,她的严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。在课程设计里面,她让我重新认识到了专业知识学习的重要性,还使我明白了许多为人处世的道理。本课程设计从选题到完成,都是老师指导下完成。另外,本次设计的完成也离不开各位同学给我的建议和帮助,是他们让我懂得了团队合作的重要性,也让我明白了团队精神的内涵。在此,我谨向赵玲老师和帮助过我的老师和同学们,表示崇高的敬意和衷心的感谢!参考文献1张毅刚. 新编MCS-51单片机应用设计M. 哈尔滨:哈尔滨工业大学出版社.20042倪志莲,张怡典. 单片机应用技术M.北京:北京理工大学出版社.20073张靖武.单片机系统的protues设计与仿真M.北京:电子工业出版社.20074Anolog Device Corp,ADC0809 Databok,2005.附录A 程序源代码/*=蓄电池电压检测系统=*/#include #define uchar unsigned char #define uint unsigned intuchar code LEDData=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar code LEDData1=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef;char code jq12=1,2,3; /code数组为加权系数表,存在程序存储区char code sum_jq=1+2+3;sbit OE=P10;sbit EOC=P11;/ADC0809引脚定义sbit ST=P12;sbit CLK=P13;uint filter();/调用滤波函数申明uint temp;uint buffer3;/数据存放定义/*=延时1ms子程序=*/ void Delayms(uint ms) uchar i; while(ms-) for(i=0;i120;i+); /*=显示转换结果及报警子程序=*/ void Display_Alarm(uint d) if(d/100)2) /低于2V时的绿灯亮,以及蓄电池显示电压 P2=0xdf;P0=LEDDatad/1000; P2=0xde;Delayms(5);P2=0xdf;P0=LEDData1d/100%10;P2=0xdd;Delayms(5);P2=0xdf;P0=LEDDatad/10%10
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年锅炉操作工(高级)职业技能培训考试题库(附答案)
- 2025年广西自然资源职业技术学院单招职业技能测试题库有答案
- 2025年广西玉林市公安辅警招聘知识考试题(含答案)
- 大学生液压考试题及答案
- 媒体广告投放合同协议说明
- 商业咨询服务与咨询合同协议
- 幼师职格考试题型及答案
- 智能柜台考试题库及答案
- 新安全法考试题库及答案
- 人际交往能力笔试题目及答案
- 2025年全国养老护理员资格考试试题及答案解析
- 国企安全环保培训会课件
- 2025年公安院校联考公安院校联考行测题库(附答案)
- 药物的过量反应课件
- 2025年江苏省南京市中考英语真题卷含答案解析
- 商业综合体安保人员培训效果考试试卷及答案
- 炎症与心脑血管疾病
- 天然林保护知识培训内容课件
- 2025九省联考试题生物及答案
- UV转印技术简介
- 子宫内膜异位症
评论
0/150
提交评论