光功率计的设计说明Word文档下载推荐.docx
《光功率计的设计说明Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《光功率计的设计说明Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
图1.2数字光功率计的光电转换电路图
(2)模数转换及显示
ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。
它是逐次逼近式A/D转换器,可以和单片机直接接口。
图1.3ADC0809的管脚图
AT89C51单片机是Atmel公司的生产的一种低功耗/低电压、高性能的8位单片机,部除CPU外,还包括128字节RAM,4个8位并行I/O口,5个中断优先级,2层中断嵌套中断,2个16位可编程定时计数器,片集成4K字节可改变程序Flash存储器,具有低功耗,速度快,程序擦写方便等优点,完全满足本系统设计需要。
单片机P0口作为ADC0804转换数据的输入端,P3.0接ADC0809的EOC端检测数据转换是否结束。
P0.0~P0.3则作为4个数码管的位选信号控制。
P3口有特殊的功能,P3.1用于控制ADC0804的启动,P2用于控制读取ADC0804的转换结果。
图1.489c51单片机连接图
本次设计中使用八通道的IN0,将A,B,C(252423)管脚直接接地固定选择IN0,ALE与ST管脚连通,接单片机P3.4(14)脚,EOC接P3.3(13)脚,OE接P3.5,CLK时钟为1MHZ,由单片机ALE二分频得到,二分频电路详见后文讲解。
VREF+接VCC,VREF-接GND,引出八根数据脚接P1口,由此完成硬件连接。
图1.5数模转化电路图
(3)程序模块
程序设计的流程图
数模转换程序及显示c程序如下:
#include<
reg51.h>
#defineucharunsignedchar
#defineuintunsignedint
chardispbuf[4];
unsignedinti;
unsignedcharcodedispbitcode[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
/*显示【0123456789】数字的数码管的段码*/
unsignedintj;
unsignedchargetdata;
unsignedinttemp;
unsignedinttemp1;
unsignedcharcount;
unsignedchard;
sbitCLK=P3^4;
sbitST=P3^1;
sbitEOC=P3^0;
sbitOE=P3^2;
sbitP00=P0^1;
sbitP01=P0^2;
sbitP02=P0^3;
sbitP03=P0^4;
sbitP17=P2^7;
voidTimeInitial();
voidDelay(unsignedinti);
/*********T0定时器的初始化函数***************/
voidTimeInitial(void)
{
TMOD=0x10;
TH0=(65536-200)/256;
TL0=(65536-200)%256;
EA=1;
ET1=1;
TR1=1;
}
/*************延时1MS函数*************/
voidDelay(unsignedinti)
{unsignedintj;
for(;
i>
0;
i--)
for(j=0;
j<
125;
j++)
{;
}
/**************显示函数***************/
voidDisplay()
P2=P0;
while
(1)
{P0=0;
P00=1;
P01=0;
P02=0;
P03=0;
P2=dispbitcode[dispbuf[3]];
Delay(10);
P0=0;
P17=1;
P00=0;
P01=1;
P2=dispbitcode[dispbuf[2]];
Delay(10);
P02=1;
P2=dispbitcode[dispbuf[1]];
P00=0;
P03=1;
P2=dispbitcode[dispbuf[0]];
}
/**************T0中断服务,提供时钟信号***************/
voidt1(void)interrupt3using0
TH1=(65536-200)/256;
TL1=(65536-200)%256;
CLK=~CLK;
}
/*************主函数***************/
main()
TimeInitial();
//中断初始化
{
ST=1;
OE=0;
ST=0;
Delay(10);
ST=1;
while(EOC==0)
;
getdata=P0;
OE=1;
temp=getdata*1/255*500;
dispbuf[2]=temp%1000/100;
dispbuf[1]=temp%1000%100/10;
dispbuf[0]=temp%1000%100%10;
Display();
}
3、元件参数
PIN光电二极管------------------1个
10KΩ电阻----------------------------------2个
9KΩ电阻-----------------------------------1个
3KΩ电阻-----------------------------------1个
560Ω电阻----------------------------------1个
22uF电容---------------------------------1个
30pF电容---------------------------------2个
运算放大器--------------------1个
ADC0809模数转换器------------1个
AT89S51单片机----------------1个
晶振(11.0592MHZ)------------1个
级联数码管--------------------1个
直流信号电源一个,导线若干
四、实验调试
由于89c51单片机与adc0809级联电路比较简单,所以硬件电路在连接方面没有太大问题。
软件调试需要用到uVision软件,KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统。
与汇编相比,C语言在功能、结构性、可读性、可维护性等方面具有明显的优势,而且易学易用。
此外,KeilC51软件还提供有丰富的库函数和功能强大的集成开发调试工具,且全Windows界面。
KeilC51生成的目标代码效率非常高,多数语句生成的汇编代码都很紧凑,很容易理解。
在开发大型软件时更能体现高级语言的优势。
uVision在编译过程中,能很好的检测出程序的错误与警告,并能直观提示是哪一行程序出了问题,故可方便地对程序进行检测与验证。
uVision采用BL51作连接器,因为BL51兼容L51,所以,一切能在Dos下工作的project都可以到uVision中进行连接调试。
uVision采用dScopeforwindows作调试器,该调试器支持MON51及系统模拟两种方式,而且功能较forDOS要强大好用,调试功能也很强大。
在系统硬件调试中,可利用51系列仿真器F51-64K进行硬件仿真,uVision也对51系列仿真器进行了说明与介绍。
同时,uVision还可与F51-64K进行联合仿真,它可以根据仿真步骤进行实际操作,并利用参考光功率计进行调试,以便此设计程序在语法没有错误的基础上能够正确测量光纤功率。
五、设计结果
本次设计可以实现直流光功率的测试,在数码管可以显示0~5V的电压值,可以精确到0.01,如果在设计一个交流光功率计,可以在I/V变换电路前加一个交直流转换电路,从而实现交流光功率计的制作。
六、体会
光功率计是一款多功能新型光功率测试仪表,它具有功耗低、体积小、重量轻、便于携带等优点,可广泛应用于单模/多模LAN、FDDI、WAN、FTTH、CATV等领域的施工、维修、监测,既可用于光功率的直接测量,也可用于光链路损耗的相对测量,还可用于光信号监测等。
光功率计用于测量绝对光功率或通过一段光纤的光功率相对损耗。
在光纤系统中,测量光功率是最基本的,非常像电子学中的万用表。
在光纤测量中,光功率计是重负荷常用表,通过测量发射端机或光网络的绝对功率,一台光功率计就能够评价光端设备的性能。
用光功率计与稳定光源组合使用,则能够测量连接损耗、检验连续性,并帮助评估光纤链路传输质量。
回顾历时两个周的课程设计,从理论准备,到实践操作,到最后的撰写报告。
此时,我思绪万千,收益颇丰,既有对已有知识和技能的巩固,又有对新知识的理解和掌握,同时也提高了我的动脑和动手能力,使我了解了课程设计的步骤,获得了设计过程中的一些经验。
主要有以下几点:
(1)在这次课程设计中,我采用理论和实际相结合的方法,将过去所学的知识应用到设计当中,很好的解决了课程设计中遇到的各种问题。
这对我来说不仅是对所学知识的理解、巩固和加深,而且增强了运用所学知识解决实际问题的能力和对问题的分析能力。
(2)此次课程设计中,我了解了许多以前从未接触过的知识,开阔了视野,增长了见识,为以后的工作打下了坚实的基础。
(3)这次课程设计,端正了我的学习态度,使我更深刻的认识到团结协作和虚心求教的重要性,这是完成一份工作所必需的,也是做好一份工作的前提。
七、附录
参考文献
王银,数字电路逻辑设计.高等教育
方强,梁猛.<
<
光纤通信》》