基于Proteus的数字电压表设计与仿真Word格式.docx

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

基于Proteus的数字电压表设计与仿真Word格式.docx

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

基于Proteus的数字电压表设计与仿真Word格式.docx

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