课程设计说明书模板.docx
- 文档编号:6454506
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:29
- 大小:444.40KB
课程设计说明书模板.docx
《课程设计说明书模板.docx》由会员分享,可在线阅读,更多相关《课程设计说明书模板.docx(29页珍藏版)》请在冰豆网上搜索。
课程设计说明书模板
交通与汽车工程学院
课程设计说明书
课程名称:
微机原理及应用课程设计
课程代码:
8234570
题目:
年级/专业/班:
学生姓名:
学 号:
开始时间:
2011年7月11日
完成时间:
2011年7月15日
课程设计成绩:
学习态度及平时成绩(30)
技术水平与实际能力(20)
创新(5)
说明书(计算书、图纸、分析报告)撰写质量(45)
总分(100)
指导教师签名:
年月日
摘要……………………………………………………………………………………………3
1引言…………………………………………………………………………………………4
1.1问题提出…………………………………………………………………………………4
1.2任务与分析………………………………………………………………………………4
2方案设计……………………………………………………………………………………5
2.1蓄电池电压检测系统设计方案论证……………………………………………………5
2.2最终设计方案总体设计框图……………………………………………………………6
3系统硬件设计………………………………………………………………………………6
3.180C51单片机………………………………………………………………………………7
3.2ADC0809模数转换芯片…………………………………………………………………9
3.3运算电路…………………………………………………………………………………12
3.4显示电路…………………………………………………………………………………12
3.5报警、指示电路…………………………………………………………………………12
3.6时钟电路…………………………………………………………………………………13
3.7复位电路…………………………………………………………………………………13
4系统软件设计………………………………………………………………………………15
4.1主程序框图………………………………………………………………………………15
4.2显示、指示、报警子程序框图…………………………………………………………16
4.3中断服务子程序框图……………………………………………………………………16
4.4延时子程序框图…………………………………………………………………………17
4.5数字滤波子程序框图……………………………………………………………………17
5系统调试过程………………………………………………………………………………19
5.1原理图和印制板图绘制和检查…………………………………………………………19
5.2Keil程序调试…………………………………………………………………………20
5.3Proteus仿真调试………………………………………………………………………21
结论……………………………………………………………………………………………23
致谢……………………………………………………………………………………………24
参考文献………………………………………………………………………………………25
附录A程序源代码……………………………………………………………………………26
附录B蓄电池电压检测系统框图…………………………………………………………30
附录C电路原理图和PCB图…………………………………………………………………31
附录DProteus仿真和蓄电池电压检测输出图……………………………………………33
摘要
本文所阐述的蓄电池检测系统。
在结构设计上采用了单片机控制。
对蓄电池组的工作状态可进行实时监控,以期对延长蓄电池组的使用寿命有所帮助。
在硬件方面,本系统主要以51系列单片机AT89C51和ADC0809为中心器件来实现蓄电池电压的检测及显示;在软件方面.我们的目的主要是实现对蓄电池电压信号的数字滤波以实现准确的显示。
关键词:
:
单片机;蓄电池组;电压检测;数字滤波
1引言
1.1问题的提出
目前在蓄电池在汽车的应用中,普遍存在着蓄电池的使用寿命不长,管理不当等问题。
针对以上问题,本文所阐述的蓄电池检测系统,在结构没计上采用了单片机控制,对蓄电池组的工作状态可进行实时监控,以期对延长蓄电池组的使用寿命有所帮助。
该系统能够实时监测每个电池的电压,以便随时了解电池的充放电状态;较为精确地估计出电池的剩余电量,并且进行实量显示,从而避免电池因过允、过放而受到伤害。
使用该系统后,可以使用户了解电池的运行状态和方便快速地维护蓄电池。
此外,该系统最突出的优势在于加权平均实现的数字滤波设计,且该系统可以实现所要求的报警功能。
另外,通过当如今,计算机软件和硬件快速的发展,在许多的领域都有成熟的仿真软件的应用,Labcenter公司的Proteus具有微控制器的仿真功能等功能,其最大的特点就是能进行单片机以及外围芯片的仿真,通过其对设计产品的仿真,可以更好的帮助设计者进行计算机控制系统的分析及设计。
1.2任务与分析
本文的主要任务是蓄电池电压检测系统在显示器件上显示蓄电池电压,并且当电压低于规定值2V时,会报警以及电压过低指示灯亮提醒驾驶员。
重点点突出了如何通过软件编程实现数字滤波的设计。
在整体的硬件组成设计中,蓄电池组可为整个电路提供电源,在其充放电电路串接了一个电阻,其上面的电压作为运放LM258的一个输入电压,另一个输入电压由稳压器的+5V输出提供。
四个电阻及一个运放构成的运算电路,将蓄电池组充放电电路中的电流量,转换成电压量再输入单片机,以实现对蓄电池组充放电情况的测量和监控。
ADC0809将输入的模拟电压转换为数字电压,再通过AT89C51单片机处理后由的P0口驱动LED灯以显示电量。
另外,AT89C51单片机还可通过一个P2^5口来控制晶体管以起到电子开关的作用。
由于整个设计的目的是完成电压的采集以及显示,除了模数转换电路、报警电路以及LED之外,几乎没有其它所需的外部电路,因此51系列单片机完全可以胜任。
2方案设计
2.1蓄电池电压检测系统设计方案论证
方案1:
XXXX
方案2:
XXXXX
进行方案比较,最终选取方案2。
2.2最终设计方案总体设计框图
图2-1系统总体框图
在设计里面,蓄电池的电压信通过一小阻值电阻采集,经过运放号通过ADC0809模数转换芯片转换为单片机能处理的数字信号。
单片机对接收到的信号进行处理,然后通过采集系列数据后用加权平均滤波。
滤波后的数据,数通过单片机的P0口驱动LED进行蓄电池电压的显示,P2口对复用P0口的四位LED进行控制以及蓄电池电压在不同工作情况下的指示、报警。
3系统硬件设计
3.180C51单片机
3.1.180C51单片机介绍
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所示:
图3-180C51单片机引脚图
80C51系列单片机都是以8031为核心发展起来的,具有和51系列单片机及基本结构和软件特征,其内部结构如图3-2所示:
图3-280C51单片机框图
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.2ADC0809模数转换芯片
3.2.1ADC0809模数转换芯片介绍
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。
IN0-IN7:
8条模拟量输入通道。
ADC0809对输入模拟量要求:
信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。
图3-3ADC0808内部结构框图
图3-4ADC0809引脚结构
地址输入和控制线:
4条,ALE为地址锁存允许输入线,高电平有效。
当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。
A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。
通道选择表如表3-1所示。
表3-1通道选择表
地址
选中通道
ADDC
ADDB
ADDA
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
IN0
IN1
IN2
IN3
IN4
IN5
IN6
IN7
图3-5部分时序图
数字量输出及控制线:
11条,ST为转换启动信号。
当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。
EOC为转换结束信号。
当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。
OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。
OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。
D7-D0为数字量输出线。
CLK为时钟输入信号线。
因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,VREF(+),VREF(-)为参考电压输入。
3.2.2选用ADC0809芯片原因
ADC0809是CMOS工艺,采用逐次逼近法的8位A/D转换芯片。
多路开关有8路模拟量输入端,最多允许8路模拟量分时输入,共用一个A/D转换器进行转换。
其接口电路简单多样,数据采集方式较为灵活,数据转换原理简单,易于实现多通道数据采集系统的扩展,在当前模数的转换方面使用较多而且可靠。
从而选用ADC0809模数转换芯片。
3.3运算电路
当要检测一个电池的电量时,并不能直接测量电池两端的端电,但是我们可以通过检测蓄电池组放电回路的电流量,来达到检测蓄电池电压目的。
因此,在蓄电池组放电回路中串接一个阻值很小的电阻,其上必有压降。
这一电压值可以作为后接运放L258的一路输入电压,经过运算电路处理后接入ADC0809的A/D转换引脚,从而将模拟电压量转换为数字电压量,在数字电压量经过单片机处理后,再驱动LED灯来显示蓄电池组电量的大小。
图3-6运算电路
3.4显示电路
系统采用动态扫描显示方式显示电压,动态显示方式所需元件数量和元件种类较静态显示方式要少的多,并且利用人眼的视觉暂留效应和发光二极管熄灭时的余辉,动态显示方式可以较好地“同时”显示多个字符,只要扫描频率足够高就不会使人产生闪烁的感觉。
本设计采用P2口进行位选,P0口进行段选。
图3-7显示电路
3.5报警、指示电路
报警、指示电路采用两个发光二极管及一个蜂鸣器组成,在P2^4输出低电平时,蓝灯亮,此时表示蓄电池工作在规定的正常情况下。
当P2^5输出低电平时,红灯亮,表示蓄电池电压处于不正常状态,此时进行报警。
图3-8报警、指示电路
3.3时钟电路
本设计采用内部时钟方式的电路。
80C51单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。
这两个引脚跨接石英晶体振荡器和微调电容,就构成了一个稳定的自激振荡器。
电路中的电容C1和C2典型值通常选择为30pF左右。
晶体的振荡频率的范围通常是在1.2MHZ~12MHZ之间。
晶体的频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。
.
图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.3T0中断服务子程序框图
图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系统调试过程
通过上面的设计,设计已经基本完成。
下面主要实现Protell99se的原理图、印制板图的绘制和做相关检测,对Keil进行相应的检查和调试,并用Proteus对所设计系统进行仿真用以验证设计的正确性及可行性。
5.1原理图和印制板图绘制和检查
5.1.1在Protell99se绘制原理图并进行相应的ERC检查
打开Protell99se,绘制系统的原理图。
原理图包括能输出+5V电源电路、运算电路、时钟电路、显示电路、报警电路(指示)以及复位电路。
绘制完成的原理图如图5-1:
图5-1原理图的绘制
绘制完原理图之后,对原理图进行同一网络命名多个网络名称检测、未连接的电路标号检测、未连接的电源检测、电路编号重号检测、元件编号重复检测等检测。
ERC检测结果如图5-2:
图5-2ERC检查
5.1.2在Protell99se生成PCB图
在创建完原理图后,对各元器件的引脚进行封装,在原理图中创建网络表(NET),然后再Protell中新建PCB图并加载网络表。
对于生成的PCB图中各器件进行调整,并布线。
布线结果如图5-3:
图5-3PCB布线图
5.2Keil程序调试
程序调试结果如图5-6:
Creatinghexfilefrom“蓄电池电压检测系统”表明.hex文件创建成功。
“蓄电池电压检测系统”-0Error(s),0Warning(s)表明文件编译结果没有错误也没有警告。
图5-4程序调试结果
5.3Proteus仿真调试
在Proteus中建立仿真图。
结果如图5-7:
图5-5Proteus仿真图
在Proteus中点击运行,并用滑动变阻器来模拟蓄电池的电压变化,其变化结果如图5-6所示:
图5-6蓄电池电压的显示
结论
该系统设计的重点是数字滤波的实现。
系统采用51系列单片机AT89C51和ADC0809模数转换芯片为中心器件来完成电动车蓄电池电压采集和数据处理设计。
该系统能够实时监测蓄电池电池的电压,以便随时了解电池的充放电状态;较为精确地估计出电池的剩余电量。
并且进行实量显示,从而避免电池因过充、过放而受到伤害。
通过芯片的P0接入LED来实现蓄电池电压显示的功能;蓄电池电压低于2V时,该设计通过指示灯以及蜂鸣报警电路以提醒驾驶员,从而防止上述工作的情况发生;运算电路采用L258对串接在蓄电池回路的小电阻上的电压进行处理;稳压器的+5V输出为整个系统提供电源。
系统设计简便、实用性强、操作简单、程序设计简便。
系统的不足之处是不能很精确地进行电量的显示。
这是由于数据采集部分滤波不够精准以及电量显示器件在Proteus中本身所决定的,如果有需要可以设通过计扩充原系统来实现。
对于本系统的局部电路稍加修改,配合对应的传感器,就可以实现对温度、湿度、压力等参数的巡回检查。
致谢
在赵玲老师的指导下,我完成了本次课程设计。
赵玲老师是一个拥有专业知识,严谨治学态度,精益求精作风的老师,她的严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。
在课程设计里面,她让我重新认识到了专业知识学习的重要性,还使我明白了许多为人处世的道理。
本课程设计从选题到完成,都是老师指导下完成。
另外,本次设计的完成也离不开各位同学给我的建议和帮助,是他们让我懂得了团队合作的重要性,也让我明白了团队精神的内涵。
在此,我谨向赵玲老师和帮助过我的老师和同学们,表示崇高的敬意和衷心的感谢!
参考文献
[1]张毅刚.新编MCS-51单片机应用设计[M].哈尔滨:
哈尔滨工业大学出版社.2004
[2]倪志莲,张怡典.单片机应用技术[M].北京:
北京理工大学出版社.2007
[3]张靖武.单片机系统的protues设计与仿真[M].北京:
电子工业出版社.2007
[4]AnologDeviceCorp,ADC0809Databok,2005.
附录A程序源代码
/*============蓄电池电压检测系统============*/
#include
#defineucharunsignedchar
#defineuintunsignedint
ucharcodeLEDData[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
ucharcodeLEDData1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};
charcodejq[12]={1,2,3};//code数组为加权系数表,存在程序存储区
charcodesum_jq=1+2+3;
sbitOE=P1^0;
sbitEOC=P1^1;//ADC0809引脚定义
sbitST=P1^2;
sbitCLK=P1^3;
u
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 说明书 模板