1.思路分析
煤矿自动运输车模拟系统的程序代码有多种写法。下面介绍比较符合初学者思维习惯的思路。
(1)由于显示信息量较大,我们可将需显示的汉字、字符的字模一次性取出来,再写出公式化的显示函数(注:有三个参数,即字符欲显示在哪一页、哪一列、字符在字模数组中的序号)。需显示信息时,调用显示函数(只需修改页、列、序号等参数)就在规定的位置显示我们欲显示的内容。
(2)由于子任务较多,我们可将子任务单独写成子函数(子函数的难度并不大),供主函数或其他子函数调用。在工作过程的关键时刻(关键状态),设置状态标志(如给变量赋不同的值来表示不同的关键时刻,或者用不同的变量取某一个值来表示不同的关键时刻)。这些状态标志可作为各个子函数及主函数之间的联络桥梁。
(3)本项目的难点、关键是对呼叫的登记和排队。我们可用一个变量numhj记录呼叫的次数(任意工位的键按下一次则numhj就加1),用一个数组table[]来保存键值。任意工位的键按下,键值就保存在table[numhj]内,这样实现呼叫工位的登记和排除。详见本书257页的矩阵键盘扫描函数jzjp()。
2.程序代码示例
注:关于快选键的补充说明。(www.xing528.com)
当逆时针转动旋钮到底时,可调电位器中间抽头到地的电阻为0,中间抽头输出电压为0V,该电压A-D转换的数值为0,对应数字为1。
当顺时针转动旋钮一定角度时,中间抽头到地的电阻线性增加,中间抽头输出电压也线性增加,该电压A-D转换的数值也线性增加,假设为adnum,则对应数字为14adnum/255+1。
当顺时针转动该旋钮到顶时,可调电位器中间抽头到地的电阻为最大值,中间抽头输出电压为最大值(电源电压),该电压A-D转换的数值为255,对应数字为15。
说明:①本项目采用模块化编程,层次更清晰一些,参考程序见本书所附学习资料。
②想一想,本项目的程序怎样更简化一些?变量和函数的命名怎样修改更人性化一些?
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。