R5,A
MOV A,R4
ADDC A,R4
DA A
MOV R4,A
MOV A,R3
ADDC A,R3
MOV R3,A
DJNZ R2,HB3
MOV A,75H ;频率小数部分在最低位显示
ANL A,#0F0H
SWAP A
MOV 50H,A
MOV A,R5 ;频率整数部分个位数在次低位显示
ANL A,#0FH
CLR CY
SUBB A,#07H
MOV 51H,A
MOV A,R5 ;频率整数部分十位数在次高位显示
ANL A,#0F0H
SWAP A
CLR CY
SUBB A,#05H
MOV 52H,A
MOV A,R4 ;频率整数部分百位数在最高位显示
ANL A,#0FH
DEC A
MOV 53H,A
ACALL PLAY ;显示频率
POP 6AH
POP 63H
POP 62H
POP 61H
POP 60H
POP 53H
POP 52H
POP 51H
POP 50H
POP PSW ;恢复现场
POP DPH
POP DPL
POP B
POP ACC
AJMP DISPLAYF
RETI
第四章 联机调试及结果分析
4.1 联机调试情况
系统的调试分为硬件调试和软件调试两个部分。硬件调试包括控制电路的调试和主电路的调试。调试时,应该先调控制部分。首先检查电路的焊接是否正确,然后用万用表测试或通电检测。主电路部分硬件的检测方法同控制部分。硬件检查无误后,软件调试。软件调试可以先编写显示程序并进行硬件的正确性检验,然后分别进行主程序、AD转换子程序、电压显示子程序、频率显示子程序、数字滤波子程序等子程序的编程及调试。
在联机调试前,先用伟福模拟仿真,然后利用爱思G3000在线联机调试。联机调试时出现了下面一些问题:
1).四位一体LED显示管不显示;
2).P1口没有数据输出;
3).AD转换器不工作;
4).SA828的输出波形不正确。
解决的办法及处理结果:
1).检查各个数码管的位控端及代码段是否连接完好,给它加的驱动是否正确,以及各个数码管本身是否完好。经检测是我们的驱动连接有问题,重新连接后,显示正常。
2). P1口没有数据输出的原因也是我们的显示驱动出错导致,当驱动错误排除后,P1口数据输出正常。
3).和AD转换器的各个连线都联结正确,我们的焊接技术不好,出现了个别引脚虚焊,虚焊处理后,问题解决。
4).SA828
的输出波形下桥臂出现一段脉宽为1us的不正常波形,按照电路设计原理,小于5.67us的波形在脉冲删除电路中是该删除掉的,由于三相下桥臂均输出这种不正常的波形,我们用到了SA828的输出禁止端SETTRIP,把此端接上高电平即可使输出禁止而不影响内部电路的正常工作,但是实验结果还能看到此不