完美升级版智能压力测量仪毕业论文说明书.docx
《完美升级版智能压力测量仪毕业论文说明书.docx》由会员分享,可在线阅读,更多相关《完美升级版智能压力测量仪毕业论文说明书.docx(22页珍藏版)》请在冰豆网上搜索。
![完美升级版智能压力测量仪毕业论文说明书.docx](https://file1.bdocx.com/fileroot1/2022-10/11/1c1b9f93-6ba3-439e-bff5-4b704b4c8434/1c1b9f93-6ba3-439e-bff5-4b704b4c84341.gif)
完美升级版智能压力测量仪毕业论文说明书
(此文档为word格式,下载后您可任意编辑修改!
)
郑州华信学院
课程设计说明书
题目:
智能压力测量仪
姓名:
杨巍
院(系):
机电工程学院
专业班级:
电气工程三班
指导教师:
宋东亚杨坤漓
成绩:
时间:
2013年12月17日至2013年12月28日
郑州华信学院
课程设计任务书
题目智能压力测量仪
专业、班级电气工程及其自动化三班
姓名杨巍
主要内容:
利用单片机计一个智能压力测量仪,要求显示压力数据。
基本要求:
1.设计一个智能压力测量仪,要求显示当前压力数值。
2.利用proteus软件完成设计电路和仿真;
3.掌握并口驱动数码管动态显示的方法;
4.通过此次设计将单片机软硬件结合起来对程序进行编辑、校验,锻炼实践能力和理论联系实际的能力。
主要参考资料:
[1]李全利,单片机原理及接口技术[M],高等教育出版社
[2]王文杰,单片机应用技术[M],冶金工业出版社
[3]朱清慧,PROTEUS教程——电子线路设计、制版与仿真[M],清华大学出版社
[4]单片机实验指导书,天煌教仪
[5]彭伟,单片机C语言程序设计实训100例[M],电子工业出版社
完成期限:
指导教师签名:
课程负责人签名:
年月日
目录
摘要-2-
1引言-2-
1.1问题的提出-2-
1.2任务与分析-3-
2方案设计-3-
2.1系统方案设计论证-3-
2.1.1系统的控制方案设计-3-
2.2最终设计方案总体设计框图-3-
3系统硬件设计-4-
3.1AT89C51单片机-4-
3.1.1AT89C51单片机介绍-4-
3.1.2选用AT89C51单片机原因-6-
3.2时钟电路-6-
3.3复位电路-6-
3.4PG160128A显示电路-7-
3.5AD转换电路-8-
4系统软件设计-9-
4.1主程序框图-9-
4.2显示子程序框-10-
5系统调试过程-10-
5.2Keil程序调试-12-
5.3Proteus仿真调试-12-
结论-15-
致谢-16-
参考文献-16-
附录一程序源代码-16-
附录二电路原理图及PCB图-32-
附录三Proteus仿真截图-33-
摘要
本课程设计是基于8051单片机为控制核心的压力检测系统。
在硬件电路部分,此设计的采用8051单片机,ADC0832转换器,本设计先测量出压力的电信号,然后通过单片机对所测出的压力值,并通过LCD显示压力数值。
关键词:
8051单片机、压力检测、LCD显示、
1引言
1.1问题的提出
随着电子化程度越来越高,通过增加更多的电子装置,使机器工作在更好的状态,充分发挥机器的性能,保证机器的安全性,减少机器故障率,增加机器寿命等,具有重要的意义。
1.2任务与分析
本设计的主要任务就是利用单片机实现压力的检测功能。
检测压力检测系统所具有的功能如下:
压力检测系统是通过声音和文字信息来体现压力的状态。
该系统利用8051单片机作为微控制器,通过压变式压力传感器对压力进行信号检测,传感器输出信号经数字滤波及AD转换后输入ECU,经计算后在LED屏幕上显示压力。
2方案设计
2.1系统方案设计论证
2.1.1系统的控制方案设计
检测压力传感器MPX4250检测到压力信号后,通过ADC0832转换后送入AT89C51单片机,单片机对数据进行处理,显示等。
2.2最终设计方案总体设计框图
图2.1系统总体设计框图
本方案是由压力传感器、AD模数转换器、AT89C51单片机、LED显示电路。
压力传感器采集压力信号,将其转换为相对应的电压信号,将电压信号输送到AD模数转换器转换为数字信号,并送入到AT89C51单片机中,经过单片机的数字滤波处理后,在通过PG160128的驱动程序,将其显示在LCD显示器上。
3系统硬件设计
3.1AT89C51单片机
3.1.1AT89C51单片机介绍
(1)8051单片机
在此单片机上集成了微处理器(CPU),内部数据存储器(RAM),以及输入输出端口。
8051单片机采用40只引脚的双列直插封装方式,各引脚的功能如下:
①时钟引脚X1及X2:
用于接晶体振荡器,此次设计用的晶振频率为6MHZ。
②RESET脚:
是复位信号输入端,高电平有效。
③ALE脚:
地址锁存允许信号,用于锁存单片机输出的地址信号,高电平有效
④PSEN脚:
程序存储器输出控制端,在单片机访问外部程序存储器时,此引脚输出的负脉冲作为读外部程序存储器的选通信号,接至程序存储器的OE端。
低电平有效。
⑤EA脚:
其功能为内外程序存储器选择控制端。
当EA为高电平时,单片机访问内部程序存储器,当EA为低电平时,单片机直接访问片外程序存储器。
本设计用的是8031,由于8031内部无程序存储器,所以此引脚应接地。
低电平有效。
⑥IO口引脚:
共4个,分别是P0、P1、P2、P3,均为8位口。
这4个IO口可分别作为基本的Input、Output端口。
其中P0口可作为数据总线和地址总线(低8位)分时复用的端口,P2口可作为地址总线的高8位,即P0口和P2口地起构成16位地址总线,可供寻址的地址范围是:
64KB。
P3口具有第二功能,即可以产生中断,定时计数等功能。
⑦RD、WR引脚:
为读和写选通信号,RD用于将单片机的数据写入外设中,WR用于从外设中读取数据。
低电平有效
AT89C51系列单片机都是以8031为核心发展起来的,具有和51系列单片机及基本结构和软件特征,其内部结构如图3-2所示:
图3-2AT89C51单片机框图
3.1.2选用AT89C51单片机原因
在课程设计里所需外围电路简单,在设计里面使用的引脚较少,占用的资源也比较少。
而且该芯片是以AT89C51为核心,性能价格比高,应用成熟,且对其内部结构较为熟悉,芯片功能够用而且适用,从而选用AT89C51单片机作为主控芯片。
3.2时钟电路
本设计采用内部时钟方式的电路。
AT89C51单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。
这两个引脚跨接石英晶体振荡器和微调电容,就构成了一个稳定的自激振荡器。
电路中的电容C1和C2典型值通常选择为33pF左右。
晶体的振荡频率的范围通常是在1.2MHZ~12MHZ之间。
晶体的频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。
.
图3-3时钟电路
3.3复位电路
复位电路通常采用上电自动复位和按钮复位两种方式。
本次设计采用上电复位电路。
上电复位电路是在上电瞬间来实现的,其电路如图3-4所示。
上电时,RESET端维持两个机器周期的高电平实现复位。
图3-4复位电路
3.4PG160128A显示电路
PG160128A是一种图形点阵液晶显示器,它主要由行驱动器列驱动器及格160×128全点阵液晶显示器组成。
可完成图形显示,也可以显示10×8个(16×16点阵)汉字。
主要技术参数和性能:
模块内自带-15负压,用于LCD的驱动电压
1.电源VDD:
+5V;
2.显示内容:
160(列)×128(行)点
3.全屏幕点阵
4.十三种指令
5.与CPU接口采用8位数据总线并行输入输出
6.占空比1128
7.工作温度:
-10℃∽+55℃,存储温度:
-20℃∽+70℃
这里通过PG160128A来显示相关信息
图3-5显示电路
ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道AD转换芯片。
学习并使用ADC0832可是使我们了解AD转换器的原理,有助于我们单片机技术水平的提高。
这里通过ADC0832将压力传感器输出的电压信号转换为数字信号,并送入到单片机中进行处理。
3.5AD转换电路
4系统软件设计
4.1主程序框图
(1)主程序流程框图如下:
(2)信号采集子程序框图如下:
(3)数字滤波流
4.2显示子程序框
图4-4显示子程序流程图
5系统调试过程
通过上面的设计,设计已经基本完成。
下面主要实现AltiumDesigner的原理图、印制板图的绘制和做相关检测,对Keil进行相应的检查和调试,并用Proteus对所设计系统进行仿真。
5.1原理图和印制板图绘制和检查
5.1.1在protel99se绘制原理图并进行相应的ERC检查
图5-1原理图的绘制
绘制完原理图之后,对原理图进行编译检测,ERC检测结果。
5.1.2在PROTEL99SE生成PCB图
在创建完原理图后,对各元器件的引脚进行封装,在原理图中创建网络表(NET),然后再PROTEL99S中新建PCB,对于生成的PCB图中各器件进行调整,并布线,最终生成PCB图。
结果如图5-2所示
图5-2生成PCB图
5.2Keil程序调试
程序调试结果如下所示:
creating.charfnLCMInit();LCD初始化
externvoidfnSetPos(unsignedcharurow,unsignedcharucol);设置当前地址
externuchardprintf(ucharx,uchary,char*fmt);ASCII(8*16)及汉字(16*16)显示函数
sbitCS=P3^4;
sbitCLK=P3^2;
sbitDI0=P3^3;
uinttheLastTime;一次鸣响持续次数
unsignedchardsp[4];作为压力存储传入函数显示
ucharGet_AD_Result()
{uchari,dat1=0,dat2=0;
CS=0;
CLK=0;起始控制位
DI0=1;_nop_();_nop_();CS=0;_nop_();_nop_();CLK=1;_nop_();_nop_();第一个下降沿之前,设DI=10选择单端差分(SGLDIF)模式中的单端输入模式
CLK=0;DI0=1;_nop_();_nop_();CLK=1;_nop_();_nop_();第二个下降沿之前,设DI=01,选择CH0CH1
CLK=0;DI0=0;_nop_();_nop_();CLK=1;DI0=1;_nop_();_nop_();第三个下降沿之前,设DI=1
CLK=0;DI0=1;_nop_();_nop_();第4-11个下降沿读数据(MSB->LSB)
for(i=0;i<8;i++)
{CLK=1;_nop_();_nop_();CLK=0;_nop_();_nop_();
dat1=dat1<<1|DI0;
}
for(i=0;i<8;i++)
{dat2=dat2|((uchar)(DI0)<
CLK=1;_nop_();_nop_();
CLK=0;_nop_();_nop_();
}
CS=1;
return(dat1==dat2)?
dat1:
0;
}
unsignedchardsp[4];作为压力存储传入