基于51单片机的数字电流表设计.docx

上传人:b****8 文档编号:11309229 上传时间:2023-02-26 格式:DOCX 页数:17 大小:467.99KB
下载 相关 举报
基于51单片机的数字电流表设计.docx_第1页
第1页 / 共17页
基于51单片机的数字电流表设计.docx_第2页
第2页 / 共17页
基于51单片机的数字电流表设计.docx_第3页
第3页 / 共17页
基于51单片机的数字电流表设计.docx_第4页
第4页 / 共17页
基于51单片机的数字电流表设计.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

基于51单片机的数字电流表设计.docx

《基于51单片机的数字电流表设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机的数字电流表设计.docx(17页珍藏版)》请在冰豆网上搜索。

基于51单片机的数字电流表设计.docx

基于51单片机的数字电流表设计

湖南科技大学

单片机课程设计

 

题目基于单片机的数字电流表设计

姓名

学院

专业

学号

指导教师

成绩

 

二〇一一年五月二十六日

 

单片机课程设计任务书

 

一、设计题目:

基于单片机的数字电流表设计

二、设计要求:

1、数字电流表在平常工作环境中能良好工作

2、能测0——1000mA电流,至少能达1%的精度

3、要求掌握I/V信号转换,A/D转换器的使用和数据采集系统的设计

4、电流表能数字显示,且由单片机处理采集数据并驱动LED显示

 

摘要

本设计是通过采样电阻及信号放大电路将待测的电流信号I转换成0—1V电压信号,由A/D转换器采集电压信号,并将电压转换的数字信号传输给单片机,由单片机完成对采样信号的处理、分析,最后输出信号驱动LED显示器,显示被测的电压值。

 

一、功能要求…………………………………………………………………1

二、原理及方案论证…..………………………………………………………2

三、系统硬件电路的设计………………………………………………………3

四、系统程序的设计……………………………………………………………4

五、调试及设计结果…………………………………………………………….5

参考文献……………………………………………………………………...6

一、功能要求

1、数字电流表在平常工作环境中能良好工作

2、能测0——1000mA电流,至少能达1%的精度

3、要求掌握I/V信号转换,A/D转换器的使用和数据采集系统的设计

4、电流表能数字显示,且由单片机处理采集数据并驱动LED显示

二、原理及方案论证

1、数字电流表工作原理

1.1采样电阻网络

原理如下图所示,输入被测电流通过量程转换开关S1——S4,流经采样电阻R1——R4,由欧姆定律可知:

U=I*R,因而转换输出电压为0V——0.1V的电压,输出电压可再经后续放大电路放大处理。

1.2高共模抑制比放大电路

如下图,由双运放组成的同相输入高共模抑制比放大电路,其闭环输出可表示为:

为使共模输入为0,可令R1/R2=R4/R3,此时电路的差动闭环增益为Kd=1+R1/R2,U0=Kd(U1-U2);下图即Kd=11,U0=11(U1-U2);

 

1.3通用A/D转换器

ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片。

由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。

ADC0832具有以下特点:

◆8位分辨率;

◆双通道A/D转换;

◆输入输出电平与TTL/CMOS相兼容;

◆5V电源供电时输入电压在0~5V之间;

◆工作频率为250KHZ,转换时间为32μS;

◆一般功耗仅为15mW;

◆8P、14P—DIP(双列直插)、PICC多种封装;

◆商用级芯片温宽为0°Cto+70°C,工业级芯片温宽为-40°Cto+85°C;

芯片接口说明

CS_片选使能,低电平芯片使能。

CH0模拟输入通道0,或作为IN+/-使用。

CH1模拟输入通道1,或作为IN+/-使用。

GND芯片参考0电位(地)。

DI数据信号输入,选择通道控制。

DO数据信号输出,转换数据输出。

CLK芯片时钟输入。

Vcc/REF电源输入及参考电压输入(复用)。

1.4AT89C52单片机

AT89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片含8kbytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片置通用8位央处理器(CPU)和Flash存储单元,功能强大AT89C52单片机适合于许多较为复杂控制应用场合。

主要性能参数

·与MCS-51产品指令和引脚完全兼容

·8k字节可擦写Flash闪速存储器

·1000次擦写周期

·全静态操作:

0Hz-24MHz

·三级加密程序存储器

·256×8字节部RAM

·32个可编程I/O口线

·3个16位定时/计数器

·8个断源

·可编程串行UART通道

·低功耗空闲和掉电模式

功能特性概述

AT89C52提供以下标准功能:

8k字节Flash闪速存储器,256字节部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级断结构,一个全双工串行通信口,片振荡器及时钟电路。

同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。

掉电方式保存RAM中的容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

2、方案论证

本设计采用精密采样电阻(9欧、0.9欧、0.09欧、0.01欧),电阻精度可达0.1%可忽略;八位A/D精度为5/256(V);因而除去放大电路增益误差及线性误差,电流表精度约为(5/256)/11,约为1.7mA;对于1000mA的总量程精度可达0.1%,因而方案可达设计要求。

三、系统硬件电路的设计

系统仿真接线简图

本设计中用到AT89C52单片机、八位ADCAD0832、发光二极管、六位八段显示数码管LED,通用运放UA741、PNP管及必要的电阻、电容元件等。

系统原理方框图电路仿真简图如上图。

系统方框图

四、系统程序设计

程序流程图如下:

系统程序流程图

C语言程序如下:

#include//包含相应的头文件

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

ucharaxs[6],azs[6],ac[10],dc[6];

voidITOAZ(intnum,uchar*p);

voidITOAX(intnum,uchar*p);

floatU,U1;

sbitCS=P3^4;//定义数模转换器硬件对应引脚

sbitCLK=P3^5;

sbitDO=P3^6;

sbitDI=P3^7;

/******************读写AD0832函数****************/

/************************************************/

unsignedcharReadADC(unsignedcharchannel)

{

unsignedcharj;

unsignedcharTemp=0;

DI=1;

_nop_();

_nop_();

CS=0;//拉低CS端

_nop_();

_nop_();

CLK=1;//拉高CLK端

_nop_();

_nop_();

CLK=0;//拉低CLK端,形成下降沿1

_nop_();

_nop_();

CLK=1;//拉高CLK端

DI=(channel>>1)&0x1;

_nop_();

_nop_();

CLK=0;//拉低CLK端,形成下降沿2

_nop_();

_nop_();

CLK=1;//拉高CLK端

DI=channel&0x1;

_nop_();

_nop_();

CLK=0;//拉低CLK端,形成下降沿3

DI=1;//控制命令结束

_nop_();

_nop_();

for(j=0;j<8;j++)//处理读入8位数据

{

CLK=0;

_nop_();

Temp=(Temp<<1)|DO;

_nop_();

CLK=1;

}

CS=1;

CLK=0;

DI=1;

return(Temp);//返回转换值

}

/************************************************/

/************************************************/

/******************显示转换函数******************/

/************************************************/

//延时函数

voiddelay(uintn)

{

uinta;

uchari;

for(a=n;a>0;a--)

for(i=0;i<2;i++);

}

//将浮点数转成函数

voidITOC(floatf,uchar*c)

{

floatzs,xs;

intbxs,bzs,i,k=0;

xs=modf(f,&zs);//分离整数部分与小数部分函数

if(P3==0XFE)

bxs=(int)((xs*100)+0.5);

else

bxs=(int)((xs*100)+0.5);//小数点后两位有效数字

ITOAX(bxs,axs);//把小数部分转换成字符串存入axs数组

bzs=(int)zs;//把整数部分转成整型

ITOAZ(bzs,azs);//把整数部分转换成字符串存入azs数组

for(i=0;axs[i]!

='s';i++)//把最终结果存入c数组

c[i]=axs[i];

c[i]='.';

for(k=0,i=i+1;azs[k]!

='s';k++,i++)

c[i]=azs[k];

if(U<0)c[i]='-';

elsec[i]=0xff;

c[i+1]='s';

}

//将整型数转换成对应的

voidITOAZ(intnum,uchar*p)

{

ucharw,i=0;

do

{

w=num%10;//将整型数各位分离,并转换成对应的字符存入a中

p[i]=w;

num=num/10;

i++;

}while(num);

p[i]='s';

}

//将小数数部分转换成对应的

voidITOAX(intnum,uchar*p)

{

ucharw,i=0;

do

{

w=num%10;//将整型数各位分离,并转换成对应的字符存入a中

p[i]=w;

num=num/10;

i++;

}while(num);

while(i<2)

{p[i]=0;i++;}

p[i]='s';

w=p[i];

}

//显示译码函数

voiddecode(uchar*n,uchar*dn)

{uchari;

for(i=0;n[i]!

='s';i++)

{switch(n[i])

{case0:

dn[i]=0x3F;break;

case1:

dn[i]=0x06;break;

case2:

dn[i]=0x5B;break;

case9:

dn[i]=0x6F;break;

case3:

dn[i]=0x4F;break;

case4:

dn[i]=0x66;break;

case5:

dn[i]=0x6D;break;

case6:

dn[i]=0x7D;break;

case7:

dn[i]=0x07;break;

case8:

dn[i]=0x7F;break;

case46:

dn[i]=0x80;break;

case'-':

dn[i]=0x40;break;

default:

dn[i]=0x00;break;

}

}

dn[i]='s';

}

/************************************************/

/************************************************/

/********************主换函数********************/

/************************************************/

voidmain(void)

{

uchari,j,P2_;

floatA;

while

(1)

{

U=ReadADC(0)/256.0;

switch(P1)

{case0xfe:

A=U*10*1.025;break;

case0xfd:

A=U*100/1.09;break;

case0xfb:

A=U*1000;break;

default:

A=0.0;break;

}

A=10*A;

ITOC(A,ac);

decode(ac,dc);

P2=0XFf;

P2_=0Xfe;

for(j=0;dc[j]!

='s';j++)

{P2=0XFf;

P0=dc[j];

P2=P2_;

delay(150);

P2_=_crol_(P2_,1);

/*P2_<<=1;*/

}

}

}

/************************************************/

/************************************************/

五、调试及设计结果

1、PROTUSE系统仿真结果

系统仿真能正常运行,达设计所有指标,仿真部分电路如下:

PROTUSE系统仿真效果图

2、实际硬件制作结果

根据电路图自制电路,测试结果:

能正常测量10——1000mA电流,达大部分设计要求。

实物测试结果如下:

实际制作效果图

参考文献:

[1]测控电路.天津:

天津大学,2010.09

[2]单片机原理及接口技术.:

航空航天大学,2005.10

[3]电子技术基础(模拟部分、数字部分).:

高等教育,2006.01

[4]大学生电子设计与应用.:

中国电力,2007.03

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

当前位置:首页 > 高等教育 > 艺术

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

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