基于AT89C52单片机的光功率计的设计Word文档格式.docx
- 文档编号:21813214
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:16
- 大小:416.81KB
基于AT89C52单片机的光功率计的设计Word文档格式.docx
《基于AT89C52单片机的光功率计的设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于AT89C52单片机的光功率计的设计Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
1)光功率计探头
光功率计探头,是光信号转换为电信号的核心部件。
探
头带有光电传感器,用来接收被测光源的辐射并将其转换为
电流信号。
探头采用双线正负两个端口输出。
当被检测光
源强度发生变化时,传感器输出的电流会随之改变。
我们通
过对电流量变化进行转换分析最终获得外部光源的光功率
变化参数。
2)I/U变换
光功率探头输出小电流信号。
电流信号与电压信号相
比,长距离传输抗干扰性能较好。
但是由于本次试验距离较
短,同时为了与后面电压放大器相匹配,所以要转换为电压
信号。
本次设计使用LM358N芯片连接I/U变换电路和放大电路。
连接时,光功率探头的输出正端口接入转换电路输入
端,负端口与I/U变换电路共地连接,如图一所示。
图一,I/U变化电路
3)运算放大电路
I/U变换以后输出的信号很微弱,大概是毫伏的量级,要对信号后期处理,首先要进行放大。
由于本次试验对电路精度要求不高,这里只设计了一级放大。
电路图如图二所示。
图二,运算放大电路
4)低通滤波电路
本实验所得的信号为低频信号,故在进行A/D转换之前要滤除高频信号,我们用两个电容组成的无源低通滤波器作为被刺实验的滤波电路。
电路图如图三。
图三,低通滤波电路
5)A/D转换电路
本实验采用TLC549CD芯片实现A/D转换。
TLC549是TI公司生产的一种低价位、高性能的8位A/D转换器,它以8位开关电容逐次逼近的方法实现A/D转换,其转换速度小于17us,最大转换速率为40000HZ,4MHZ典型内部系统时钟,电源为3V至6V。
它能方便地采用三线串行接口方式与各种微处理器连接,构成各种廉价的测控应用系统。
当/CS变为低电平后,TLC549芯片被选中,同时前次转换结果的最高有效位MSB(A7)自DATAOUT端输出,接着要求自I/OCLOCK端输入8个外部时钟信号,前7个I/OCLOCK信号的作用,是配合TLC549输出前次转换结果的A6-A0位,并为本次转换做准备:
在第4个I/OCLOCK信号由高至低的跳变之后,片内采样/保持电路对输入模拟量采样开始,第8个I/OCLOCK信号的下降沿使片内采样/保持电路进入保持状态并启动A/D开始转换。
转换时间为36个系统时钟周期,最大为17us。
直到A/D转换完成前的这段时间内,TLC549的控制逻辑要求:
或者/CS保持高电平,或者I/OCLOCK时钟端保持36个系统时钟周期的低电平。
由此可见,在自TLC549的I/OCLOCK端输入8个外部时钟信号期间需要完成以下工作:
读入前次A/D转换结果;
对本次转换的输入模拟信号采样并保持;
启动本次A/D转换开始。
TLC549时序图
TLC549与单片机连接图如下所示
模拟信号从2号脚输入,6号脚输出数字信号。
6)LCD显示电路
数字信号经过单片机运算后要通过液晶显示出来,本实验使用的是1062液晶屏显示,1062与单片机连接图如下所示。
1062管脚
六、完整电路原理图设计
基于上述思想设计出的完整电路图如下所示。
七、程序设计
现列出单片机程序关键程序代码:
#include<
reg52.h>
intrins.h>
#defineucharunsignedchar
#defineuintunsignedint
#defineulongunsignedlong
chartable1[16]="
AD:
0000"
;
chartable2[16]="
00.00uW"
uchartime,a;
uintVolt,AD;
ulongPOW;
ints;
sbitlcdrs=P0^7;
sbitlcdrw=P0^6;
sbitlcden=P0^5;
sbitCS=P3^7;
//片选
sbitDO=P3^6;
//数据输出
sbitCLK=P3^5;
//时钟
voiddelay(uintz)//延时函数
{
uintx,y;
for(x=z;
x>
0;
x--)
for(y=120;
y>
y--);
}
voidwrite_com(ucharcom)//写指令函数
lcdrs=0;
lcdrw=0;
P2=com;
lcden=1;
delay
(2);
lcden=0;
voidwrite_data(uchardate)//写数据函数
lcdrs=1;
P2=date;
voidinit()//初始化函数
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
}
unsignedcharTLC549(void)//AD转换,返回结果
uchari,temp;
CS=1;
CLK=0;
CS=0;
//拉低CS端DO输出最高位
_nop_();
for(i=0;
i<
8;
i++)
{
temp<
<
=1;
if(DO)
temp|=0x01;
else
temp|=0x00;
CLK=1;
//形成一次时钟脉冲
_nop_();
}
for(i=17;
i>
i--)_nop_();
//延迟17us
return(temp);
voidData_Conversion(void)//AD读数转十进制函数
AD=TLC549();
if(a<
5)
s=s+AD;
a++;
if(a==5)
{
table1[8]=s/1000+'
0'
table1[9]=s/100%10+'
table1[10]=s/10%10+'
table1[11]=s%10+'
Volt=AD*100/255*5;
POW=(-0.4140)*Volt*Volt+100*10.2729*Volt+10000*1.2273;
POW=POW/100;
table2[4]=POW/1000+'
table2[5]=POW/100%10+'
table2[7]=POW/10%10+'
table2[8]=POW%10+'
a=0;
s=0;
}
voiddisplay(ucharx,uchary,uchar*str)
uchari;
if(x==0)write_com(0x80|y);
if(x==1)write_com(0xc0|y);
16;
write_data(str[i]);
if(str[i]=='
\0'
)break;
}
voidmain()
init();
TMOD=0x01;
//设置定时器0为工作方式1(00000001)
TH0=(65536-50000)/256;
//装初值50ms一次中断
TL0=(65536-50000)%256;
EA=1;
//开总中断
ET0=1;
//开定时器0中断
TR0=1;
//启动定时器0
while
(1)
delay(800);
display(0,0,table1);
display(1,0,table2);
voidint_adr(void)interrupt1
//重装初值
time++;
if(time==1)
{
Data_Conversion();
time=0;
八、调试设计
产品调试直接关系到产品的质量与性能。
软件调试需要用到uVision软件。
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统。
与汇编相比。
C语言在功能、结构性、可读性、可维护性等方面具有明显的优势.而且易学易用。
此外,KeilC51软件还提供有丰富的库函数和功能强大的集成开发调试工具,且全Windows界面。
KeilC51生成的目标代码效率非常高,多数语句生成的汇编代码都很紧凑,很容易理解。
在开发大型软件时更能体现高级语言的优势。
uVision在编译过程中,能很好的检测出程序的错误与警告。
并能直观提示是哪一行程序出了问题.故可方便地对程序进行检测与验证。
uVi.sion采用BL5I作连接器,因为BL5l兼容L51,所以.一切能在Dos下工作的project都可以到uVision中进行连接调试。
uVision采mdScopeforwin.dows作调试器,该调试器支持MON51及系统模拟两种方式,而且功能较forDOS要强大好用,调试功能也很强大。
在系统硬件调试中.可利用5l系列仿真器F51—64K进行硬件仿真,uVision也对5l系列仿真器进行了说明与介绍。
同时。
uVision还可与F51—64K进行联合仿真.它可以根据仿真步骤进行实际操作,并利用参考光功率计进行调试,以便此设计程序在语法没有错误的基础上能够正确测量光纤功率。
在实际电路的调试中,曾经出现液晶屏显示电压不稳定,而且信号容易饱和等问题,通过我们积极查找,我们发现TLC549的基准电压没有连接电源,电路经过改进后可以顺利输出相对稳定的电压信号。
九、数据记录与拟合
1、输出电压与标准光功率计关系表:
V
uW
0.05
0.1
2.5
1.1
11.8
2.1
21
0.2
3.22
1.2
12.6
2.2
21.7
0.3
4.59
1.3
13.8
2.3
22.6
0.4
6.01
1.4
14.5
2.4
23.1
0.5
6.8
1.5
15.6
23.9
0.6
7.83
1.6
16.5
2.6
24.4
0.7
8.75
1.7
17.5
2.7
25
0.8
8.92
1.8
18.9
2.8
25.7
0.9
9.68
1.9
19.6
2.9
26.4
1
10.47
2
20.1
3
27
2、数据拟合图:
x=[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0,2.1,2.2];
y=[0.05,2.5,3.22,4.59,6.01,6.8,7.83,8.75,8.92,9.68,10.47,11.8,12.6,13.8,14.5,15.6,16.5,17.5,18.9,19.6,20.1,21.0,21.7];
p=polyfit(x,y,2)
x1=0:
0.05:
2.2;
y1=polyval(p,x1);
plot(x,y,'
*r'
x1,y1,'
-b'
)
p=
-0.414010.27291.2273
3、拟合后,根据函数关系输出的功率信号与标准光功率计对比:
标准/uW
测量/uW
4.24
4.27
7.14
7.24
10.8
11.08
13.6
13.88
15
15.7
十、误差分析
根据上述数据,可算得相对误差:
=2.2%
误差分析:
环境光线,以及测量相对位置变化可能引起测量误差。
由于整个系统的设计缺陷可能存在较大的系统误差。
十一、成品展示
实物图
工作图
十二、心得体会
光通信技术的飞速发展以及光缆与光纤的大量应用.促使了智能化测试仪器在实验室教学和工程应用中的飞速发展。
本文从基础的光电转换技术人手,通过微处理器对信息数据进行处理。
并根据需要进行判断。
经过反复调试运行,给出了这种数字光功率计的设计方法。
该光功率计具有成本低、维护简单、误差小等诸多优点。
可满足高校实验室的教学和光通信施工部门的施工检测与维护需求。
具有广阔的市场应用前景和参考价值。
本次设计实验,给了我们初学者一个锻炼机会,经历了系统分析,设计,制作,调试和数据处理等各个环节,使我们深刻的了解了产品设计的全过程,也给我们今后独立进行系统设计积累了宝贵的经验。
在实际电路的制作过程中,也出现过各种各样的问题,但是通过我们小组的协作配合,我们顺利完成了整个设计过程,也锻炼了我们的团队协作能力。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AT89C52 单片机 功率 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)