如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
冲击电流记录仪--软件系统设计-20111、软件系统总体设计方案及主程序流程图本系统是一个自动测量记录装置,且对于系统实时响应速度要求不是特别高,因此,主程序设计为循环查询方式。通过不断检测控制按键的状态,确定系统当前要执行的工作任务,并通过依次调用相应的子程序实现系统预设的功能。通过将系统任务合理分割,合理调用,可以满足系统实时性要求,利用控制按键,系统可以灵活地在各个任务之间切换。主程序流程图见图1开始初始化电压测量(A/D)子程序测量最大值?YN按键检测子程序最大值更新子程序显示数据选择及BCD转换子程序显示子程序图1主程序流程图2子程序分析及其流程图2.1电压测量子程序电压测量子程序完成对3路电压信号的依次采集,并存储到指定单元,以供单片机对采集的数据进行处理。A/D转换采用查询等待方式。其程序流程图如下:开始初始化启动A/D转换A/D转换是否结束?取A/D转换数据通道地址加13路A/D转换是否结束?返回YNYN图2电压测量子程序流程图2.2按键检测子程序按键检测子程序主要完成系统工作方式切换和显示数据通道切换。其中用K1键可以依次改变数据通道(1~3)标志,从而可以进行显示通道切换,用K2键依次改变系统工作方式(实时测量(空)、最大值测量(H)、最大值测量结果显示(P))标志,从而可以切换系统工作方式。其程序流程图如下:开始K1按下?K2按下?K2按下?延时消抖延时消抖AAAAAAAXIAODOUXIAODOUK1释放?K2释放?修改测量通道标志修改系统工作方式标志返回YYNNYNYNYNYNK1按下?图3按键检测子程序流程图70H存放的是选择通道的代码,71H存放的是选择系统工作方式的代码。2.3显示数据选择及BCD转换子程序显示数据选择及BCD转换子程序主要功能是依据系统当前工作状态,从指定通道的数据采集结果单元或最大值计算结果单元中取出需要显示的数据,并将二进制数分离成百位数,十位数和个位数分别存放在指定的显示缓存单元(73H,74H和75H)中,其流程图如下:开始显示最大值?取当前通道的电流最大值取当前通道的电流测量值YN电流值BCD分离结果送显示存储区返回取当前通道号图4显示数据选择及BCD转换子程序2.4最大值更新子程序最大值更新子程序主要完成的工作是分别将各个通道的最新电流测量值(放置于60H、61H、62H单元中)与其对应的电流最大值(放置于63H、64H、65H单元中)进行比较,并更新当前最大值。其程序流程图如下:开始测量值大于最大值?Y返回N取通道1电流测量值更新通道1电流最大值测量值大于最大值?YN取通道2电流测量值更新通道2电流最大值测量值大于最大值?YN取通道3电流测量值更新通道3电流最大值图5最大值更新子程序流程图2.5显示子程序显示子程序主要是将当前显示显示存储单元中的数据送LED显示。其程序流程图如下:开始初始化查字形码表送P0口输出段码输出最高位的位选码指向下一位指向下一段选码6个数码管是否显示完返回YN图6显示子程序流程图