
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
任务3 查询式按键值显示设计
设计要求
将8个按键从1~8进行编号,如果其中一个键被按下,则在LED数码管上显示相应的键值。
硬件设计
在桌面上双击图标,打开Proteus 8 Professional窗口。新建一个DEFAULT模板,添加表4-2 所列的元器件,并完成如图4-8所示的硬件电路图设计。
表4-2 查询式按键设计所用元器件


图4-8 查询式按键值显示电路图
程序设计
如果有键被按下,则相应的输入为低电平,否则为高电平。这样可通过读入P1端口的数据来判断被按下的是哪个键。若有键被按下,要用一定的延时来防止由于键盘抖动而引起的误操作。查询式按键值显示程序流程图如图4-9所示。可以使用if语句或switch语句实现此任务操作。

图4-9 查询式按键值显示程序流程图
源程序
1)使用if语句实现的源程序


2)使用switch语句实现的源程序


调试与仿真
首先在Keil中创建项目,输入源代码并生成Debug.OMF文件,然后在Proteus 8 Professional中打开已创建的查询式按键值显示电路图并进行相应设置,以实现Keil与Proteus的联机调试。单击Proteus 8 Professional模拟调试按钮的运行按钮,进入调试状态。此时按下某个按键后,LED数码管将会显示相应的键值。例如,按下按键K6后,其运行仿真效果图如图4-10所示。

图4-10 查询式按键值显示运行仿真效果图