智能双路数字电压表设计说明书

上传人:shaoy****1971 文档编号:108168416 上传时间:2019-10-22 格式:DOC 页数:46 大小:209KB
返回 下载 相关 举报
智能双路数字电压表设计说明书_第1页
第1页 / 共46页
智能双路数字电压表设计说明书_第2页
第2页 / 共46页
智能双路数字电压表设计说明书_第3页
第3页 / 共46页
智能双路数字电压表设计说明书_第4页
第4页 / 共46页
智能双路数字电压表设计说明书_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《智能双路数字电压表设计说明书》由会员分享,可在线阅读,更多相关《智能双路数字电压表设计说明书(46页珍藏版)》请在金锄头文库上搜索。

1、微机原理及接口技术课程设计说明书课 题: 智能双路数字电压表 专 业: 电子信息工程 班 级: 电子1303 姓 名: 学 号: 指导老师: 王亚林 蔡文培 目录一,设计任务与目的- 3 -1.1设计课题- 3 -1.2设计目的- 3 -1.3设计任务- 3 -1.4设计要求- 3 -二,总体方案设计与方案论证- 4 -2.1 总体方案的设计与论证- 4 -2.2 开关量的方案设计与论证- 4 -2.3 显示查表的方案设计与论证- 5 -2.4 电压采集,计算方法的方案与论证- 5 -三,总体软件设计说明及总流程图- 6 -3.1 软件总体设计说明- 6 -3.2 系统总流程图- 7 -四,系

2、统资源分配及数据定义说明- 8 -4.1 系统资源分配- 8 -4.2 硬件资源分配- 10 -五,局部程序设计说明- 11 -5.1 A/D采集子程序- 11 -5.2 标度转换功能- 13 -5.3 节拍设置功能- 16 -5.4 电压超量程报警功能- 18 -5.4 PB按键扫描程序- 19 -六,系统功能与操作说明- 20 -七,课程设计总结- 21 -附录:源程序清单- 22 -一, 设计任务与目的1.1 设计课题智能双路数字电压表1.2设计目的通过小型微机应用产品的设计与调试过程,运用微机原理及接口技术课程所学的基本知识,在设计中加以应用,进而得到理解、巩固和提高,学习掌握分析与解

3、决实际问题的方法与手段,提高设计、编程与调试的实际动手能力,作为工程技术工作的一次基本训练。1.3设计任务设计一个以单片机为核心的智能双路数字电压表,通过多选一电子模拟开关及A/D转换器巡回采集两路被测电压的数据,进行信号处理及标度变换,以一定的节拍时间交替显示,应有显见的符号标示被测信号源回路,并可通过按钮开关操控冻结或切换显示,可通过键盘进行参数设定,编程并在单片机实验板上模拟调试实现。1.4设计要求基本设计要求1、八位LED 7段数码管显示当前检测回路的标识、电压值及其单位或其他界面信息。2、电压测量范围0V4.96V,应有输入被测电压超量程判断及提示。3、应采取数字滤波技术提高测量与显

4、示的稳定性。4、基本显示模式为:两路被测电压值按设定的节拍交替测量与显示,电压值保留二位小数。5、设置一个“冻结”按钮开关以操控进入或退出当前回路的冻结显示方式,冻结显示期间每约0.5S更新一次测量值。6、设置一个“切换”按钮开关以操控强行切换显示下一检测回路数据。7、对开关量输入信号须进行软件消抖动处理。8、键盘设定交替测量显示的节拍范围为0.5S5.0 S,设定分辨率0.1V,设定界面应有醒目的当前修改位提示。9、无操作时间超过30秒钟后自动恢复为基本的运行状态。功能扩展要求(选做)1、开机进行接口部件及数码显示器、指示灯、讯响器等自检。2、每隔一定的时间,穿插显示实时钟信息一定的时间,通

5、过键盘设定其间隔参数。3、扩展显示模式二:同时显示两路电压测量数据,每约0.5S更新一次测量值,电压值保留一位小数。设置一个“模式”拨动开关以选择两种显示模式之一。4、超上限告警功能,通过键盘设定电压上限值范围为0V4.96V ,监测到某回路电压超上限时有相应显示内容的闪烁提示、超上限LED指示灯亮、讯响告警及继电器触点输出控制功能。5、实现带有回差的超上限告警功能,通过键盘设定回差值的范围为0 .10V0.50V,设定回差分辨率0.01V。6、添加超下限告警功能。6、添加多挡量程功能,如1.24V量程、0.31V量程。8、其他功能扩展。二,总体方案设计与方案论证2.1 总体方案的设计与论证根

6、据课题要求,需要采集两路电压值,按一定的节拍巡回显示两路电压值,并可以冻结显示任何一路的电压值,切换显示下一路的电压值。同时系统要求可以修改显示的节拍时长,电压的上限告警电压,下限告警电压,插入显示时钟信息等多种工作方式。所以本系统需要用到大量的按键操作。按键的判断与子程序的调用是关键,因此设定不同的按键触发不同的进程码,程序根据不同的进程码执行不同的子程序,从而实现不同的操作和功能。2.2 开关量的方案设计与论证方案一、表决法由于单片机按键存在抖动,表决法容易造成误判和重复操作,所以本系统为了稳定性决定使用滚动滤波法。方案二、滚动滤波法对开关量得输入进行滚存的方式,每次调用到开关量子程序时,

7、就把当前的状态值赋给前态,依次把前几次的采集值推为旧态,当这4次的开关量采集的值一致时,才把当前的采集值采集存为新态,在通过新态和旧态的值比较就可以达到消除抖动的效果,这种方法还可以实现按键是上升沿有效还是下降沿有效。2.3 显示查表的方案设计与论证方案一 把带小数点的断码也写进断码表,显示个位的时候直接查找有带符号位的断码。 方案二 显示过程中先判断显示是否到达个位,如果到了就把个位的数据的最高位清零 上述的两种方案中,第一种方案比较麻烦,要编写特定的带符号位断码,要判断是否到显示个位时,才能查找带符号位的断码,虽然可以实现显示个位时可以实现显示小数点,但是编写程序时,逻辑较方案二太过于麻烦

8、,所以我选择了方案二2.4 电压采集,计算方法的方案与论证 方案一、 采用ADC0809对两路的电压的模拟量得采集、转换成数字量, 在经过标度转换使其范围在04.98V,采集进来的数字量采用滚存的方式,存储最新的4次电压值,并用其平均值进行标度转换,在标度转化中,对第一路和第二路的电压分别进行计算,最后把其转换成BCD码送到显示缓冲区等待显示。方案二、 采用ADC0809对两路的电压进行采集,转换成数字量,经过标度转换使其量程在04.98,在标度转换中对第一路的电压值和第二路的电压值轮流计算,得到的数据为16进制数,最后把其转换成BCD码送到显示缓冲区等待显示总上所述,在方案二中,没有采用滚存

9、的方式,这样外界的电压波动很频繁时,会造成显示波动,给人的第一感觉好像是这个系统不够完善,还有在进行标度转换时,对两路的电压轮流进行计算,这样确实能够实现系统空间的节约,但是如果使用切换功能时,此时刚刚还还没有轮到某一路计算及标度转换时,这样显示缓冲区得数据还是前一次的数据,无法显示最新的数据,经过比较,方案一在这两点上比方案二好,但是方案一在转换标度时使用系统的空间比方案二大,所以我选择方案一。三,总体软件设计说明及总流程图3.1 软件总体设计说明本系统包含有两路A/D转换,其数值交替巡回显示在数码管上,可以设置交替显示的节拍时长,范围是0.5秒到5秒。有冻结显示任何一路的功能,冻结期间以0

10、.5秒的速度刷新数据。同时有一个切换显示下一路A/D转换结果的按键。对于A/D转换值进行滚动滤波处理以消除电压抖动带来的显示上的不稳定。同时系统可以设置上限电压,下限电压,并对输入的电压值进行比对,如果超过规定的范围则报警。软件开始执行时先对单片机及各个芯片进行初始化,对RAM单元进行相应的初始化。然后进入主流程执行程序。首先调用键盘消抖程序,读取判断独立按键的键值并保存。然后调用矩阵键盘子程序,通过滚动滤波记录当前按下的键值。随后调用显示更新子程序,将显缓单元的内容送至数码管进行显示。下一步是调用A/D转换子程序。分别对两路电压进行巡回采集并进行滚动保存。然后调用电平开关检测子程序,检测当前

11、电平开关的各个状态以提供给后续程序使用。最后调用进程选择子程序,根据标志位内容判断当前所处的进程,并调用响应功能的子程序。子程序结束之后返回到主流程继续下一次的循环。根据系统的相关要求设计了多个功能的子程序,在相应的进程中执行。使用进程选择判断的功能可以减少对标志位的判断,减少调用子程序,从而加快程序的执行效率。为了操作简便,使用了独立按键,每个按键对应了不同的进程码,可以实现不同的功能。芯片复位程序初始化操作 进行适当延时,使芯片退出复位启动A/D转换,内存单元初始化等包括是开关量得消抖动,进程选择操作。滚存消抖动,0-9数据输入冻结键,切换键,确定,取消键包括显示第一路和第二路的电压信息巡

12、回采集两路A/D转换的原始值,并进行滚存检测电平开关状态,判断用户当前输入哪一位按键消抖程序矩阵键盘扫描显示更新A/D转换电平开关检测进程选择常态进程 交替显示A/D转换值等待进程 显示等待界面信息设节拍进程 设置交替显示的节拍时长设上限电压进程 设置上限报警电压设下限电压进程 设置下限报警电压时钟进程 显示当前时间3.2 系统总流程图 四,系统资源分配及数据定义说明4.1 系统资源分配地址用途10H第一路电压内码 低字节11H第一路电压内码 高字节12H第二路电压内码 低字节13H第二路电压内码 高字节14H保存设置节拍时输入的BCD码 高位15H保存设置节拍时输入的BCD码 低位16H当前

13、输入数字位的闪烁标志位 01H-显示数字 00H-熄灭数码管17H当前修改数字的位次 01H-第一位 02H-第二位 03H-第三位18H无操作时长计数单元 默认为30S19H当前路A/D显示时长计数单元1AH保存节拍时长1BH修改为闪烁时长计数单元1CH当前显示哪一路A/D值的标志位 01H-一路 02H-二路1DH存储修改为闪烁时长1EH当前A/D转换路次 01H-一路 02H-二路 1FH进程码标志位20H冻结键状态标志 00H-未冻结 01H-冻结一路 02H-冻结二路21H输入的上限电压BCD码 百位22H输入的上限电压BCD码 十位23H输入的上限电压BCD码 个位24H输入的下限

14、电压BCD码 百位25H输入的下限电压BCD码 十位26H输入的下限电压BCD码 个位30H显缓单元31H显缓单元32H显缓单元33H显缓单元34H显缓单元35H显缓单元36H显缓单元37H显缓单元38H200uS计数单元39H10mS计数单元3AH秒单元计数3BH分单元计数3CH时单元计数3DH显示的电压BCD码 个位3EH显示的电压BCD码 十位3FH显示的电压BCD码 百位40H一路电压值滚存单元41H一路电压值滚存单元42H一路电压值滚存单元43H一路电压值滚存单元44H二路电压值滚存单元45H二路电压值滚存单元46H二路电压值滚存单元47H二路电压值滚存单元48H切换按键消抖动计数单元49H冻结按键消抖动计数单元4AH冻结期间0.5S计数4BH上下限告警 路次4DH时钟间

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号