数字电压表设计与制作.docx

上传人:b****8 文档编号:11132542 上传时间:2023-02-25 格式:DOCX 页数:13 大小:927.57KB
下载 相关 举报
数字电压表设计与制作.docx_第1页
第1页 / 共13页
数字电压表设计与制作.docx_第2页
第2页 / 共13页
数字电压表设计与制作.docx_第3页
第3页 / 共13页
数字电压表设计与制作.docx_第4页
第4页 / 共13页
数字电压表设计与制作.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

数字电压表设计与制作.docx

《数字电压表设计与制作.docx》由会员分享,可在线阅读,更多相关《数字电压表设计与制作.docx(13页珍藏版)》请在冰豆网上搜索。

数字电压表设计与制作.docx

数字电压表设计与制作

xxxxxxxxxxxxxxxxx学院

电子技术应用专业

《微处理器应用与实践》

作业

 

组别xxxxxxxxxxxxxxxx

姓名xxxxxxxxxxxxxxxxx

学号xxxxxxxxxxxxxxxx

班级xxxxxxxxxxxxxxxx

 

xxxxxxxxxxxxxxxxxxxxx学院

数字电压表设计与制作作业卡

1、数字电压表的功能与任务

1、数字电压表功能指标要求及任务

1、功能指标要求

1)用KEILC51.PROTEUS.EASY下载软件开发工具

2)用AT89S52单片机作控制,adc0809作A/D转换器。

3)三位数码管作显示

4)能测试0~5V的直流电压,精确到两位小数。

5)发挥扩充功能:

如增加超量程提示功能。

自动量程转换功能等。

 

2、任务

1)拟定总体设计制作方案。

2)拟定硬件电路

3)编制软件流程图及设计相应源程序。

4)仿真调试数字电压表

5)安装元件,制作数字电压表。

调试功能指标。

6)完成项目报告。

 

2、总体设计思路

实现思路与框图设计

基本功能部分的实现思路是:

用AT89S52单片机作控制,时钟为12MHZ,选择ADC0809的一个通道输入待测直流电压,A/D转换后,经标定。

BCD码转换。

高位消隐等处理,用数码管显示。

如图

3、原理图设计

数字电压表原理图设计

(1)如图

(2)原理图设计思路

用AT89S52作控制、ADC0809作模数转换、一个4位一体共阴数码管作显示。

AT89S52的P1端口的P1.0~1.7电压显示输出;P2端口的P2.0~2.7作为数码管的位选控制端口;P0端口的P0.0~0.7用作A/D转换完毕的数据输入端口;P3端口的P3.4、P3.5、P3.6作为通道选择的地址信号输出端口;P3.0作为启动控制输出端口;P3.1作允许输出控制;P3.2作为转换状态输入端;时钟信号由AT89S52的P3.3定时中断产生;ADC0809的IN0端子作电压测试输入端口,参考原理图如上图所示。

 

4、程序设计

数字电压表程序设计

1.程序流程图

(1)左移右移主程序流程图

(2)中断程序流程图

2、程序

#include

unsignedcharcodedispbitcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

unsignedchardisbuf[4];

unsignedinti,j,temp;

unsignedchargetdata;

sbitST=P3^0;

sbitOE=P3^1;

sbitEOC=P3^2;

sbitCLK=P3^3;

sbitP34=P3^4;

sbitP35=P3^5;

sbitP36=P3^6;

sbitP20=P2^0;

sbitP21=P2^1;

sbitP22=P2^2;

sbitP23=P2^3;

sbitP17=P1^7;

voiddisplay();

voidtimeinitial();

voiddelay(unsignedinti);

(1)主程序

/*主函数*/

voidmain()

{

timeinitial();

while

(1)

{

ST=0;

OE=0;

ST=1;

ST=0;

P34=0;

P35=0;

P36=0;

while(EOC==0);

OE=1;

getdata=P0;

OE=0;

temp=getdata*1.0/255*500;

disbuf[0]=temp%10;

disbuf[1]=temp/10%10;

disbuf[2]=temp/100%10;

disbuf[3]=temp/1000;

display();

}

}

 

(2)子程序

/*显示子函数*//*定时中断初始化程序*/

voiddisplay()voidtimeinitial()

{{

if(disbuf[3]!

=0)TMOD=0x10;

P1=dispbitcode[disbuf[3]];TH1=(65536-200)/256;

P20=1;TL1=(65536-200)%256;

P21=1;EA=1;

P22=1;ET1=1;

P23=0;TR1=1;

delay(10);}

P1=0x00;/*延时子函数*/

P1=dispbitcode[disbuf[2]];voiddelay(unsignedinti)

P17=1;{

P20=1;unsignedintj;

P21=1;for(;i>0;i--)

P22=0;{

P23=1;for(j=0;j<125;j++)

delay(10);{;}

P1=0x00;}

P1=dispbitcode[disbuf[1]];}

P20=1;/*T1中断子函数*/

P21=0;voidt1(void)interrupt3using0

P22=1;{

P23=1;TH1=(65536-200)/256;

delay(10);TL1=(65536-200)%256;

P1=0x00;CLK=~CLK;

P1=dispbitcode[disbuf[0]];}

P20=0;

P21=1;

P22=1;

P23=1;

delay(10);

P1=0x00;

}

5、仿真

数字电压表仿真模型与结果

(1)能测试0~5V的直流电压。

(2)精确到两位小数。

6、元器件的清单

所用元器件

1

名称

型号

数量

2

单片机

At89s52

1

3

AD转换器

ADC0809

1

4

电阻

8.2KΩ

1

5

晶振

12MHz

1

6

瓷片电容

22pF

2

7

电解电容

10uF/16V

1

8

电源

5v输出

1

9

按键

触摸按键

1

10

电阻

560Ω

8

11

数码管

共阴4为一体

1

7、元器件的安装

安装效果图

8、数字电压表调试

调试

指标

1.USB下载模块

2.CPU系统模块

3.电源模块

4.数码管显示模块

5.AD转换模块

调试方法步骤

1)先静态检查是否有虚焊。

漏焊。

元件是否安装正确,

2)动态检查。

a.下载端

1.检测USB下载,把万用表的红表笔接P28端,黑表笔接12端,检查供电。

2.检查时钟是否正常

3.检查数据通路是否正常

4.检查复位电路是否正常

b.CPU

1.检查电源是否有5V电压

2检查时钟是否正常

3复位电路是否正常

4引脚是否接VCC

c.数码管显示正常

d.AD转换模块正常

调试

数据

记录

 

一、USB下载模块

(1)USB的VCC端脚有5V的电压输出

(2)CH314芯片的28脚与12脚有5V的电压输入

(3)下载正常

二、电源模块

(1)电源输出5V

(2)电源正常

三、单片机模块

(1)单片机AT89S52能正常工作

四、数码管显示正常

五、AD转换模块

(1)IN端子有5V的电压输入。

调试

结果

(1)能测试0~5V的直流电压。

(2)精确到两位小数。

9、自评

评价表

时间:

2010-11-25班级:

电子0902组别:

11

任务

设计制作数字电压表

姓名

学号

成绩

xxxx

38

91

xxxx

37

89

xxxx

39

88

xxxx

40

90

任务完成情况

分值

得分

任务完成情况

分值

得分

完成时间

10

9

仿真

10

10

总体设计思路

10

8

安装

10

9

原理图设计

10

9

调试

10

9

程序流程图

10

9

检查评估

10

10

程序

10

8

文明(纪律)

10

10

总分

91

评价记录:

本组上课认真听讲,下课及时复习,按时完成作业,刻苦钻研,对待每一件事情都认认真真。

在团队合作方面热心帮助同学,和谐互助,相互讨论,一起钻研,希望把单片机这门课学的更好!

签字:

xxxx

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

当前位置:首页 > 外语学习 > 英语学习

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

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