微机检测课程设计说明书.docx
- 文档编号:24018740
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:25
- 大小:298.11KB
微机检测课程设计说明书.docx
《微机检测课程设计说明书.docx》由会员分享,可在线阅读,更多相关《微机检测课程设计说明书.docx(25页珍藏版)》请在冰豆网上搜索。
微机检测课程设计说明书
交通与汽车工程学院
课程设计说明书
课程名称:
微机检测系统课程设计
课程代码:
8416671
题目:
蓄电池电量采集系统设计及仿真
年级/专业/班:
学生姓名:
学生学号:
开始时间:
2012年月日
完成时间:
2012年月日
课程设计成绩:
学习态度及平时成绩(30)
技术水平与实际能力(20)
创新(5)
说明书(计算书、图纸、分析报告)撰写质量(45)
总分(100)
指导教师签名:
年月日
目录
摘要……………………………………………………………………………………………2
1引言…………………………………………………………………………………………3
1.1问题提出…………………………………………………………………………………3
1.2任务与分析………………………………………………………………………………3
2方案设计……………………………………………………………………………………4
2.1方案论证…………………………………………………………………………………4
2.2最终设计方案总体设计框图……………………………………………………………4
3系统硬件设计………………………………………………………………………………5
3.180C51单片机……………………………………………………………………………5
3.2人机交互设备…………………………………………………………………7
3.3AD采样电路………………………………………………………………………………8
4系统软件设计………………………………………………………………………………9
4.1设计思路、过程…………………………………………………………………………9
4.2主程序流程图…………………………………………………………10
4.3滤波子程序框图……………………………………………………………………10
4.4数据转换子程序框图……………………………………………………………………10
4.5延时子程序框图…………………………………………………………………………10
5系统调试过程………………………………………………………………………………11
5.1原理图的绘制和检查……………………………………………………………………11
5.2Keil程序调试…………………………………………………………………………12
5.3Proteus仿真软件介绍…………………………………………………………………13
5.4Proteus仿真图建立…………………………………………………………………13
5.5Proteus仿真调试结果…………………………………………………………………14
结论……………………………………………………………………………………………22
致谢……………………………………………………………………………………………23
参考文献………………………………………………………………………………………24
附录A程序源代码……………………………………………………………………………25
摘要
单片机因其体积小、功能强、价格低廉而得到广泛应用。
蓄电池在现代工业的各种场合都有广泛的应用,为各种系统提供必不可少的电源,蓄电池的重要性可见一斑,尤其在现代汽车上,蓄电池更是必不可少。
本文介绍用51单片机设计制作的汽车蓄电池电压检测系统,由51单片机、AD0804芯片、液晶屏LM044L和一些常用元器件组成,用滑动变阻器的滑头端输出电压来模拟蓄电池的电压,经过AD采样,将电压值通过LM044L显示。
关键词:
汽车蓄电池;LM044L;51单片机;proteus仿真
1引言
1.1问题的提出
目前汽车上用于蓄电池检测显示的设备过于复杂,能否利用现在所学的单片机知识及常见元器件搭建出能够检测并显示的蓄电池系统,将会影响自己的实践能力。
1.2任务与分析
本课程设计是应用51单片机原理和微机控制与接口技术设计蓄电池检测系统控制器的硬件电路,并采用c语言进行程序设计。
通过控制外部AD0804芯片来检测滑动变阻器模拟输出的蓄电池电压。
本系统的难点在于AD芯片的应用以及如何在LM044L上显示信息。
课程设计需要Proteus软件进行仿真,所以需要进行相关程序的编写。
2方案设计
2.1方案论证
方案一
系统采用AT89C51单片机作为主控芯片,AD0804芯片作为电压检测的AD转换模块。
在LM044L上显示。
方案二
与方案一相比,方案二采用LCD12864显示。
进行方案比较,方案二可以精确的显示提示信息,由于未要求显示汉字提示信息,方案2相对方案一,程序比较复杂,过程比方案一繁琐,故选用方案一。
系统采用AT89C51单片机作为主控芯片,AD0804芯片作为电压检测的AD转换模块。
在LM044L上显示。
2.2方案总体设计框图
图2-1方案一系统总体框图
方案二系统总体框图
在设计里面,利用单片机设计电路,以滑动变阻器模拟蓄电池电压,用AD芯片进行采样,最后通过LM044L液晶显示器进行显示,由于使用软硬件结合的方式代替了数字电路的复杂性,所以电路结构简单、调试也相对方便,经济实惠。
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.2人机交互设备
为了进行实时的显示,本次设计选用LM044L作为显示设备,LM044L可分为无字符型和有字符型。
由于Proteus中自带的LM044L为无字符型,所以还要在程序中加入字符编码。
3.3AD采样电路
图3-4AD电路
系统采用ADC0804AD转换芯片采样滑动变阻器上的电压,其他外部电路采用芯片资料上的典型应用电路。
4系统软件设计
4.1设计思路、过程
系统采用AT89C51单片机进行设计,程序首先对AD进行初始化,滑动变阻器滑片的不同位置将对应不同的电压值,AD采集到的数值也不相同。
通过调用转换程序对其进行标度变换,最终显示在LM044L上。
4.2程序流程图
图4-1主程序框图
4.2数据转换子程序
图4-2按键检测子程序框图
4.3滤波子程序流程图
4.4延时子程序框图
图4-3延时子程序框图
说明:
该程序主要是实现软件可变延时的功能,该延时子程序主要实现1ms延时(程序由双重循环嵌套实现,外循环执行减1操作1次,内循环执行加1操作100次。
调用延时函数的实参值不同,其延时的时间不同,延时时间=实参*1ms。
5系统仿真与调试
通过上面的设计,设计已经基本完成。
对Keil进行相应的检查和调试,并用Proteus对所设计系统进行仿真用以验证设计的正确性及可行性。
5.1原理图的绘制和检查
打开altium,绘制系统的原理图。
原理图包括能输出+5V电源电路、AD电路、时钟电路、显示电路、报警电路(指示)以及复位电路。
绘制完成的原理图如图5-1
图5-1系统原理图
5.2Keil程序调试
程序调试结果如图5-2:
Creatinghexfilefrom“dianya”表明.hex文件创建成功。
“dianya”-0Error(s),1Warning(s)表明文件编译结果没有错误只有一个警告,因为keil用的是未注册版本。
图5-2程序编译结果
5.3Proteus仿真软件介绍
系统采用Proteus软件来进行程序的仿真。
Proteus是英国Labcenterelectronics公司出版的EDA工具软件。
它不仅具有其他EDA工具软件的仿真功能。
还能仿真单片机及其外围器件。
它是目前最好的仿真单片机及其外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
5.4仿真图建立
系统采用Proteus软件进行仿真,利用软件自带的仿真模块建立系统的仿真图。
图5.1为蓄电池电压检测系统的最小系统图。
图5.1主控芯片仿真
系统采用滑动变阻器作为蓄电池的输入电压,通过改变滑片的位置将输出不同的电压。
为了显示器件的对比,在此选用了软件自带的电压表进行检测。
图5.2系统检测系统
系统采用LM044L液晶屏作为显示器件,其具体的仿真连接图如下。
图5.3系统的显示器件图
5.5Proteus仿真调试结果
图5.4,图5.5分别表示在不同的电压输入值中。
对应的显示情况。
当调节滑动变阻器改变AD输入值,此时可以通过电压表观察此时滑动变阻器的电压为+11.8V,单片机通过采集进行程序处理,在显示器上面对应的显示当前值。
图5-4Proteus仿真图
(1)
当逐渐调节滑动变阻器,此时显示器显示当前的电压值改变。
图5-5Proteus仿真图
(2)
结论
此次设计过程中,我查阅了一些相关资料,使得我更深入的了解51系列单片机芯片的应用以及相关软件、硬件的使用方法。
在这段时间里,我不仅完成设计所要求的内容,也掌握了一些AT89C52芯片的具体功能。
此外,设计中所涉及到的元器件还有:
电容、电阻、排阻、液晶显示器、AD0804等,我通过查阅相关元器件的作用及工作原理。
在整个设计过程中,我们不仅能将书本上学到的关于单片机相关的知识与实践相结合,而且还培养了查找相关资料和自学能力。
这将对我们今后的实践提供很大的帮助。
设计中还让我意识到:
理论和实践相结合的重要性。
虽然电路看上去比较简单,但实际行动起来将会遇到许多困难。
因此,设计过程中要保持一种持之以恒、严谨的学习态度,这样才会在设计过程中及时的发现问题、解决问题。
致谢
在唐岚老师的指导下,我完成了本次课程设计。
唐岚老师是一个拥有专业知识,严谨治学态度,精益求精作风的老师,她的严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。
在课程设计里面,她让我重新认识到了专业知识学习的重要性,还使我明白了许多为人处世的道理。
本课程设计从选题到完成,都是老师指导下完成。
另外,本次设计的完成也离不开各位同学给我的建议和帮助。
在此,我谨向唐岚老师和帮助过我的老师和同学们,表示崇高的敬意和衷心的感谢!
参考文献
[1]张毅刚.新编MCS-51单片机应用设计[M].哈尔滨:
哈尔滨工业大学出版社.2004
[2]倪志莲,张怡典.单片机应用技术[M].北京:
北京理工大学出版社.2007
[3]张靖武.单片机系统的protues设计与仿真[M].北京:
电子工业出版社.2007
[4]AnologDeviceCorp,ADC0809Databok,2005.
附录A程序源代码
#include
//#include
#defineucharunsignedchar
#defineuintunsignedint
#definelcdP1
sbitrs=P2^5;
sbitrw=P2^6;
sbiten=P2^7;
sbitad_INTR=P2^4;
sbitad_RD=P2^3;
sbitad_WR=P2^2;
ucharcodetab[]={"BatteryVoltageis"};
ucharcodetab1[]={"V"};
ucharnum;
uintshi,ge,x1,x2,get,get_l,m1,m2;
uintdianya;
/*****函数声明********/
voiddelay110(uintk);
voiddata_change(uintx);
voidget0804();
voidTdelay(unsignedinti)
{
while(i--);
}
voidget0804()
{
ad_WR=0;
Tdelay(5);
ad_INTR=0;
Tdelay(5);
ad_INTR=1;
Tdelay(5);
ad_WR=1;
Tdelay(5);
P1=0xff;
ad_WR=0;
Tdelay(5);
ad_RD=0;
Tdelay(30);
get=P3;
Tdelay(5);
ad_RD=1;
Tdelay(5);
ad_WR=1;
}
voiddelay110(unsignedcharx)//延时110ms
{
unsignedchara,b;
for(a=x;a>0;a--)
for(b=110;b>0;b--);
}
//
voidwrite_com(unsignedcharvalue){
en=0;
rs=1;
rs=0;
P1=value;
delay110(5);
en=1;
delay110(5);
en=0;
rs=1;
}
voidwrite_date(unsignedcharvalue){
rs=0;
en=0;
rs=1;
P1=value;
delay110(5);
en=1;
delay110(5);
en=0;
rs=0;
}
voidinit_lcd()
{
rw=0;
write_com(0x38);
write_com(0x06);
write_com(0x0c);
write_com(0x01);}
voidfilter()
{
intx;
x=get-get_l;
if(x>10&x<-10)dianya=get_l;
elsedianya=get;
get_l=get;
}
voiddata_change(uintx)
{
m1=(x*15)/255;
m2=((x*15)%255)*200/51;
shi=m1/10;
ge=m1%10;
x1=m2/100;
x2=m2%100/10;
}
/*****主函数****/
voidmain()
{
ucharfb=0;
init_lcd();
delay110(300);
//dianya=111;
while
(1)
{
get0804();
filter();
data_change(dianya);
fb=0;
delay110(1000);
write_com(0x01);
for(num=0;num<18;num++)
{
write_date(tab[num]);
}
write_com(0x80+0x45);
write_date(0x30+shi);
write_date(0x30+ge);
write_date(0x2e);
delay110(100);
write_date(0x30+x1);
write_date(0x30+x2);
write_com(0x80+0x59);
for(num=0;num<2;num++)
{
write_date(tab1[num]);
}
delay110(1000);
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 检测 课程设计 说明书