感受:在使用单片机开发式,应该使用不同的寄存器存取中间变量,使得一个模板与一个模板之间关联减少。如处理按键,只是判断按键是否按下,传递出KeySuccess_F。在按键处理时由KeySuccess_F影响LED1_F。在现实模板LED1_F最终确定灯的亮灭。
在不同模板之间设置寄存器达到低耦合,高内聚的状态。如两个模板之间,应该有三个或三个以上寄存器或变量连接。
按键扫描模板
void KeyScan() {
if(KeyScan10ms_F == 1)
{
KeyScan10ms_F = 0;
Key1PinM_IN; //按键1设置为输入
Key2PinM_IN; //按键2设置为输入
P0UR |= B0110_0000; //上拉开启,由外部上拉可以不用
Keycode = 0;
if(Key1Pin == 0)
Keycode_0 = 1;