- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
冲击电流记录仪--软件系统设计-2011
1、软件系统总体设计方案及主程序流程图
本系统是一个自动测量记录装置,且对于系统实时响应速度要求不是特别高,因此,主程序设计为循环查询方式。通过不断检测控制按键的状态,确定系统当前要执行的工作任务,并通过依次调用相应的子程序实现系统预设的功能。通过将系统任务合理分割,合理调用,可以满足系统实时性要求,利用控制按键,系统可以灵活地在各个任务之间切换。
主程序流程图见图1
图1主程序流程图
2 子程序分析及其流程图
2.1电压测量子程序
电压测量子程序完成对3路电压信号的依次采集,并存储到指定单元,以供单片机对采集的数据进行处理。A/D转换采用查询等待方式。其程序流程图如下:
图2电压测量子程序流程图
2.2按键检测子程序
按键检测子程序主要完成系统工作方式切换和显示数据通道切换。其中用K1键可以依次改变数据通道(1~3)标志,从而可以进行显示通道切换,用K2键依次改变系统工作方式(实时测量(空)、最大值测量(H)、最大值测量结果显示(P))标志,从而可以切换系统工作方式。其程序流程图如下:
图3 按键检测子程序流程图
70H存放的是选择通道的代码,71H存放的是选择系统工作方式的代码。
2.3 显示数据选择及BCD转换子程序
显示数据选择及BCD转换子程序主要功能是依据系统当前工作状态,从指定通道的数据采集结果单元或最大值计算结果单元中取出需要显示的数据,并将二进制数分离成百位数,十位数和个位数分别存放在指定的显示缓存单元(73H,74H和75H)中,其流程图如下:
图4显示数据选择及BCD转换子程序
2.4 最大值更新子程序
最大值更新子程序主要完成的工作是分别将各个通道的最新电流测量值(放置于60H、61H、62H单元中)与其对应的电流最大值(放置于63H、64H、65H单元中)进行比较,并更新当前最大值。其程序流程图如下:
图5最大值更新子程序流程图
2.5显示子程序
显示子程序主要是将当前显示显示存储单元中的数据送LED显示。其程序流程图如下:
图6 显示子程序流程图
1
开始
初始化
电压测量(A/D)子程序
测量最大值?
显示数据选择及BCD转换子程序
最大值更新子程序
显示子程序
Y
N
开始
初始化
启动A/D转换
A/D转换是否结束?
取A/D转换数据
通道地址加1
3路A/D转换是否结束?
返回
Y
N
Y
N
开始
K1按下?
K2按下?
K1按下?
K2按下?
延时消抖
延时消抖AAAAAAAXIAODOU XIAODOU
K1释放?
K2释放?
修改测量通道标志
修改系统工作方式标志
返回
Y
Y
N
N
Y
N
Y
N
Y
N
Y
N
开始
显示最大值?
取当前通道的电流最大值
取当前通道的电流测量值
Y
N
电流值BCD分离
结果送显示存储区
取通道1
电流测量值
返回
开始
测量值大于最大值?
更新通道1
电流最大值
取通道3
电流测量值
N
Y
Y
返回
测量值大于最大值?
N
更新通道3
电流最大值
更新通道2
电流最大值
取通道2
电流测量值
N
Y
测量值大于最大值?
开始
初始化
查字形码表送P0口输出段码
输出最高位的位选码
指向下一位
指向下一段选码
6个数码管是否显示完
返回
Y
N
按键检测子程序
取当前通道号
文档评论(0)