基于单片机的数字万用表的设计(5)

2019-04-10 19:36

图16 电阻-电压变换电路原理图

图16所示电路为电阻测量电路。其中,电阻R13和R14构成一组基准电阻。电路工作时,PNP管Q3的集电极电流IC3是恒定的,R18和R19负责调节IC3的大小。通过接入不同的电阻(R20或R21),可获得不同的倍率的集电极电流IC3,电流通过待测电阻Rx形成电压Vx。通过测量Vx即可获得待测电阻的阻值。经过计算,可知R20分支可测量的最大电阻值为2kΩ,R21分支为20kΩ。而P4端则是作为待测电阻的接口。 3.4.5 模数转换部分

图17 模数转换部分原理图

图17所示为模数转换部分。PCF8591芯片作为ADC芯片,使用I2C总线与单片机通讯,SCL是串行时钟,SDA是串行数据线,输出转换后的数字量。待测模拟量从AIN0进入,其余模拟输入口因本设计不需使用而接地。AGND端是模拟地,接上0Ω电阻,而VDD接上接地电容,有效分割模拟地和数字地,减少高频数字信号的干扰。

16

3.4.6 报警提示部分

3.4.7 单片机最小系统

图18 报警提示部分原理图

声报警。其实质是通过编程使单片机的引脚输出低电平,使Q1导通,蜂鸣器发声。

图19 单片机最小系统

上电复位电路用于单片机复位,配合频率为11.0592MHz的外部震荡电路,作为外部时

如图19所示,本次设计采用STC公司的89C52型单片机作为控制芯片,并采用RC

钟信号,提供单片机片内各种操作的时间基准(张景璐等,2010)。P1.0-P1.3作为按键的

输入线,P1.4及P1.5分别作为ADC芯片I2C总线的时钟线和数据线。P0口作为1602液

图18所示为蜂鸣器驱动电路。当出现测量值超出预定量程时,蜂鸣器会发出“嘀”

17

晶的数据总线,P2.0和P2.1作为1602液晶的控制线,另外P3.7用作控制蜂鸣器。 3.4.8 显示输出部分

图20 显示输出部分原理图

如图20所示,采用1602液晶作为输出显示器,读数更加准确和直观,能显示比数码管更丰富的信息。其中RS和RE为液晶的控制线,DB0-DB7为液晶的数据线,均与单片机的相应I/O口相连。Vo端接上一个10k的电位器再接地,通过调节电位器,可以调节液晶字符显示的明暗度,防止“鬼影”现象的出现。 3.4.9 开关及量程选择部分

图21 开关及量程选择部分原理图

如图21所示,拨码开关S1的左侧三个端口分别接上分压器、分流器、电阻测量电路,使用时拨动不同开关,连通对应的电路,测量不同的物理量。而下面的4个按键,负责通知单片机当前所选的待测物理量及档位,改变液晶显示器数值的输出方式。

18

3.4.10 整体硬件电路

见附录3。 3.5 电路工作过程描述

将相应的控制程序写入单片机是使电路各部分能协调工作,完成既定任务的前提。通过按钮选取要测量的物理值(电压、电流或电阻),然后通过选取合适的量程进行测量,以获得更准确的测量数据。单片机通过I2C总线控制PCF8591芯片,完成A/D转换,并通过该总线读取其输出的数据。单片机根据所选档位和量程对数据进行处理后,送至1602液晶处进行输出。若发生待测信号超出量程的情况,蜂鸣器会立即报警,提示使用者切换更高的量程进行测量。另外,通过单片机的复位按钮,可以对系统进行清零。

4 系统软件设计

4.1 C语言概述

(1)单片机的C语言的特点:

1. 本身不依赖机器硬件系统,方便从其他系统移植程序直接使用(郭天祥,2009); 2. 能方便管理寄存器储存器和数据类型等问题,但对相关的硬件的控制有限; 3. 在较大的程序代码中效率更高,在执行大应用程序时有优势; 4. 程序由若干模块组成,适用于模块化设计和维护;

5. 相比汇编函数,具有良好的可读性和可维护性,减少开发难度;

6. 有丰富的库函数,大大减少用户的编程强度,缩短编程时间及调试时间,提高软件的开发效率;

7. 能在不同类型的机器上使用,具有较好的可移植性。 (2)单片机的C语言与标准C语言的区别:

1. 标准C语言的库函数是按照通用计算机来定义的,而单片机的C语言库函数是按照单片机的应用情况来定义的;

2. 单片机C语言增加了集中针对单片机特有的数据类型,如单片机包含位操作空间和丰富的位操作指令;

3. 单片机C语言的存储模式与单片机的存储器紧密相关。使用不同存储器将会影响程序执行的效率,但标准C语言对存储模式的要求不高;

4. 单片机C语言中有专门的中断函数。 4.2 软件设计思路

19

本系统软件设计的思路是:使用C语言,将各部分的驱动程序(1602液晶、模数转换器、按键、蜂鸣器等)分别编写在不同子文件中,减少主文件的复杂度,增加可读性。然后,在主函数中,先初始化液晶显示器,然后进入大循环。在大循环中,读取模数转换芯片转换后数据,并根据按键的输入情况,确定物理量和量程,如果发生超出量程的情况,调用蜂鸣器进行报警,否则对获取的数据进行一定处理,最后发送至液晶显示器进行输出。 4.3 程序流程图 4.3.1 系统软件总流程图

4.3.2 电压测量流程图

开始 初始化系统 初始化液晶 获取量程信息 开始A/D转换 读取转换数据 处理数据 超限? Y 报警 N 送液晶显示 结束

图22 软件总流程图

20


基于单片机的数字万用表的设计(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:母婴护理师(高级)课程笔试试卷一试卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: