原理:将按键这一事件的过程划分成如下几个状态:
//stata 函数运行状态
//0: 初始状态
//1: 第一洗按键按下
//2: 第一次长按抬起
//3: 第一次短按抬起
//4: 第二次按键按下
//5: 第二次按键抬起
利用定时器记录系统运行时间,根据系统运行时间来确定按键时间间隔,根据不同的时间间隔来判断当前按键事件处于哪一过程以及是否结束该事件。
主函数中应循环调用按键检测函数,调用间隔不超过100ms,此函数不会阻塞程序运行。
版本说明:
............................................................
版本号Beta0.0
本驱动工具包主要包含以下驱动(xxx.c文件和xxx.h文件共同使用,下面不再写后缀)
1“define.h”----包含了类型定义与开发板属性的设置(如晶振频率等)
2“delay”----定义了两个延时函数,支持STC大多数芯片(除15H系列..)
【提示】本函数库中驱动多数依赖于"delay.c""delay.h"和"define.h"文件
3“digital_display”----数码管显示驱动(硬件是基于两个373锁存器分别用作段数据和位数据)
4“digital_to_string”----包含了浮点数转换成字符串的函数
5“DS18B20”----温度传感器驱动
6“DS1302”----时钟芯片驱动
7“I2C”----软件模拟I2C总线驱动
8“Keyboar