【doc】微机实时处理光电效应实验数据
微机实时处理光电效应实验数据
第1卷第1期
2003年3月
南京工程学院(自然科学版)
JournalofNaniingInstituteofTechnology(NaturalScienceEdition)
V01.1.No.1
Mar.,2003
文章编号:1672—2558(2003)01—0015—04
微机实时处理光电效应实验数据
吴庆春
(南京工程学院基础部,江苏南京,210013)
摘要:介绍了一种配合普朗克常数测试仪进行数据采集的独立外置的单片机计算机接口,及其进行数据处理的
相关软件.
关键词:光电效应;普朗克常数;单片机;串行通信;数据采集
中图分类号:04—39文献标识码:A
COMPUTERREALTIMEDEALINGWITHTHEEXPER
EXPERIMENTALDATUM0lFPHoToEMISSIoN
WUQing—chun
(Dept.ofBasicCourses,NanjingInstituteofTechnology,Nanjing210013,C
hina)
Abstract:ThisarticleintroducesfltypeofseparateSCM(SingleChipMicyoc
o)interfacewhichhdpsPlanckconstant
testapparatustocollectdatum.Andthesoftwareinvolvedindealingwithdatu
misalsomentioned.
Keywords:photoemission;planckconstant;SCM;serialcommunication;da
tacollection
1引言
在工科大学物理的教学中,随着教学改革的深入,近代物理的内容所占的比重越来越多,其中量子力
学成为重要的学习内容之一,而光电效应则可以给量子力学以直观,鲜明的物理图像,且普朗克常数(公
认值h=6.6260755×10一弘J?s)是自然界中一个很重要的普适常数,它可以通过光电效应实验简单而又较
准确地求出.因而,进行光电效应实验并通过实验求取普朗克常数有助于学生理解量子理论和更好地认
识普朗克常数这个普适常数.
该实验在测量和数据处理过程中通常有两种方法:零点法和抬头点法(或称为交点法和拐点法)….
零点法将光电流等于零时的外加电压作为外加遏止电压,方法简单但过于粗略;抬头点法采用作图法去
寻找光电管伏安特性曲线上的转变点(抬头点),需要的数据量相当
大.于是,在传统的光电效应实验仪
器的基础上研制开发了这套单片机数据采集分析系统.
2光电效应实验系统各部分连线图
传统的光电效应实验由普朗克常数测试仪,汞灯电源及灯具光电管组成,现统增加了两个部分,计算
机接口和数据处理软件.各部分的连线见图1.
收稿日期:2002—4—25
作者简介:吴庆春(1977一),男,助教,从事大学物理和物理实验教学工作.
l6南京工程学院(自然科学版)2003年3月
图1光电效应实验系统连线图
3光电效应实验数据的微机实时处理系统
3.1计算机接口[2】
该部分独立外置,采用89C51单片机微处理器控制模数转换芯片,采集加在光电管两端的电压和经
过放大的微弱的光电流,并将所采集的实时物理量通过数据线传送至计算机的COM接口,交由计算机数
据处理软件接受并处理.其中数据的采集采用ADC0809,模拟电压的发生采用DAC0832,与微机串行接
口的通信采用1488和1489两块电平转换芯片.
该接口充分利用89C51自带的4K程序存储器PEROM和128字节
的静态存储器RAM,简化了电路
的
,晶振频率采用12MHz,正脚输出2MHz,由74LS74四分频后作为ADC0809的时钟.单片机
与微机之间的通信采用RS一232C标准接口,全双工通信方式,双方约定采用1200比特率的通信速率,8
位数据位,无奇偶校验,一位停止位.单片机的通讯部分程序如下:
ORG0100H
MAIN:MClVTMOD,#20H;设T1为定时方式2
MOVTH1,#0E8H;置定时器初值
MOVTL1,#0E8H;
MOVPOON,#00H;波特率为1,200比特
SETBTR1;启动计时器
MOVSCoN,#50H;iSt串行通讯为方式1
;采集数据并将数据存储在R1
SEND1:MOVSBUF,@R1;将数据传送至OOM
WAIT1:JBCTI,NEXT1;等待数据传送结束
Sj『MPWAIT1
NEXT1:;其他
3.2数据处理软件
该软件采用VC6.0编写而成,可运行于Windows9x和Win2000等操作平台.界面采用视图文档结
构,支持文件的保存和打印,与微软风格一致,易于使用.帮助文件详
细,既可减轻指导老师的负担,又可
增加学生的自学兴趣.学生在实验过程中既要亲手测量不同滤色片的I—U曲线,又要从曲线上读取抬
头点的电压,并且还要处理测量结果,消除了同类软件的全自动过程对教学带来的不良影响.
第1卷第1期吴庆春:光电效应实验数据的微机实时处理17
该数据处理软件直接通过计算机COM接口获得实时电压和光电流,在视图中显示相应的数据和图
形(如图2).在测量之前,学生需先将所要测量的几种滤色片的信息添加到计算机中.实时采集数据过
程中,图形和当前采集到的数据同时更新.采集结束后,由学生自行寻找抬头点处的电压,寻找时只需用
鼠标箭头单击抬头点处,鼠标右下方即可显示出该点的电压和暗电流大小.
l_U曲线
图2采集数据界面
该软件在需要与单片机进行串行通信时,专门创建一个线程,用于发送和接受数据.该线程实现通
讯的步骤是:首先创建和打开一个串行通讯端口(例如:COM1),其次对端口的设置进行初始化和配置通
讯资源,然后读写端口,进行数据通讯,通讯结束后,关闭端口并清理
内存.为此,引入了一个用于实现串
行通讯的CSerial类【3j3,供上述发送和接受数据的线程调用,该类主要包括以下成员函数:
CSerial::CSerial()——CSerial类的构造函数.
CSerial::Open(intnPort,intnBaud)——用于打开通讯端El,第一个参数为端El号,例如要打开
COM1,则nPort置1.第二个参数为波特率.打开成功返回TURE,否则返回FALSE.
CSerial::Close(void)——用于关闭通讯端口.由CSerial析构函数调用该函数,因此无须显式调用
此函数.
CSerial::SendData(constchar*buffer,intsize)——用于把数据从缓冲区写到串行端口.第一个参
数是constchar*缓冲区指针,其中包含要被发送的数据.第二个参数是要发送数据的大小.
CSerial::ReadDataWaiting(void)——用于返回等待在通讯端El缓冲区中的接受来的数据.不用带
参数.
CSerial::ReadData(void*buffer.intlimit)——用于从端口的接受缓冲区中读人数据.第一个参数
是void*缓冲区指针,数据将被放入该缓冲区.第二个参数给出了缓冲区的大小.
在测试完五种滤色片后,将滤色片的波长和读到的抬头点电压填入”计算结果”对话框,确认后即可
得到结果的图形和数据(如图3).图形部分的直线拟合采用最t]~--乘法,数据部分给出经拟合计算得到
的直线的斜率,截距,回归直线的相关系数以及测量结果与公认值之间的相对误差等.
18南京工程学院(自然科学版)2003年3月
图3数据处理界面
4结束语
本装置在实际教学中,要求学生对同一滤色片改变光源与光电管之间的距离,进行多次测量,对其
I—U曲线图进行对比,理解同种滤色片不同强度的光源时的I—U曲线图原理;在同一距离测得五种滤
色片的零点电压和抬头点电压,将计算结果进行对比,让学生理解抬头点法的优点,理解普朗克常量,均
取得了较好的效果.
参考文献:
[1]杨述武,王定兴.普通物理实验(三):光学部分[M].北京:高等教育出版社,1993.
[2]张淑清,姜万录.单片微型计算机接口技术及其应用[M].北京:国防工业出版社,2001.
[3]RichardC.Leinecker,TomArcher.Visualc++6宝典[M].张艳,王文学,
张谦,严岩青译.北京:电子工业出版社,2001
[责任编校:刘志远]