完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 我爱肖文娟 于 2017-9-15 09:20 编辑
/******************************************************************************* * 功能:矩阵键盘扫描 * * * 特点:无延时 *******************************************************************************/ #include "stc89xx.h" #include "config.h" #include "MyType.h" #include "keyArray.h" #define keyArray_port P2 volatile unsigned char keyArray_value; void key_timer0_init(void) { TMOD&=0xF0; TMOD|=0x01; TH0=(65536-Fclk/1000/12*5+15)/256; //定时间隔为5ms,加15是为了修正重装所花费时间 TL0=(65536-Fclk/1000/12*5+15)%256; ET0=1; TR0=1; EA=1; } /******************************************************************** 函数功能:在定时器0中断里获取按键 入口参数:无。 返 回:无。 备 注:22.1184M晶体约5ms中断一次。 ********************************************************************/ void Timer0Isr(void) interrupt 1 { static unsigned char i; static unsigned char keyArray_timer; TH0=(65536-Fclk/1000/12*5+15)/256; //定时间隔为5ms,加15是为了修正重装所花费时间 TL0=(65536-Fclk/1000/12*5+15)%256; keyArray_timer++; //防抖动时间 if(i==4) i=0; keyArray_port=( 0xfe << i ); if(keyArray_timer==2) { i++; keyArray_timer=0; switch(keyArray_port) { case 0xee:keyArray_value=KEYV1_PUSHED;break; case 0xde:keyArray_value=KEYV2_PUSHED;break; case 0xbe:keyArray_value=KEYV3_PUSHED;break; case 0x7e:keyArray_value=KEYV4_PUSHED;break; case 0xed:keyArray_value=KEYV5_PUSHED;break; case 0xdd:keyArray_value=KEYV6_PUSHED;break; case 0xbd:keyArray_value=KEYV7_PUSHED;break; case 0x7d:keyArray_value=KEYV8_PUSHED;break; case 0xeb:keyArray_value=KEYV9_PUSHED;break; case 0xdb:keyArray_value=KEYV10_PUSHED;break; case 0xbb:keyArray_value=KEYV11_PUSHED;break; case 0x7b:keyArray_value=KEYV12_PUSHED;break; case 0xe7:keyArray_value=KEYV13_PUSHED;break; case 0xd7:keyArray_value=KEYV14_PUSHED;break; case 0xb7:keyArray_value=KEYV15_PUSHED;break; case 0x77:keyArray_value=KEYV16_PUSHED;break; default: keyArray_value=KEYV0_PUSHED;break; } } } |
|
相关推荐 |
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
902 浏览 0 评论
588 浏览 0 评论
嵌入式学习-搭建自己的ubuntu系统之ubuntu网络设置
718 浏览 0 评论
龙芯中科胡伟武:3B6600 八核桌面 CPU 性能将达到英特尔中高端酷睿 12~13 代水平
780 浏览 0 评论
树莓派Pico 2发布,搭载RP2350双核RISC-V和Arm Cortex-M33微控制器!
740 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10742 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-19 02:22 , Processed in 0.524160 second(s), Total 41, Slave 32 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191