位置:51电子网 » 技术资料 » 存 储 器

程序中对按键处理方法

发布时间:2012/6/14 19:50:43 访问次数:1644

    无论是使用定时中断还是实时时钟芯片,运行中XC95144XL-10TQG100C随时都可能插入人工调校。在这里我使用了两个按键SB1、SB2,前者负责数值依据调校内容循环递增,例如“分钟”超过59就回到“月份”超过12就回到1等;后者负责光标移动(改变调校项目)。
    程序中对按键处理方法是,定义了按键状态变量key_state,初始为O,程序循环中一里检测到有按键按下则转为1,下次循环如检测不到则回到0(意味着按键尚未稳定),如继续检测到则认为按键确实按下,进行按键处理,然后进入状态2.在程序循环中检测按键是否释放,如已经释放则进行某些后续处理并使按键状态回到O,准备下次按键检测。这个方法的优点是,检测可靠,反应较快,在按键检测期间可以插入别的工作。具体详情请参看源程序。
    另外,程序中还定义了一个变量mode,作为调校标志。初始为0,对应时钟显示状态,确认有按键按下则转为1,进入调校状态,直到经过多次按键完成调校后它才回到O,再次进入显示状态,液晶显示调校后的时间日期。如图4所示,流程图中左边是调校循环状态,右边是查键一显示循环状态,启动初始化以后先进入右边循环,每0Is查询一次SB2键是否按下,如未按,则计数加1,直到查询10次(正好是1s)刷新LCD显示,同时计数清0,继续循环。如SB2按下,则经过50ms延时确认后,置调校标志为1,进入左边调校循环。在调校循环中,SB2键的作用是移动光标(改变调校项目)以及最后确认完成调校,SB1键的作用是按照SB2当前确定的调校项目改变设置值。调校按键循环周期是0.1s,调校完成后,设置值写八DS1302,清除调校标志,八查键一显示循环。在此循环中,调校设置值也是跟随液晶显示每秒刷新一次。
    无论是使用定时中断还是实时时钟芯片,运行中XC95144XL-10TQG100C随时都可能插入人工调校。在这里我使用了两个按键SB1、SB2,前者负责数值依据调校内容循环递增,例如“分钟”超过59就回到“月份”超过12就回到1等;后者负责光标移动(改变调校项目)。
    程序中对按键处理方法是,定义了按键状态变量key_state,初始为O,程序循环中一里检测到有按键按下则转为1,下次循环如检测不到则回到0(意味着按键尚未稳定),如继续检测到则认为按键确实按下,进行按键处理,然后进入状态2.在程序循环中检测按键是否释放,如已经释放则进行某些后续处理并使按键状态回到O,准备下次按键检测。这个方法的优点是,检测可靠,反应较快,在按键检测期间可以插入别的工作。具体详情请参看源程序。
    另外,程序中还定义了一个变量mode,作为调校标志。初始为0,对应时钟显示状态,确认有按键按下则转为1,进入调校状态,直到经过多次按键完成调校后它才回到O,再次进入显示状态,液晶显示调校后的时间日期。如图4所示,流程图中左边是调校循环状态,右边是查键一显示循环状态,启动初始化以后先进入右边循环,每0Is查询一次SB2键是否按下,如未按,则计数加1,直到查询10次(正好是1s)刷新LCD显示,同时计数清0,继续循环。如SB2按下,则经过50ms延时确认后,置调校标志为1,进入左边调校循环。在调校循环中,SB2键的作用是移动光标(改变调校项目)以及最后确认完成调校,SB1键的作用是按照SB2当前确定的调校项目改变设置值。调校按键循环周期是0.1s,调校完成后,设置值写八DS1302,清除调校标志,八查键一显示循环。在此循环中,调校设置值也是跟随液晶显示每秒刷新一次。

上一篇:怎样显示时间?

上一篇:程序运行

相关技术资料
6-15具体方法
6-14程序中对按键处理方法

热门点击

 

推荐技术资料

循线机器人是机器人入门和
    循线机器人是机器人入门和比赛最常用的控制方式,E48S... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!