相关服务

  • 《现代电子技术》2006年第19期摘录:尹树华等:电缆故障定位软件的设

如发现有乱码,请点击下面链接浏览原文
正文摘录:

尹树华等:电缆故障定位软件的设计lN’r21HMAINENDP以上程序模拟的是主程序的第3步的运行。程序是用计算机键盘模拟通断检测函数的输入。程序启动后使用键盘模拟线路状态输入,若输入01转入电阻测量函数,输入10转入电容测量函数。若输入1l则程序继续执行,然后从与单片机的接口地址输入温度信号,此前已由ADC0809将模拟信号转化为数字信号,此数值与指定的温度范围10~40℃进行比较,若超出范围,系统输出温度报警信号。3.2PC机与单片机通信程序PC机的异步适配器使他有能力与其他具有标准RS232接口的计算机或设备进行通信。MCS一51单片机本身具有一个全双工的串行接口,因此只要配以电平转换的驱动电路、隔离电路就可以组成一个简单的串行通信接口。在此给出一个用汇编语言编写的异步串行通信程序口]。通信双方约定:波特率为2400b/s,信息格式为1位起始位,8位数据位,1位停止位,无奇偶校验位。3.2.1计算机通信软件STACKSEG:MENTPARASTACK’CODE’DB256DUpSTACKEN[)SCODESEGMENT。PARAPIJBI.IC’CODE’ASSI_IMECS:(20DE,SS:Sr.ACKSTARTPR()CF.ARPIJSI-{DSMOVEAX,OPLISI-1AXCLlINPIJT:MOVAL,80HMC)VDX。3F8B0UTDX.ALMOVAL,301L{MOVDX。3F9H0UT。DX,ALMOVAL。03HMOVDX,3FBHOUTDX。ALMOVAI。.OOHMOVDX,3F9H0UTDX,ALRECE:MOVDX,3FDHINAL.DXTESTAL,01HJZRECEMOVDX,3F8H;置DLAB一1;写入通信线控制寄存器;置产生2400b/s波特率除数低位;写入除数锁存器高位;设置数据格式;写入通信线路控制寄存器;禁止所有中断;检查接收数据是否准备好;读取数据3.2.2单片机通信软件MCS一51通过中断方式接收PC机发送的数据,并回送。单片机串行口工作在方式1,晶振为12MHz,波特率2400b/s,定时器1按方式2工作,经计算,定时器初值为OF、3H,SM()D一1。参考程序如下:oRG0000H28UMt’CSt{()RG0023HLJMPINTS0RG0050HCSI-{:MOVTMOD,#20I-IMOVTLl,#OF3HMOVTHl,#OF3HMOVSC()N,#50t{MOVPC()N,#80I-ISETBTRlSETBEASE’FBESIJMt,MAININTS:CLREACI.RRIPIJSt{DPLP【5SH【)Pt{PIJSt{AMOVA.SBIJFMOVSBIJF,TTLOWAITl:JNBTI,WAITlCLRTIMOVSUBF.TTH0WAIT2:JNBTI,WAIT2CLRT1POPAPOPI)Pt_I:POF。I)PI。SETBEA。RETI;设置T1为方式2;设置定时器T1时间常数;串行口方式1工作;启动定时器T1;开放CPU中断;开放串行口中断;关CPU中断;清串口接收中断标志;保护现场;读串口数据;发送数据低位;发送数据高位;恢复现场3.3电容和电阻检测函数当线路发生故障时,由I。M331电路将线路电阻转化为相应频率,送给定时器的捕获引脚。调用电阻检测函数计算频率信号的脉冲宽度,从而精确计算出频率值及相应的电阻值。由于电阻也同电缆长度成比例关系,因此在故障未发生时,定期测量整个电路的电阻值,计算出单位电阻的线路长度;在故障发生时测量故障线路的电阻值并换算出故障电缆长度。为减少系统误差,电阻检测函数先测量标准电阻,然后测量线路电阻,从而提高测量精度。测量线路电阻值时由电压一频率转换器件LM331将线路电阻分压值转化为相应频率,与电容测量相似。电阻测量与电容测量使用同一个测量方法,由单片机和计算机的接口电路输入单片机测量的频率值,由公式.Rx—R。*R/F。计算出线路电阻值,算出电缆长度(两倍),由位图数据库确定故障点。3.3.1单片机频率测量函数当频率值大于20Hz时使用查询法,其测试波形如图6所示。揣]厂_]厂TRl置l:TR¨々零十T1肝始定时图6波形脉冲宽度测试原理当_厂0。。一12MHz时,机器周期为1ps,最大被测脉冲宽度为65536ps。用软件进行启动和停止计数,存在一定的误差,但对于本文频率的测量误差可以忽略不计。

阅读此文(图):   点击此处在线翻阅