首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >4x4开关板检测

4x4开关板检测
EN

Stack Overflow用户
提问于 2011-04-02 06:31:40
回答 1查看 358关注 0票数 0

我在MPLAB中编写PIC16f877 (使用汇编)。我有4x4的开关板。我可以接受输入,但我无法检测它来自哪个开关。我正在使用端口B,将第一个RB4设置为RB7输入,将RB0设置为RB3输出,但例如SW0、SW4、SW8、SW12的功能是否相同?我如何才能严格地确定它们??

以下是我的代码的相关部分

代码语言:javascript
复制
...
bsf TRISB,5
bcf TRISB,2
bcf STATUS,RP0

bsf STATUS,RP0
bcf OPTION_REG,7
bcf STATUS,RP0

...

btfs PORTB,5
call button1

goto    main

button1:
movlw   b'11111111'
movwf   PORTD
clrf    PORTE
bsf PORTE,2
call    delay

    return
EN

回答 1

Stack Overflow用户

发布于 2011-04-04 20:38:32

一次驱动一列,扫描行,然后驱动下一列。听起来像是同时在驱动多个列,所以无法分辨是哪个开关,因为同一行处于活动状态。有some sample code here,但您需要将其转换为程序集。Alternative a good Microchip app note (AN1081)描述了问题和解决方案,即使您的硬件不同,也可以从中学习。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5519561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档