
单片机
qq_31282935
这个作者很懒,什么都没留下…
展开
-
单片机——按键扫描
按键扫描,我想应该是比较简单的单片机应用了,但是有时候看起来简单的东西反而不好写。本文拿大部分人觉得简单的按键扫描聊聊我工作至今对于软件结构的理解。嗯,对的,是结构,不是架构,暂时不敢提架构这个词。按键扫描,我当时入门的时候是看的郭天祥的51单片机入门的,视频里面讲的是循环扫描io引脚,一旦有电平变化就利用软件延时消抖,模拟延时就是让单片机空转,什么也不做,等待个几十毫秒之后再检测一次如果电平没有变化就认为按键按下。这种方法也能实现按键检测,好处是简单,缺点是占用太多的软件资源,CPU空转这一点我觉得挺原创 2020-07-31 18:38:02 · 1917 阅读 · 0 评论 -
单片机 三行代码的C语言按键扫描程序详解
uchar cont,trg; //triger触发 continue连续void KeyScan(){uchar ReadData = P3^0xff;trg = ReadData&(ReadData^cont);cont = ReadData;}1) 没有按键的时候端口为0xff,ReadData读端口并且取反,很显然,就是 0x00 了。Trg = ReadData & (ReadData ^ Cont); (初始状态下,Cont也是为0的)很简单的原创 2020-07-31 18:36:21 · 2132 阅读 · 0 评论 -
新型的按键扫描程序
不过我在网上游逛了很久,也看过不少源程序了,没有发现这种按键处理办法的踪迹,所以,我将他共享出来,和广大同僚们共勉。我非常坚信这种按键处理办法的便捷和高效,你可以移植到任何一种嵌入式处理器上面,因为C语言强大的可移植性。同时,这里面用到了一些分层的思想,在单片机当中也是相当有用的,也是本文的另外一个重点。对于老鸟,我建议直接看那两个表达式,然后自己想想就会懂的了,也不需要听我后面的自吹自擂了,我可没有班门弄斧的意思,hoho~~但是对于新手,我建议将全文看完。因为这是实际项目中总结出来的经验,学校里面学原创 2020-07-23 14:59:39 · 225 阅读 · 0 评论