毕业设计基于单片机的电子称设计文档格式.docx
《毕业设计基于单片机的电子称设计文档格式.docx》由会员分享,可在线阅读,更多相关《毕业设计基于单片机的电子称设计文档格式.docx(24页珍藏版)》请在冰点文库上搜索。
本次设计要求在在温度、压力、流量、机械量(含位移、速度、加速度等)、液位、组分、成等常见参数中,选择有工程应用价值的一个或几个参数作为本课程设计要构造的检测系统的被测参数。
那么,选择最常用的测量量比较合适。
我们选择测压力,传感器选择应用最广泛的电阻应变式传感器。
其后是放大器。
差动放大电路的作用就是把传感器输出的微弱的模拟信号进行一定倍数的放大,以满足A/D转换器对输入信号电平的要求。
A/D转换的作用是把模拟信号转变成数字信号,进行模数转换,然后把数字信号输送到显示电路中去,最后由显示电路显示出测量结果。
本次设计是以设计电子称为基础的,以下是总体方案图
图1-1总体方案图
整个系统由测量电桥,信号调理电路,A/D转换器,单片机,显示器组成。
首先利用由电阻应变式传感器组成的测量电路测出物质的重量信号,以模拟信号的方式输出。
经过了信号调理电路把传感器输出的微弱信号进行一定倍数的放大,滤波,然后送A/D转换电路中。
再由A/D转换电路把接收到的模拟信号转换成数字信号,传送到单片机后进行调整,最后由显示电路显示数据。
具体方案如下:
图1-2具体方案图
2传感器的选择
2.1测量原理分析
电阻应变式传感器简称电阻应变计。
当将电阻应变计用特殊胶剂粘在被测构件的表面上时,则敏感元件将随构件一起变形,其电阻值也随之变化,而电阻的变化与构件的变形保持一定的线性关系,进而通过相应的二次仪表系统即可测得构件的变形。
通过应变计在构件上的不同粘贴方式及电路的不同联接,即可测得重力、变形、扭矩等机械参数
由物理学已知,一根金属丝的电阻为:
(2-1)
在金属丝的弹性范围内:
△R/R=Kεx(2-2)
式中:
Ks——金属丝的灵敏系数
εx——金属丝的应变
以下为金属应变片的结构:
图2-1金属应变片结构图
如图所示为丝绕式应变片的构造示意图。
它以直径为0.025mm左右的、高电阻率的合金的电阻丝,绕成形如栅状的敏感栅。
敏感栅为应变片的敏感元件,它的作用是感应应变变化。
敏感栅粘贴在基片上。
基片除能固定敏感栅之外,还有绝缘的作用;
敏感栅上面粘贴有覆盖层。
敏感栅电阻丝两端焊接引出线,用来和外接导线连接。
本设计需要4个应变片,它们的分布如下图:
图2-2应变片粘贴示意图
作用力F与某一位置处的应变关系可按下式计算:
(2-3)
式中:
——距自由端为
处的应变值;
——梁的长度;
E——梁的材料弹性模量;
A——梁的截面积;
h——梁的厚度。
在此传感器选用在双孔悬壁梁式称重传感器。
双孔悬臂梁式称重传感器是电子计价秤中广泛使用的传感器。
这种传感器的弹性体具有上下两个平行梁。
它的最大特点就是具有抗偏载的力学特性。
也就是说,弹性体的应变量ε只取决于作用在弹性体平面内且与轴线相垂直的力分量,而与其他分量无关。
型号选择cb004,以为是它的有关参数:
产品类型:
CB004系列;
结构特点:
铝合金;
应用领域:
定量包装秤和配料秤等功能特点:
体积小,质量轻,精度高
额定载荷:
0~100Kg
2.2应变电桥
应变片由于温度变化引起的电阻变化与试件应变所造成的电阻变化几乎有相同的数量级,如果不采取必要是措施克服温度的影响,测量精度无法保证,可采用电桥电路补偿。
当贴有电阻应变片的弹性平衡梁受到载荷F作用时,电阻应变片R1和R3受到拉伸作用,阻值增加;
R2和R4受到压缩作用,阻值减小,电桥失去平衡,产生的不平衡电压U的大小与所受作用力F成正比。
电桥的输出电压反映了电阻应变片相应的受力状态。
图2-3电桥电路图
电桥电路是最常用的非电量电测电路中的一种,当电桥平衡时,桥路对臂电
阻乘积相等,电桥输出为零,在桥臂四个电阻R1、R2、R3、R4中,电阻的相对变化率分别为△R1/R1、△R2/R2、△R3/R3、△R4/R4,当使用一个应变片时,;
当二个应变片组成差动状态工作,则有;
用四个应变片组成二个差动对工作,且R1=R2=R3=R4=R,
图2-4应变电桥
当电桥后面接放大器时,放大器的输入阻抗都很高,比电桥的输出电阻大很多,因此可以把电桥输出端看成是开路。
若电桥不平衡时,即R1R3≠R2R4时,电桥输出:
恰好选择各桥臂电阻,可消除电桥的恒定输出,使输出电压只与应变片输出有关。
令R1=R2,R3=R4,在应变片工作时,其电阻R1变化△R,此时电桥的灵敏度为:
ku=U/4
电压输出为:
UO=(U/4)(△R1/R1)
3信号调理电路的设计
3.1放大电路
本次设计中,要求用一个放大电路。
在许多需要用A/D转换和数字采集的单片机系统中,多数情况下,传感器输出的模拟信号都很微弱,必须通过一个模拟放大器对其进行一定倍数的放大,才能满足A/D转换器对输入信号电平的要求,在此情况下,就必须选择一种符合要求的放大器。
仪表仪器放大器的选型很多,我们这里介绍一种用途非常广泛的仪表放大器。
来自传感器的信号通常都伴随着很大的共模电压(包括干扰电压)。
一般采用差动输入集成运算放大器来抑制它,但是必须要求外接电阻完全平衡对称,运算放大器才具有理想特性。
否则,放大器将有共模误差输出,其大小既与外接电阻对称精度有关,又与运算放大器本身的共模抑制能力有关。
一般运算放大器共模抑制比可达80dB,而采用由几个集成运算放大器组成的测量放大电路,共模抑制比可达100~120dB。
结合以上几点,采用了低漂移运算放大器构成的双运放高共模抑制比放大电路。
具体的电路如图所示:
图3-1同相串联型双运放高共模抑制比放大电路
共模电压Uic=(Ui1+Ui2)/2
差模电压Uid=Ui2-Ui1
UO=(1-
R3
R4
)
UiC
+1/2(1+
2R4
+
)Uid
R1
R2
若,则上式第一项为零,较好抑制了共模信号.
差模增益:
Kd=(1+Rf/R),本电路的特点是输入阻抗高.
3.2滤波电路
滤波器是具有频率选择作用的电路或运算处理系统,具有滤除噪声和分离各种不同信号的功能。
传感器过来的信号经常带有各种各样的干扰,因此要采用滤波电路来去除干扰。
综合考虑,采用低通滤波器,
增益:
Kp=R4/R3
图3-2低通滤波器
4A/D转换
A/D转换的作用是进行模数转换,把接收到的模拟信号转换成数字信号输出。
在选择A/D转换时,先要确定A/D转换的位数,该设计运用的是8位A/D转换器ADC0809,A/D转换误的位数确定与整个测量控制系统所需测量控制的范围和精度有关,系统精度涉及的环节很多,包括传感器的变换精度,信号预处理电路精度A/D转换器以及输出电路等。
4.1ADC0809芯片介绍
关于ADC0809的介绍:
ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图13.22所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型D/A转换器、逐次逼近,寄存器、三态输出锁存器等其它一些电路组成。
因此,ADC0809可处理8路模拟量输入,且有三态输出能力,既可与各种微处理器相连,也可单独工作。
输入输出与TTL兼容。
主要特性:
1)8路8位A/D转换器,即分辨率8位。
2)具有转换起停控制端。
3)转换时间为100μs
4)单个+5V电源供电
5)模拟输入电压范围0~+5V,不需零点和满刻度校准。
6)工作温度范围为-40~+85摄氏度
7)低功耗,约15mW。
图4-1ADC0809管脚图
对ADC0809主要信号引脚的功能说明如下:
IN7~IN0——模拟量输入通道
ALE——地址锁存允许信号。
对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。
START——转换启动信号。
START上升沿时,复位ADC0809;
START下降沿时启动芯片,开始进行A/D转换;
在A/D转换期间,START应保持低电平。
本信号有时简写为ST.
A、B、C——地址线。
通道端口选择线,A为低地址,C为高地址,引脚图中为ADDA,ADDB和ADDC。
其地址状态与通道对应关系见表9-1。
CLK——时钟信号。
ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。
通常使用频率为500KHz的时钟信号
EOC——转换结束信号。
EOC=0,正在进行转换;
EOC=1,转换结束。
使用中该状态信号即可作为查询的状态标志,又可作为中断请求信号使用。
D7~D0——数据输出线。
为三态缓冲输出形式,可以和单片机的数据线直接相连。
D0为最低位,D7为最高
OE——输出允许信号。
用于控制三态输出锁存器向单片机输出转换得到的数据。
OE=0,输出数据线呈高阻;
OE=1,输出转换得到的数据。
Vcc——+5V电源。
Vref——参考电源参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。
其典型值为+5V(Vref(+)=+5V,Vref(-)=-5V).
4.2MCS-51单片机与ADC0809的接口电路
ADC0809与MCS-51单片机的连接如图所示:
电路连接主要涉及两个问题。
一是8路模拟信号通道的选择,二是A/D转换完成后转换数据的传送。
图4-2ADC0809与MCS-51的连接
A/D转换完成数据的输送
A/D转换后得到的是数字量的模拟量,这些数据应传诵给单片机进行处理。
数据串的关键是如何确定A/D转换完成。
因为只有确定数据转换完成后,才进行传送。
为此可采用以下三种方式:
1定时传送方式:
对于一种A时子程序。
A/D转换启动后,就调动这个子程序,延迟时间一到,转换肯定已经完成了。
接着,就可以进行数据传送/D转换来说,转换时间作为一项技术指标是已知的和固定的。
例如ADC0809转换时间为128us,相当于6MHZ的MCS-51单片机共60个机器周期。
可根据此设计一个延了。
2查询方式
A/D转换芯片表明有转换完成的状态信号,例如ADC0809的E端,因此可以通过查询方式用软件测试EOC的状态,即可知道转换是否完成,若完成,则接着进行数据传送。
3中断方式
中断方式ADC0809与8031的中断方式接口电路只需将0809的EOC端经过一非门连接到8031的INTl端即可。
采用中断方式可大大节省CPU的时间,当转换结束时,EOC发出一个脉冲向单片机提出中断请求,单片机响应中断请求,由外部中断1的中断服务程序读A/D结果,并启动0809的下一次转换,外部中断1采用边沿触发方式。
程序如下:
INITl:
SETBITl;
外部中断1初始化编程
SETBEA
SETBEXl
MOVDPTR,#7FF8H;
启动0809对IN0通道转换
MOVX@DPTR,A
读取A/D结果送缓冲单元30H
MOVXA,@DPTR
MOV30H,A
MOVX@DPTR,A;
启动0809对IN0通道下一次转换
RETI
不管使用上述那种方式,一旦确定转换完成,即可通过指令进行数据传送,首先送出口地址,并以RD做选通信号,OE信号即有效,把转换数据送上数据总线,供单片机接受。
A/D转换程序:
ORG0000H
MOVDPTR,#0FEF8H;
AD转换IN0通道地址
MOVA,#00H
MOVX@DPTR,A;
启动AD转换
START:
CLRST
SETBST
CLRST
JNBEOC
SETBOE
MOV30H,P2
CLROE
MOVA,30H
MOVB,#100
DIVAB
LOOP:
MOVBAI,A
MOVSHI,B
MOVA,SHI
MOVB,#10
MOVSHI,A
MOVGEWEI,B
MOVA,BAI
MOVP1,A
CLRP3.2
LCALLDELAY
SETBP3.2
MOVA,SHI
CLRP3.1
SETBP3.1
MOVA,GEWEI
MOVP1,A
CLRP3.0
SETBP3.0
SJMPSTART
5单片机的选择
根据对单片机种类的认识,本系统选用51系列单片机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)两种封装形式。
图5-1单片机89C51管脚图
Vss(20脚):
接地
VCC(40脚):
主电源+5V
XTAL1(19脚):
接外部晶体的一端。
在片内它是振荡电路反相放大器的输入端。
在采用外部时钟时,对于HMOS单片机,该端引脚必须接地;
对于CHMOS单片机,此引脚作为驱动端。
XTAL2(18脚):
接外部晶体的另一端。
在片内它是一个振荡电路反相放大器的输出端,振荡电路的频率是晶体振荡频率。
若需采用外部时钟电路,对于HMOS单片机,该引脚输入外部时钟脉冲;
对于CHMOS单片机,此引脚应悬浮。
RST(9脚):
单片机刚接上电源时,其内部各寄存器处于随机状态,在该脚输入24个时钟周期宽度以上的高电平将使单片机复位(RESET)
PSEN(29脚):
在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。
CPU在向片外存储器取指令期间,PSEN信号在12个时钟周期中两次生效。
不过,在访问片外数据存储器时,这两次有效PSEN信号不出现。
PSEN端同样可驱动8个LSTTL负载。
我们根据PSEN、ALE和XTAL2输出端是否有信号输出,可以判别80C51是否在工作。
ALE/PROG(30脚):
在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。
EA/VPP(31脚):
当EA端输入高电平时,CPU从片内程序存储器地址0000H单元开始执行程序。
当地址超出4KB时,将自动执行片外程序存储器的程序。
当EA输入低电平时,CPU仅访问片外程序存储器。
在对87C51EPROM编程时,此引脚用于施加编程电压VPP。
输入/输出引脚:
(1)P0.0—P0.7
(39脚—32脚)
(2)P1.0—P1.7
(1脚—8脚)
(3)P2.0—P2.7
(26脚—21脚)
(4)P3.0—P3.7
(10脚—17脚)
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
P3口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
表5-1单片机89C51主要功能特性
主要功能特性:
·
标准MCS-51内核和指令系统
4kB内部ROM(外部可扩展至64kB)
32个可编程双向I/O口
128x8bit内部RAM(可扩充64kB外部存储器)
2个16位可编程定时/计数器
时钟频率0-16MHz
5个中断源
5.0V工作电压
可编程全双工串行通信口
布尔处理器
2层优先级中断结构
电源空闲和掉电模式
快速脉冲编程
2层程序加密位
PDIP和PLCC封装形式
兼容TTL和CMOS逻辑电平
6显示单元
用80C51串行口外接74LS164扩展8位并行输出口,如图所示,8位并行口的各位都接一个发光二极管,要求发光管呈流水灯状态。
串行口方式0的数据传送可采用中断方式,也可采用查询方式,无论哪种方式,都要借助于TI或RI标志。
串行发送时,可以靠TI置位(发完一帧数据后)引起中断申请,在中断服务程序中发送下一帧数据,或者通过查询TI的状态,只要TI为0就继续查询,TI为1就结束查询,发送下一帧数据。
在串行接收时,则由RI引起中断或对RI查询来确定何时接收下一帧数据。
无论采用什么方式,在开始通讯之前,都要先对控制寄存器SCON进行初始化。
在方式0中将,将00H送SCON就可以了。
芯片介绍:
74LS164是8位移位寄存器(串行输入,并行输出)。
当清除端(CLEAR)为低电平时,输出端(QA-QH)均为低电平。
串行数据输入端(A,B)可控制数据。
当A、B任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0为低电平。
当A、B有一个为高电平,则另一个就允许输入数据,并在CLOCK上升沿作用下决定Q0的状态。
引出端符号CLOCK时钟输入端CLEAR同步清除输入端(低电平有效)A,B串行数据输入端QA-QH输出端
图6-174LS164引脚图
表6-1真值表
显示电路图:
图6-2显示电路图
多位LED显示时,常将所有位的段选线并联在一起,由一个8位I/O口控制,而共阴极点或共阳极点分别由另一个8位I/O口控制;
也可采用并行扩展口构成显示电路,通常,需要扩展器件管脚的较多,价格较高。
图所示是该电路的硬件原理图。
其中,74LS164是8位并行输出门控串行输入移位寄存器,LED采用L05F型共阴极数码管。
显示时,其显示数据以串行方式从89C51的P3.0口输出送往移位寄存器74LS164的A、B端,然后将变成的并行数据从输出端Q0~Q7输出,以控制开关管WT1~WT8的集电极,然后再将输出的LED段选码同时送往数码管LED1~LED8。
这样,8个数码管便以100ms的时间间隔轮流显示。
由于人眼的残留效应,这8个数码管看上去几乎是同时显示。
显示程序:
START:
CLRA;
熄灭显示器
MOVP1,A
MOVRo,#20H
MOVA,@Ro;
显示个位
MOVA,#0FH
MOVA,#20H
ACALLDMS
INCRo
MOVA,@Ro
MOVA,#40H;
显示百位
MOV