开始读取保存数据按位查表将查得数据送数码管段控送入相应的位控返回
图10 数值电压显示流程图
3.5 软件系统程序清单
程序清单见附录4
- 11 -
4 设计结论、设计结果及误差分析
4.1 硬件及软件调试
(1)硬件调试
硬件调试的主要任务是排除硬件故障,包括设计错误及人为接线错误。 用万用表逐步检查电路线路及元器件是否连接正确或短路,首先确保芯片的连接不会出错,不会因为电压过高而烧毁芯片,在检查确定没有错误后方能连接电源开始测试,在测试过程中又错误的要认真检查数据连线是否正确,观察数码管显示的数字是否正常。 (2)软件调试
软件调试的任务是利用开发工具进行仿真调试,发现和改正程序的错误,同时也能检查硬件的错误。程序调试首先要进行每个模块的检查,调试各项子程序是否功能正确,有错误的可以单步调试认真对比软件中个寄存器、RAM等数据的变化。
在测试程序系统的时候,按键一则是开始测量,显示出电压值;按键二则是结束测量,显示提示符。
4.2 软件仿真及实物测试
- 12 -
1.软件仿真
(1)当IN0口输入电压值为0V时,显示结果如图11所示,测量误差为0。
图11 输入电压为0V时,LED的显示结果
(2)当IN0口输入电压值2.45V时,显示结果如图12所示,测量误差为0.4%。
图12 输入电压为2.45V时,LED的显示结果
(3)当IN0口输入电压值为3.50V时,显示结果如图12所示,测量误差为0。
- 13 -
图13 输入电压为3.50V时,LED的显示结果
(4)当按结束键或复位键后,显示结果如图14所示。
图14 按结束键或复位键后,LED的显示结果
- 14 -
2.实物测试
通过实物测试可得到简易数字电压表与“标准”数字电压表对比测试表,如下表1所示:
表1 简易数字电压表与“标准”数字电压表对比测试表
标准电压简易电压表绝对误差/V 值/V 测量值/V 0.00 0.00 0.00 1.70 1.72 0.01 2.43 2.44 0.004 3.55 3.56 0.003 4.16 4.16 0.00 4.52 4.52 0.00 5.00 5.00 0.00
4.3 设计结果误差分析
由于单片机AT89S52为8位处理器,当输入电压为5.00V时,ADC0809输出数据值为255(FFH),因此单片机最高的数值分辨率为0.0196V(5/255)。这就决定了电压表的最高分辨率只能到0.0196V,从上表可看到,测试电压一般以0.02V的幅度变化。
从上表可以看出,简易数字电压表测得的值基本上比标准电压值偏大0-0.01V,这可以通过校正ADC0809的基准电压来解决。因为该电压表设计时直接用5V的供电电源作为电压,所以电压可能有偏差。当要测量大于5V的电压时,可在输入口使用分压电阻,而程序中只要将计算程序的除数进行调整就可以了。
4.4 设计重点、难点和不足之处及设计体会
重点:理论与实践的结合能力。Proteus和Keil软件的使用方法,掌握从系统的需要、方案的设计、功能模块的划分、原理图的设计和电路图的仿真的设计流程。
难点:实物的制作,硬件电路的检测,程序的调试及误差原因的分析。实物制作时要准备好每一步流程需要的工具及材料,心里要有计划的去制作;硬件电路的检查时要清楚每一条线路的功能及作用,这样有错误的话才会很容易发现;调试程序时,必须对每条指令的功能要清楚,对各程序模块要对照流程图仔细检查;误差原因可能有很多方面,这就要靠自己的分析能力,各个方面都要顾及到才行。
- 15 -