基于Proteus的数字电压表设计与仿真1Word文件下载.docx

上传人:b****2 文档编号:13722638 上传时间:2022-10-13 格式:DOCX 页数:11 大小:455.46KB
下载 相关 举报
基于Proteus的数字电压表设计与仿真1Word文件下载.docx_第1页
第1页 / 共11页
基于Proteus的数字电压表设计与仿真1Word文件下载.docx_第2页
第2页 / 共11页
基于Proteus的数字电压表设计与仿真1Word文件下载.docx_第3页
第3页 / 共11页
基于Proteus的数字电压表设计与仿真1Word文件下载.docx_第4页
第4页 / 共11页
基于Proteus的数字电压表设计与仿真1Word文件下载.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

基于Proteus的数字电压表设计与仿真1Word文件下载.docx

《基于Proteus的数字电压表设计与仿真1Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于Proteus的数字电压表设计与仿真1Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。

基于Proteus的数字电压表设计与仿真1Word文件下载.docx

在现代检测技术中,常用高精度数字电压表进行检测,将检测到的数据送入微型计算机系统,完成计算、存储、控制等功能。

本文中数字电压表的控制系统采用AT89C51单片机,A/D转换器采用ADC0809为主要硬件,实现数字电压表的硬件电路与软件设计。

该系统的数字电压表电路简单,所用的元件较少,成本低,调节工作可实现自动化,还可以方便地进行8路A/D转换的测量,远程测量结果传送等功能。

数字电压表可以测量0~5V的电压值,并在四位LED数码管上轮流显示,并且应用Proteus的ISIS软件进行单片机系统设计与仿真.

关键词:

单片机;

数字电压表;

A/D转换ADC0809;

Proteus

1绪论

随着电子科学技术的发展,电子测量成为广大电子工作者必须掌握的手段,对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。

同时随着微电子技术的迅速发展和超大规模集成电路的出现,特别是单片机的出现,正在引起测量控制仪表领域的新的技术革命[1]。

由于使用的是高效单片机作为核心的测量系统,以及灵敏度和精度较高的A/D转换器,使本直流电压表具有精度高、灵敏度强、性能可靠、电路简单、成本低的特点,加上经过优化的程序,使其有很高的智能化水平[2]。

数字电压表相对于指针表而言读数直观准确,电压表的数字化是将连续的模拟量转换成不连续的离散的数字形式并加以显示。

这有别于传统的以指针与刻度盘进行读数的方法,避免了读数的视差和视觉疲劳[3]。

2系统方案设计

利用MCS-51系列单片机设计简易数字电压表测量0~5v的8路输入电压值,并在四位LED数码管上轮流显示或单路选择显示。

测量误差约为±

0.02V。

系统设计方框图如图1所示。

图1系统设计方框图

3硬件电路设计

3.1时钟电路

XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。

内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。

晶振的频率可以在1MHz-24MHz内选择。

电容取30PF左右。

系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路如图2所示[2]。

图2时钟电路图

3.2复位电路

复位电路如下图3所示,按键没有按下时,RST端接电容下极板是低电平,按键按下时,RST端接在电阻上端变为高电平,达到复位的目的[2]。

图3复位电路图

3.3数据采集模块

通过ADC0809采集数据,输入到单片机内,如图4所示:

图4数据采集模块电路图

3.4显示电路

通过4位数码管来显示,如图5所示:

图5显示电路图

4软件设计

4.1主程序流程图

主程序流程图如图6所示:

图6主程序流程图

4.2显示子程序流程图

显示子程序流程图如图7所示:

图7显示子程序流程图

4.3A/D转换子程序流程图

A/D转换子程序流程图,如图8所示:

图8A/D转换子程序流程图

4.4数据处理子程序流程图

数据处理子程序流程图,如图98所示:

图9数据处理子程序流程图

5源代码

LED1EQU30H;

初始化定义

LED2EQU31H

LED3EQU32H;

存放三个数码管的段码

ADCEQU35H;

存放转换后的数据

STBITP3.2

OEBITP3.0

EOCBITP3.1;

定义ADC0809的功能控制引脚

ORG0000H

LJMPMAIN;

跳转到主程序执行

ORG0030H

MAIN:

MOVLED1,#00H

MOVLED2,#00H

MOVLED3,#00H;

寄存器初始化

CLRP3.4

SETBP3.5

CLRP3.6;

选择ADC0809的通道2

WAIT:

CLRST

SETBST

CLRST;

在脉冲下降沿启动转换

JNBEOC,$;

等待转换结束

SETBOE;

允许输出信号

MOVADC,P1;

暂存A/D转换结果

CLROE;

关闭输出

MOVA,ADC;

将转换结果放入A中,准备个位数据转换

MOVB,#50;

变换个位调整值50送B

DIVAB

MOVLED1,A;

将变换后的个位值送显示缓冲区LED1

MOVA,B;

将变换结果的余数放入A中,准备十分位变换

MOVB,#5;

变换十分位调整值5送B

MOVLED2,A;

将变换后的十分位值送LED2

MOVLED3,B;

最后的余数作百分位值送LED3

LCALLDISP;

调用显示程序

AJMPWAIT

DISP:

MOVR1,#LED1;

显示子程序

CJNE@R1,#5,GO;

@R1=5V?

是往下执行,否,则到GO

MOVLED2,#0H;

是5V,即最高值,将小数的十分位清零

MOVLED3,#0H;

将小数的百分位清零

GO:

MOVR2,#3;

显示位数赋初值,用到3位数码管

MOVR3,#0FDH;

扫描初值送R3

DISP1:

MOVP2,#0FFH;

关闭显示,目的防止乱码

MOVA,@R1;

显示值送A

MOVDPTR,#TAB;

送表首地址给DPTR

MOVCA,@A+DPTR;

查表取段码

CJNER2,#3,GO1;

判断是否个位数码管?

否则跳到GO1

ORLA,#80H;

将整数的数码管显示小数点

GO1:

MOVP0,A;

送段码给P0口

MOVA,R3

MOVP2,A;

送位码给P2口

LCALLDELAY;

调用延时

MOVR3,A

RLA;

改变位码

INCR1;

改变段码

DJNZR2,DISP1;

三位是否显示完?

否则调到DISP1

RET

DELAY:

MOVR6,#10;

延时5S程序:

D1:

MOVR7,#250

DJNZR7,$

DJNZR6,D1

RET

TAB:

DB3FH,06H,5BH,4FH,66H;

共阴极数码管显示0-4;

显示数据表:

DB6DH,7DH,07H,7FH,6FH;

显示5-9

END

6电路原理图

电路原理图如图10所示:

图10电路原理图

7仿真图

调节滑动变阻器的位置,可以测出相应的电压值,如图11所示。

图11测量电压仿真图

该电路可测得电压范围是0-5V,最大电压值如图12所示。

图12最大测量电压图

该电路测量的误差在约为±

0.02V,如图13所示。

图13最小测量误差图

8结束语

利用仿真功能强大、仿真元件模型丰富的Proteus软件对数字电压表各个单元电路和整体电路进行了设计和详尽的仿真分析,缩短了设计周期,提高了设计效率,降低了设计成本.同时,Proteus软件对于电子技术的教学演示和实际设计都具有很大的辅助作用.

参考文献

[1]陈朝元,鲁五一.Proteus软件在自动控制系统仿真中的应用[J].系统仿真学报,2008

(1):

318-320.

[2]毛谦敏.单片机原理及应用设计系统[M].北京:

国防工业出版社,2008:

22-26.

[3]康华光.电子技术基础(数字部分)[M].5版.北京:

高等教育出版,2005:

290-293.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小学作文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1