任务实施

更新于 2026年10月10日 版权声明
任务实施

一、任务分析

本任务是设计按键计数器,K1按下时,数码管左端数据加1;K2按下时,数码管右端数据减1。

按键状态判断:

if(K1==0&&k==1){语句;} //按键K1按下时,状态为1

if(K1)k=1;//按键K1释放后,状态为1

提示:在按键程序中,确认按键按下时,就会执行“键按下后的语句”。如果没有“按键状态判断”,程序会很快返回,进行下一次的按键确认,如果键还没释放,又会执行“键按下后的语句”,这样数据会快速递增,很快达到上限或者溢出,造成按键功能不能正常实现的故障。

二、程序设计

程序设计流程如图5-2-3所示。

图示

图5-2-3 程序流程图

参考程序:

图示

图示

三、电路仿真

1.绘制电路图

打开Proteus软件,建立“按键计数器的制作与实现”文件,放置元器件。所需元器件见表5-2-4。绘制完成的电路如图5-2-4所示。(https://www.daowen.com)

表5-2-4 元件清单

图示

图示

图5-2-4 绘制电路

2.编写程序

打开Keil软件,新建“按键计数器”工程文件,新建“jishuq.c”文件,编写程序并生成hex文件。编写完成的程序如图5-2-5所示。

图示

图5-2-5 编写程序

3.电路仿真

双击单片机,打开“Edit Component”对话框,加载hex文件。单击“仿真”按钮,仿真电路,并观看仿真结果。仿真结果如图5-2-6所示。

图示

图5-2-6 仿真结果

图示

仿真视频

仿真结果显示:当按下K1按键时,数码管左端开始加1计数;当按下K2按键时,数码管右端开始减1计数。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)