压力机的设计报告.docx
- 文档编号:18419976
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:19
- 大小:250.20KB
压力机的设计报告.docx
《压力机的设计报告.docx》由会员分享,可在线阅读,更多相关《压力机的设计报告.docx(19页珍藏版)》请在冰点文库上搜索。
压力机的设计报告
1、概述
1.1摘要:
本文介绍了一种基于单片机的简易数字压力计的设计。
该设计主要由三个模块组成:
A/D转换模块,数据处理模块及显示模块。
A/D转换主要由芯片ADC0808来完成,它负责把压力计(该设计中以滑阻代替)的模拟量转换为相应的数字量在传送到数据处理模块。
数据处理则由芯片AT89C51来完成,其负责把ADC0808传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块(7SEG-MPX4-CA-BLUE)进行显示;此外,它还控制着ADC0808芯片工作。
该系统的压力计电路设计简单,所用的元件较少,成本低,且测量精度和可靠性较高。
此压力计可以通过电压和压力的关系通过测量0-5V的1路模拟直流输入电压值,按一定关系转化成对应的压力值,并通过一个四位一体的7段数码管(7SEG-MPX4-CA-BLUE)显示出来。
1.2背景和简介:
近年来,随着微型计算机的发展,他的应用在人们的工作和日常生活中越来越普遍。
工业过程控制是计算机的一个重要应用领域。
其中由单片机构成的嵌入式系统已经越来越受到人们的关注。
现在可以毫不夸张的说,没有微型计算机的仪器不能称为先进的仪器,没有微型计算机的控制系统不能称其为现代控制系统的时代已经到来。
压力测量对实时监测和安全生产具有重要的意义。
在工业生产中,为了高效、安全生产,必须有效控制生产过程中的诸如压力、流量、温度等主要参数。
由于压力控制在生产过程中起着决定性的安全作用,因此有必要准确测量压力。
为了测到不同位置的压力值,本次设计为基于单片机的压力测量系统。
通过压力传感器将需要测量的位置的压力信号转化为电信号,送至8位A/D转换器,然后将模拟信号转换成单片机可以识别的数字信号,再经单片机转换成LED显示器可以识别的信息,最后显示输出。
基于单片机的压力检测系统,选择的单片机是基于AT89C51单片机的测量与显示,将压力经过压力传感器(该设计以滑阻替代)变为电信号,然后进入A/D转换器(ADC0808)将模拟量转换为数字量。
1.3整体设计方案:
本次设计是以单片机为主组成的压力测量,系统中必须有前向通道作为电信号的输入通道,用来采集输入信息。
压力的测量,需要传感器,利用传感器将压力转换成电信号后,再经A/D转换(ADC0808)为数字量后才能由计算机进行有效处理。
然后用LED进行显示。
它的原理图如图1.1所示。
图1.1压力计原理方框图
我们这次主要做的是压力计的设计(A/D转换ADC0808,传感器,,单片机AT89C51,显示器)根据硬件电路编程,调试出来并显示结果。
2、硬件电路的设计:
2.1硬件设计框图
图2.1硬件设计框图
2.2复位电路:
在单片机系统中,复位电路是非常关键的,当程序跑飞(运行不正常)或死机(停止运行)时,就需要进行复位。
MCS-5l系列单片机的复位引脚RST(第9管脚)出现2个机器周期以上的高电平时,单片机就执行复位操作。
复位完成后,如果RST端继续保持高电平,MCS-51就一直处于复位状态,只要RST恢复低电平后,单片机才能进入其他工作状态。
单片机的复位方式有上电自动复位和手动复位两种。
2.3数据处理:
(单片机系统)
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含有4KB的可反复擦写的只读程序存储器和128字节的随机存储器。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容,由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,它为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51功能性能:
与MCS-51成品指令系统完全兼容;4KB可编程闪速存储器;寿命:
1000次写/擦循环;数据保留时间:
10年;全静态工作:
0-24MHz;三级程序存储器锁定;128*8B内部RAM;32个可编程I/O口线;2个16位定时/计数器;5个中断源;可编程串行UART通道;片内震荡器和掉电模式。
图2.2AT89C51的引脚图
AT89C51芯片的各引脚功能为:
P0口:
这组引脚共有8条,P0.0为最低位。
这8个引脚有两种不同的功能,分别适用于不同的情况,第一种情况是AT89C51不带外存储器,P0口可以为通用I/O口使用,P0.0-P0.7用于传送CPU的输入/输出数据,这时输出数据可以得到锁存,不需要外接专用锁存器,输入数据可以得到缓冲,增加了数据输入的可靠性;第二种情况是AT89C51带片外存储器,P0.0-P0.7在CPU访问片外存储器时先传送片外存储器的低8位地址,然后传送CPU对片外存储器的读/写数据。
P0口为开漏输出,在作为通用I/O使用时,需要在外部用电阻上拉。
P1口:
这8个引脚和P0口的8个引脚类似,P1.7为最高位,P1.0为最低位,当P1口作为通用I/O口使用时,P1.0-P1.7的功能和P0口的第一功能相同,也用于传送用户的输入和输出数据。
P2口:
这组引脚的第一功能与上述两组引脚的第一功能相同即它可以作为通用I/O口使用,它的第一功能和P0口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但并不是像P0口那样传送存储器的读/写数据。
P3口:
这组引脚的第一功能和其余三个端口的第一功能相同,第二功能为控制功能,每个引脚并不完全相同,如下表1所示:
P3口各位
第二功能
P3.0
RXT(串行口输入)
P3.1
TXD(串行口输出)
P3.2
/INT0(外部中断0输入)
P3.3
/INT1(外部中断1输入)
P3.4
T0(定时器/计数器0的外部输入)
P3.5
T1(定时器/计数器1的外部输入)
P3.6
/WR(片外数据存储器写允许)
P3.7
/RD(片外数据存储器读允许)
表2.1P3口各位的第二功能
Vcc为+5V电源线,Vss接地。
ALE:
地址锁存允许线,配合P0口的第二功能使用,在访问外部存储器时,AT89C51的CPU在P0.0-P0.7引脚线去传送随后而来的片外存储器读/写数据。
在不访问片外存储器时,AT89C51自动在ALE线上输出频率为1/6震荡器频率的脉冲序列。
该脉冲序列可以作为外部时钟源或定时脉冲使用。
/EA:
片外存储器访问选择线,可以控制AT89C51使用片内ROM或使用片外ROM,
若/EA=1,则允许使用片,在访问片外ROM时,AT89C51自动在/PSEN线上产生一个负脉冲,作为片外R内ROM,若/EA=0,则只使用片外ROM。
/PSEN:
片外ROM的选通线OM芯片的读选通信号。
RST:
复位线,可以使AT89C51处于复位(即初始化)工作状态。
通常AT89C51复位有自动上电复位和人工按键复位两种。
XTAL1和XTAL2:
片内震荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接AT89C51片内OSC(震荡器)的定时反馈回路。
2.4显示系统:
在应用系统中,设计要求不同,使用的LED显示器的位数也不同,因此就生产了位数,尺寸,型号不同的LED显示器供选择,在本设计中,选择4位一体的数码型LED显示器(7SEG-MPX4-CC-BLUE)。
7SEG-MPX4-CC-BLUE显示器引脚如图9所示,是一个共阴极接法的4位LED数码显示管,其中a,b,c,e,f,g为4位LED各段的公共输出端,1、2、3、4分别是每一位的位数选端,dp是小数点引出端,4位一体LED数码显示管的内部结构是由4个单独的LED组成,每个LED的段输出引脚在内部都并联后,引出到器件的外部。
图2.3(七段数码管-4位-共阴)数码管引脚接线图
对于这种结构的LED显示器,它的体积和结构都符合设计要求,由于4位LED阴极的各段已经在内部连接在一起,所以必须使用动态扫描方式(将所有数码管的段选线并联在一起,用一个I/O接口控制P2口)显示。
LED译码方式
译码方式是指由显示字符转换得到对应的字段码的方式,对于LED数码管显示器,通常的译码方式有硬件译码和软件译码方式两种。
硬件译码是指利用专门的硬件电路来实现显示字符码的转换。
软件译码就是编写软件译码程序,通过译码程序来得到要显示的字符的字段码,译码程序通常为查表程序。
本设计系统中为了简化硬件线路设计,LED译码采用软件编程来实现。
由于本设计采用的是共阴极LED,其对应的字符和字段码如下表2所示。
显示字符
共阴极字段码
0
3FH
1
06H
2
5BH
3
4FH
4
66H
5
6DH
6
7DH
7
07H
8
7FH
9
6FH
表2.2共阴极字段码表
引脚
功能
A、B、C、D、E、F、G、DP
数据输入端
1
千位位选(本设计未使用)
2
百位位选
3
十位位选
4
个位位选
图2.4七段四位数码管引脚功能
2.5A/D转换电路:
逐次逼近型A/D转换既照顾了转换速度,又具有一定的精度,这里选用的是逐次逼近型的A/D转换芯片ADC0808
2.6压力传感器的选择(本设计采用滑阻代替压力传感器)
压力传感器是压力检测系统中的重要组成部分,由各种压力敏感元件将被测压力信号转换成容易测量的电信号作输出,给显示仪表显示压力值,或供控制和报警使用。
力学传感器的种类繁多,如电阻应变片压力传感器、半导体应变片压力传感器、压阻式压力传感器、电感式压力传感器、电容式压力传感器谐振式压力传感器及电容式加速度传感器等。
而电阻应变式传感器具有悠久的历史。
由于它具有结构简单、体积小、使用方便、性能稳定、可靠、灵敏度高动态响应快、适合静态及动态测量、测量精度高等诸多优点,因此是目前应用最广泛的传感器之一。
电阻应变式传感器由弹性元件和电阻应变片构成,当弹性元件感受到物理量时,其表面产生应变,粘贴在弹性元件表面的电阻应变片的电阻值将随着弹性元件的应变而相应变化。
通过测量电阻应变片的电阻值变化,可以用来测量位移加速度、力、力矩、压力等各种参数。
2.7单片机最小系统设计
单片机最小系统或者称最小应用系统,是指用最少的原件组成的单片机可以工作的系统。
该设计的最小系统包括单片机(AT89C51)、晶振电路、复位电路。
图2.5晶振电路图2.6复位电路
2.8模数转换电路设计
模拟量输入通道的任务是将模拟量转换成数字量。
能够完成这一任务的器件称之为模数转换器,简称A/D转换器。
本次设计的中A/D转换器(ADC0808)的任务是将压力传感器输出的模拟信号转换位数字量进行输出。
ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。
其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。
(备注:
ADC0808是ADC0809的简化版本,功能基本相同。
一般在硬件仿真时采用ADC0808进行A/D转换,实际使用时采用ADC0809进行A/D转换。
)
2.8.1内部结构
ADC0808是CMOS单片型逐次逼近式A/D转换器,它有8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器。
逐次逼近型寄存器,定时和控制电路和三态输出锁存器等组成,其内部结构如图2.7所示。
图2.7ADC0808的内部结构
地址码
对应的输入通道
23(ADDA)
24(ADDB)
25(ADDC)
0
0
0
IN0
0
0
1
IN1
0
1
0
IN2
0
1
1
IN3
1
0
0
IN4
1
0
1
IN5
1
1
0
IN6
1
1
1
IN7
表2.3通道选择
图2.8ADC0808管脚图
2.8.2ADC0808引脚功能(外部特性)
ADC0808芯片有28条引脚,采用双列直插式封装,如右图所示。
各引脚功能如下:
1~5和26~28(IN0~IN7):
8路模拟量输入端。
8、14、15和17~21:
8位数字量输出端。
22(ALE):
地址锁存允许信号,输入高电平有效。
6(START):
A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。
7(EOC):
A/D转换结束信号,输出当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
9(OE):
数据输出允许信号,输入高电平有效。
当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
10(CLK):
时钟脉冲输入端。
要求时钟频率不高于640KHZ。
12(VREF(+))和16(VREF(-)):
参考电压输入端。
11(Vcc):
主电源输入端。
13(GND):
地。
23~25(ADDA、ADDB、ADDC):
3位地址输入线,用于选通8路模拟输入中的一路
2.8.3输出端注意:
Out8为最低位out1为最高位,out8-out1分别接单片机的P0.0到P0.7端。
图2.9设计接线图
2.9显示电路设计
由于单片机的并行口不能直接驱动LED显示器,所以,在一般情况下,必须采用专用的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作。
如果驱动电路能力差,即负载能力不够时,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏,因此,LED显示器的驱动电路设计是一个非常重要的问题。
为了简化数字式压力计的电路设计,在LED驱动电路的设计上,可以利用单片机P0口上外接的上拉电阻来实现,即将LED的A-G段显示引脚和DP小数点显示引脚并联到P0口与上拉电阻之间,这样,就可以加大P0口作为输出口的驱动能力,使得LED能按照正常的亮度显示出数字。
图2.9.1显示电路设计
3、软件部分的设计:
3.1主程序框图
图3.1主程序框图
3.2总体流程图
图3.2总体流程图
3.3软件设计(程序代码)
#include
#defineuintunsignedint
#defineucharunsignedchar
uchar
codetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//七段共阴数码管编码表
sbitSTART=P3^0;
sbitEOC=P3^1;
sbitOE=P3^2;
voiddelay(uintm)//LED显示延时子程序
{
while(m--);
}
delay1(uintc)//循环间隔延时C毫秒子程序
{
uchara,b;
for(;c>0;c--)
for(b=142;b>0;b--)
for(a=2;a>0;a--);
}
voidfun1(uinti)//AD转换及数据处理子程序
{
uintP;
externuintPP;//定义全局变量PP
START=1;
START=0;
while(i>0)//fun1只执行i次
{
if(i>0)
{
OE=1;//转换结束输出使能
P=P0;//AD转换结果赋给P
P=P*1.0/255*207;//完成对应关系的电压——压力的转换
OE=0;//停止输出
P2=0xfe;//个位位选
P1=table[P%10];//个位段选
delay(500);//个位显示延时约1ms
P2=0xfd;//十位位选
P1=table[P/10%10];//十位段选
delay(500);//十位显示延时约1ms
P2=0xfb;//百位位选
P1=table[P/100%10];//百位段选
delay(500);//百位显示延时约1ms
}
}
}
voidmain()//主程序
{
START=0;//初始时不进行AD转换
OE=0;
while
(1)//死循环
{
fun1
(1);//调用一次转换子程序
}
}
4、仿真及数据分析
4.1仿真界面图
图4.1仿真界面图
4.2数据分析
电压表示数(V)
65.6
67.3
73.4
76.8
81.1
85.6
89.9
103.1
显示器示数(kpa)
66
67
73
77
81
86
90
103
5、小结
经过一段时间的努力,课程设计——压力机的设计终于完成了。
但设计中的不足之处仍然存在。
这次设计是我第一次设计电路,并用Proteus实现了仿真。
在这过程中,我对电路设计,单片机的使用等都有了新的认识。
通过这次设计学会了Proteus和Keil软件的使用方法,掌握了从系统的需要、方案的设计、功能模块的划分、原理图的设计和电路图的仿真的设计流程,积累了不少经验。
基于单片机的数字压力计使用性强、结构简单、成本低、外接元件少。
在实际应用工作应能好,测量压力准确,精度高。
系统功能、指标达到了课题的预期要求、系统在硬件设计上充分考虑了可扩展性,经过一定的改造,可以增加功能。
本文设计主要实现了简易数字压力计测量一路压力的功能,详细说明了从原理图的设计、电路图的仿真再到软件的调试。
通过本次设计,我对单片机这门课有了进一步的了解。
无论是在硬件连接方面还是在软件编程方面。
本次设计采用了AT89C51单片机芯片,与以往的单片机相比增加了许多新的功能,使其功能更为完善,应用领域也更为广泛。
设计中还用到了模/数转换芯片ADC0808,以前在学单片机课程时只是对其理论知识有了初步的理解。
通过这次设计,对它的工作原理有了更深的理解。
在调试过程中遇到很多问题,硬件上的理论知识学得不够扎实,对电路的仿真方面也不够熟练。
总之这次电路的设计和仿真,基本上达到了设计的功能要求。
在以后的实践中,我将继续努力学习电路设计方面的理论知识,并理论联系实际,争取在电路设计方面能有所提升。
6、参考文献
1、边春远等著.MCS-51单片机应用开发实用子程序[M].北京:
人民邮电出版社。
2005年9月。
2、宋凤娟,孙军,李国忠.基于89C51单片机的数字电压表设计[J].工业控制计算机。
3、《单片机课程设计指导》楼然苗编著北京航空航天大学出版社。
4、《单片微型机原理应用与实验》张友德编著 复旦大学出版社。
5、《单片机嵌入式应用的在线开发方法》邵贝贝编著清华大学出版社。
6、《传感器应用设计300例》张洪润编著北京航空航天大学出版社。
7、传感器原理与检测技术》钱显毅主编机械工业出版社。
8、2007,(04)《单片机的C语言程序设计及应用》姜志海主编电子工业出版社。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 压力机 设计 报告