片单机课程设计电阻量测量.docx
《片单机课程设计电阻量测量.docx》由会员分享,可在线阅读,更多相关《片单机课程设计电阻量测量.docx(22页珍藏版)》请在冰豆网上搜索。
![片单机课程设计电阻量测量.docx](https://file1.bdocx.com/fileroot1/2022-11/16/11bf90d9-6237-44e1-917f-662d9d737286/11bf90d9-6237-44e1-917f-662d9d7372861.gif)
片单机课程设计电阻量测量
电阻量测量
摘要
本设计基于单片机和AD转换器实现电阻的测量。
采用ADC0808,实现由模拟电压转换到数字信号,通过单片机系统AT89C51处理后,由LCD显示器显示被测量电阻的阻值。
测量范围为1Ω~5KΩ,精度大于98%。
其中稳压电源采用的是三端集成稳压器7805构成的正5V直流电源,对单片机、A/D转换器、LCD显示器供电。
本设计从硬件和软件两部分入手,其中硬件分为数据采集、模数转换、数据显示三个模块。
数据采集通过我们对两方案的分析与对比,决定采用桥式法测量被测电阻电压,A/D转换器使用常见的仿真器件ADC0808,数据显示使用LCD1602。
硬件设计完成后,用Keil编程,编写每个模块的程序。
接着使用Proteus对设计的硬件进行仿真,记录数据并进行了分析,得出误差小,测量范围大的结论。
最后使用AltiumDesigner绘制仿真电路的原理图和PCB板。
关键词:
AT89C51单片机,Proteus仿真,数据处理
目录
第一章绪论1
第二章总体设计2
§2.1总体设计思路2
第三章硬件设计5
§3.1直流稳压电源电路的设计5
§3.2电压测量的设计5
§3.3模数ADC转换的设计7
§3.4液晶显示电路的设计7
第四章软件设计11
§4.1主程序工作流程图11
§4.2程序设计11
第五章软件仿真12
§5.1Protues仿真图12
§5.2AltiumDesigner原理图14
第六章设计结论16
参考文献17
附录19
第一章绪论
随着现代科技的飞速发展,生产生活中人们对工具的要求越来越高。
其中对我们日常所使用的电阻表的精度和性能也要求越来越高,并且电阻表完全可以通过现代科技来实现智能化,测量不同阻值的电阻。
测量不同阻值的电阻时,可以更换档位。
并且同时显示出阻值和量程。
目前市面上测量电子元器件参数R的仪表种类较多,方法和优缺点也各有不同。
一般的测量方法都存在计算复杂,不易实现自动测量而且很难实现智能化等缺点。
将电阻参数转化为电压形式,并通过模数转换,这样处理一方面使测量精度提高了,另一方面也便于使仪表实现智能化,并能很好的实现各个要求。
本设计从硬件和软件两部分入手,其中硬件分为数据采集、模数转换、数据显示三个模块。
数据采集我们采用桥式法测量被测电阻电压,A/D转换器使用常见的仿真器件ADC0808,数据显示使用LCD1602。
硬件设计完成后用Keil编程,具体程序在正文当中,最后对设计的电路进行仿真,记录显示数据和实际数据,并进行数据对比,得出结论。
第二章总体设计
§2.1总体设计思路
本设计包括硬件和软件设计两个部分。
模块划分为电压测量(数据采集)、模数转换、阻值显示等子模块。
电路结构可划分为:
电压测量,电压转换电阻,阻值显示及相关的控制管理软件组成。
用户终端完成信息采集、处理、数据传送、显示等功能。
从设计的要求来分析该设计须包含如下结构:
电压测量电路,电压转换电路,阻值显示电路、单片机及相关的控制软件组成。
A/D转换器:
ADC0809是很常用的一款8位的模数转换芯片。
而ADC0808是0809的简化版,主要的不同点是0808的转换输出out0-7与常用的输出端高低位是相反的,即0809的最低位是out0,0808的最低位是out7.ADC0808在实际中不常用,实际中常用的是0809,而0808最常用的是在proteus仿真里面,因为0809是没有模型库,无法仿真的。
ADC0808和ADC0809除精度略有差别外(前者精度为8位、后者精度为7位),其余各方面完全相同。
它们都是CMOS器件,不仅包括一个8位的逐次逼近型的ADC部分,而且还提供一个8通道的模拟多路开关和通道寻址逻辑,因而有理由把它作为简单的“数据采集系统”。
利用它可直接输入8个单端的模拟信号分时进行A/D转换,在多点巡回检测和过程控制、运动控制中应用十分广泛。
1)主要技术指标和特性
(1)分辨率:
8位。
(2)总的不可调误差:
ADC0808为±2LSB,ADC0809为±1LSB。
(3)转换时间:
取决于芯片时钟频率,如CLK=500kHz时,TCONV=128μs。
(4)单一电源:
+5V。
(5)模拟输入电压范围:
单极性0~5V;双极性±5V,±10V(需外加一定电路)。
(6)具有可控三态输出缓存器。
(7)启动转换控制为脉冲式(正脉冲),上升沿使所有内部寄存器清零,下降沿使A/D转换开始工作。
(8)使用时不需进行零点和满刻度调节。
2)部分外部引脚介绍
(1)IN0~IN7——8路模拟输入,通过3根地址译码线ADDA、ADDB、ADDC来选通一路。
(2)D7~D0——A/D转换后的数据输出端,为三态可控输出,故可直接和微处理器数据线连接。
8位排列顺序是D7为最高位,D0为最低位。
(3)ADDA、ADDB、ADDC——模拟通道选择地址信号,ADDA为低位,ADDC为高位。
(4)VR(+)、VR(-)——正、负参考电压输入端,用于提供片内DAC电阻网络的基准电压。
在单极性输入时,VR(+)=5V,VR(-)=0V;双极性输入时,VR(+)、VR(-)分别接正、负极性的参考电压。
显示器:
选用LCD1602。
工业字符型液晶,能够同时显示16x02即32个字符。
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。
它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。
特性:
3.3V或5V工作电压,对比度可调;
内含复位电路;
提供各种控制命令,如:
清屏、字符闪烁、光标闪烁、显示移位等多种功能;
有80字节显示数据存储器DDRAM;
内建有192个5X7点阵的字型的字符发生器CGROM;
8个可由用户自定义的5X7的字符发生器CGRAM;
微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中;
操作控制。
它们之间的构成框图如图2-1总体设计框图所示:
图2-1总体设计框图
处理器采用51系列单片机AT89C51。
整个系统是在系统软件控制下工作的。
当测量一个电阻时,经过电压采集,电压转换为电阻,电阻显示三个部分可以在LCD上显示该被测电阻的阻值。
当被测电阻为100Ω范围以内时,通过开关选择测量量程,再次测量该电阻,以减小误差。
第三章硬件设计
§3.1直流稳压电源电路的设计
对于一个完整的电子设计来讲,首要问题就是为整个系统提供电源供电模块,电源电路的稳定可靠是系统平稳运行的前提和基础。
电子设备除用电池供电外,还采用市电(交流电网)供电。
通过变压、整流、滤波和稳压后,得到稳定的直流电。
直流稳压电源是电子设备的重要组成部分!
本项目直流稳压电源为+5V。
如下图所示:
直流稳压电源的制作一般有3种制作形式,分别是分立元件构成的稳压电源、线性集成稳压电源和开关稳压电源。
下图稳压电源采用的是三端集成稳压器7805构成的正5V直流电源。
图3-1三端固定式集成稳压电源电路图
§3.2电压测量的设计
电路的论证与对比
方案一
利用单稳或电容充放电规律等,可以把被测电阻量的大小转换成脉冲的宽窄,即脉冲的宽度Tx与Rx成正比。
只要把此脉冲和频率固定不变的方波(以下称为时钟脉冲)相与,便可以得到计数脉冲,将它送给数字显示器。
如果时钟脉冲的频率等参数合适,便可实现测量电阻。
计数控制电路输出的脉冲宽度Tx应与Rx成正比,其电路原理图及具体555单稳态触发器的构成及仿真如图3-2所示。
图3-2方案一原理图
用555构成的单稳态电路在正常工作条件下输出脉冲的宽度Tx与Rx关系是:
Tx=R*Cx*ln3
所产生的时间误差可能达到百分之十五,再加上其他原因产生的误差,测量是的时间延迟太大。
方案二
用ADC0808电阻测量,以已知的电阻作为基准电阻。
和被测电阻进行分压,分压比例得出电阻比例。
用ACD0808测量电阻时间误差为10%以下,分辨率高,输出能与TTL电平兼容。
其原理图如图所示。
图3-3方案二原理图
方案的对比与比较
由于课程设计的要求是电阻测量需要简单的外围检测电路,将电阻转换为电压。
测试:
误差10%。
通过比较以上两个方案,可知方案二相对来说比较适合。
所以选用方案二作为实验方案。
如图3-4所示为被测电阻电压测量。
电压经过已知电阻R1和被测电阻Rx接到地。
通过OUT输出被测电阻Rx上的电压。
送到ADC0808的IN0口。
图3-4被测电阻电压测量图
§3.3模数ADC转换的设计
由电压测量得到的电压经过ADC模数转换可得到8位的电压值,经过欧姆定律(即电压之比等于电阻之比)可得到被测电阻的阻值的大小。
公式如下
本设计用到的R1的阻值为600Ω和300Ω。
由被测电阻得到的电压经ADC0808的26脚IN0输入,经过内部的AD转换,在OUT1~7输出数字电压量,经过上述公式的转变,在P2口上的显示的数字量为被测电阻的阻值数字量。
如图3-5所示为被测电阻电压量转换为阻值量。
OUT
P2
图3-5被测电阻电压量转换为阻值量图
§3.4液晶显示电路的设计
经过ADC0809模数转换得到的电阻值数字量,在MCU的P2口输入,MCU系统处理后在P0口由LCD1602显示出来该被测电阻的阻值。
如图3-6所示为被测电阻阻值显示。
ADCOUT1~OUT7
图3-6被测电阻阻值显示图
单片机时钟电路的设计:
本系统采用单片机内部方式产生时钟信号,用于外接一个12MHz石英晶体振荡器和2个30pF微调电容,构成稳定的的自激振荡器,其发出的脉冲直接送入内部的时钟电路。
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
因为一个机器周期含有6个状态周期,而每个状态周期为2个振荡周期,所以一个机器周期共有12个振荡周期,如果外接石英晶体振荡器的振荡频率为12MHZ,一个振荡周期为1/12us,故而一个机器周期为1us。
如图3-7所示为时钟电路。
图3-7时钟电路图
单片机复位电路的设计:
确定单片机工作的起始状态,完成单片机的启动过程。
复位方法一般有上电自动复位和外部按键手动复位,单片机在时钟电路工作以后,在RESET端口持续给出2个机器周期的高电平时就可以完成复位操作[6]。
例如使用晶振频率为12MHz时,则复位信号持续时间应不小于2us。
本设计采用的是外部手动按键复位电路。
如图3-8所示为复位电路。
图3-8复位电路图
由时钟电路和复位电路连接的单片机最小系统如下图所示:
图3-9单片机最小系统
系统硬件电路的选择及说明:
硬件电路的设计如上文图中所示,从以上的分析可知本设计中要用到如下器件:
AT89C51、ADC0808转换器、LCD1602、按键等一些单片机外围应用电路,以及单片机的手工复位,单片机电源电路等。
其中R3,R6电阻为已知电阻,R4,R5为不同测量精度下的未知电阻,开始工作时可在LCD上观察到被测电阻的阻值。
电路设有2个按键,S1键作为阻值测量精度的选择键,S2键作为电路复位键。
第四章软件设计
§4.1主程序工作流程图
按上述工作原理和硬件结构分析可知系统主程序流程图如下图所示
无正常显示<300Ω
正常显示