电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

PIC单片机按键检测,单双击、长短按识别VIP免费

PIC单片机按键检测,单双击、长短按识别_第1页
1/26
PIC单片机按键检测,单双击、长短按识别_第2页
2/26
PIC单片机按键检测,单双击、长短按识别_第3页
3/26
硬 件PIC16F883 芯 片 , 10 个 按 键 , 4 位 数 码 管 。 【芯 片 引脚】 【数 码 管 连接】PORTC 连接数 码 管 的 8 段 LED, PORTA<3:0>连接数 码 管 的 4 个 共阴极(控制选通位 )。 【按 键 连接】 按 键 扫 描 程 序 在 上 一 篇 博 文 里 面 有 说 明 , 现 在 还 是 使 用 上 面 的 扫 面 方 式 ( 代 码 都 是 一 样 的 ) 。用 记 录 按 键 按 下 和 弹 起 的 时 间 判 断 是 不 是 长 按 和 双 击 。 TMR1 设 置 , 1:4 分 频 、1:8 预分 频 ,计数周期为 8uS。 TMR1 溢出一 次时 间 为 0.524288 S keypress 记 录TMR1 溢出的 次数。keypress 大于等于 2 就跳出检测, 认为他是 长 按 ( 时 间 为 1.048576S) 。 keypress<1 且keyrelease <1 , 再次按 下 的keypress<1 就认为是 双 击 。 如下 图: KP 按 键 按 下 , KR 按 键 弹 起 。 【实现代码】 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #include __CONFIG _CONFIG1, _LVP_OFF & _FCMEN_ON & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_ON & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT __CONFIG _CONFIG2, _WRT_OFF & _BOR21V udata_shr counter res 1 ;计数个位 counter0 res 1 ;计数十位 counter1 res 1 ;扫描按键变量 counter2 res 1 ;延时程序微调参数 key_state res 1 ;按键状态 keynum res 1 ;按键标号 swap res 1 ;确认按键转换值 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 keypress res 1 keypressbak res 1 keyrelease res 1 LED1 res 1 LED2 res 1 LED3 res 1 LED4 res 1 UDATA counter3 res 1 counter4 res 1 sign res 1 reset code 0x0000 pagesel start goto start ;int_vector code 0x0004 code start banksel ANSEL ;设置PORTA 为数字模式 clrf ANSEL banksel ANSELH ;设置PORTB 为数字模式 72 73 74 75 76 77 78 79 ...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

PIC单片机按键检测,单双击、长短按识别

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部