3.3.4 显示子程序流程图
开始保护现场①延时1~2ms修改显示缓冲单元地址显示缓冲区地址指针初始化置位控码初值是否显示到最高位?N修改位控码值保存位控码值Y输出位控码A←显示数据恢复现场返回查表取出显示数据字形代码输出段控码(字形代码)①
图14 显示子程序流程图
如图14显示子程序流程框图,设计采用连续调用两次显示子程序,分别将位控码送P2和P3口。首先保护现场,开辟第三组寄存器,地址指针R0和位控寄存器R2初始化。然后查表取段控码,段控码送P0口,位控码送P2口和P3口并延时1秒,同时位控码左移,显示缓冲区地址加一。判断8位LED灯是否显示完,如果没有就返回重新查表取段控码,如果有就恢复现场,子程序返回。
11
3.3.5 键功能子程序流程图
(1)按键1执行的键功能程序流程框图如图15所示,给缓冲地址赋初值显示初始价格。
图15 键功能子程序流程图
(2)按键2执行的键功能程序流程框图如图16所示,位移缓冲地址选择
修改位。
12
图16 键功能子程序流程图
(3)按键3执行的键功能程序流程框图如图17所示,修改缓冲地址内容。
图17 键功能子程序
流程图
(4)按键4程序流程框图如图
13
执行的键功能18所示,位移
缓冲地址选择修改位。
图18 键功能子程序流程图
(5)按键5,6,7,8执行的键功能程序流程框图如图19所示,位移缓冲地址选择修改位。
图19 键功能子程序流程图
14
3.4 程序清单
程序清单见附录D。
4 设计测试和使用说明及心得
4.1 使用说明
电子价格牌在通电和按下复位按钮的时候显示P.,按下按钮1电子价格牌开始工作并且将所有位清零。按钮2按下后第一位显示P.并可以进行修改,再按一次再前进一位并且显示P.。按钮3可以进行数字修改,按一下当前数字减一(P.)加一为9。按钮4按下后,后一位显示P.,并且可以修改。按钮5按下并不松手可以连续修改数字持续减一。
4.2 测试过程
电子价格牌在待机状态如图20所示,在通电和复位时显示“P.”。除了按按键1/启动键和按其他键均无反应。
图20 实物待机状态
15