4 程序流程图
本设计采用汇编语言编写,是一种以单片机为核心的电压测量仪表,它能够测量电压量,并且测量结果能够通过数码管显示,从而具有一定的智能性。
由于单片机的有效输入/输出信号均为数字信号,而对于整个系统的前向通道有效信号均应为模拟信号,所以在做设计过程中必然包括模拟量转换为数字量的设计,根据所需采用ADC0832芯片作为转换电路。
第一步:设置端口地址,程序开始,输入模拟量。 第二步:ADC0832初始化,一个转换周期开始。 第三步:软件滤波。
第四步:数据转换,读取八位数据。
第五步:转换通道,再从第三部开始依次进行。
各个模块电路的软件设计,能够将采集到的模拟量转换为数字量,并显示。根据双路数字电压表系统的设计要求,对系统软件进行分析,画出系统的主程序流程图如4-1所示:
开始 ADC0832初始化 软件滤波 转换数据 显示结果
图4-1 程序流程图
12
5 仿真过程
5.1 Keil uVision仿真过程
程序调试图:首先新建目标文件:Project new 输入文件名(比如说1)保存,然
后在对话框中选择Atmel中的AT89C52,单击确定,再新建文本文档输入程序:File new 输入 1.asm 保存,然后右键点击Source Group 1,选择add files to ?source group 1’,在对话框中找到所要添加的file,然后点击add,关闭对话框。所有步骤完成,点击调试按钮,检查程序 是不有误,如果有错需要找到错误的地方修改,再次进行调试。如果正确,可进行下一步。
图5-1 程序连接图
把程序连接到单片机:右键点击Target 1,选择Options for Target?Target 1?,在对话框中点击output一项,添选create HEX Fi:一项,然后在Debug中选择Use Simulator一项,单击确定。
13
图5-2程序连接图
然后点击主页面中的Debug选择Start/Stop Debug Session一项,就会产生.hex文件,如图所示目标文件存放的位置,在仿真的时候,单击AT89C52芯片,就可以找到.hex文件并添加,这样就可以把程序添加到芯片内,等待运行。
图5-3添加. Hex文件图
14
5.2 proteus仿真过程
元器件都找到后,先进行排版再按照电路图连接,链接的时候注意要使得线路连接清晰,最好使用线来连接元器件,最好不要用标号。如连接好后如下图5-4所示:
图5-4仿真电路图
在电路连接好后,双击AT89C52在弹出对话框中选择单片机中要输入的程序,如图5-5所示:
图5-5输入程序图
15
由于是双路,输入程序后,点击proteus页面的运行按钮,图中显示甲路电压值,范围在0-5V,图中显示的为最大值5V,如图5-6所示:
图5-6甲路显示电压图
甲路电压值通过调节RV1来控制甲路,两个红色按钮分别可增大和减小电压值,RV1向下滑动说明电压值减小,此刻RV1在中间显示电压值调为2.5V,如图5-7所示:
图5-7甲路显示中间值图
16