5. 案例03:功能选择器¶
5.4. 软件¶
- 微软makecode在线积木块编程https://makecode.microbit.org/#
- 按钮模块以模拟值读取I/O口返回值,值如下。
- A按钮<10
- B按钮10-80
- C按钮80-130
- D按钮130-160
- E按钮160-600
5.5. 编程¶
步骤 1¶
- 设置一个永久循环,以模拟数字方式读取P0口,将返回值赋值给
itmmm
变量,用于判断哪个键按下。 - 当变量
itmmm
小于10,意为A按钮按下。当A按钮按下,调用函数func_A
调用结束后将变量flag
(函数内部循环判断变量)设置为0。 - 当变量
itmmm
小于80,意为B按钮按下。当B按钮按下,调用函数func_B
调用结束后将变量flag
(函数内部循环判断变量)设置为0。 - 当变量
itmmm
小于130,意为C按钮按下。当C按钮按下,调用函数func_C
。
步骤 2¶
func_A
函数:当flag
变量大于600,(也就是没有按下按钮)读取P1口并且描绘在点阵显示屏上。读取P0口按键状态,当按下E按钮,循环结束,函数调用结束。func_B
函数:当flag
变量大于600,(也就是没有按下按钮)显示一颗闪烁的心,每闪烁一次后,读取P0口按键状态,当按下E按钮,循环结束,函数调用结束。func_C
函数,清空屏幕,调用结束。
5.6. 结论¶
- 上电时因为判断按钮并不为ABC按钮,则显示一个小房子图标。
- 按下按钮A,调用func_A函数,用电位器控制点阵显示屏亮度。按下任意按钮调用结束。
- 按下按钮B,调用func_B函数,显示一颗跳动的心。按下任意按钮调用结束。
- 按下按钮C,调用func_C函数,清空屏幕。
- 其他情况显示一个小房子图标。