找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1364|回复: 9
收起左侧

请教一个检测独立按键问题

[复制链接]
ID:604515 发表于 2023-1-16 17:23 | 显示全部楼层 |阅读模式
本帖最后由 linwanxiang 于 2023-1-16 18:19 编辑

本人菜鸟,向各位高手请教一个问题:
这是一款辉芒微单片机,在检测按键时失败,一上电,LED1一直亮,6脚一直是低电平,没有高电平,是电路出现错误,还是程序错误。
0.jpg
1.jpg 3.jpg
(省略了消抖等代码如下)

#include "SYSCFG.h"
#define LED1 PC2         //LED1
#define SWITCH PA1    //按键开关
void POWER_INITIAL();
main()
{
    POWER_INITIAL();
    while(1)
     {               
        if(SWITCH==0)
        LED1=1;
     }   
}
void POWER_INITIAL()
{
    OSCCON=0B01110001; //IRCF=111=16MHz/2T=8MHz,0.125μs
    INTCON=0;
    TRISC2=0;      //LED1 设置为输出
    TRISA1=1;     //按键开关设置为输入
    WPUA1=1;    //开上拉
    LED1=0;   
}


回复

使用道具 举报

ID:94031 发表于 2023-1-17 08:20 | 显示全部楼层
按键1处要有上拉电阻。
回复

使用道具 举报

ID:1006814 发表于 2023-1-17 08:32 | 显示全部楼层
引脚输入状态时是个弱下拉,可以在引脚外接一个上拉电阻。
回复

使用道具 举报

ID:879348 发表于 2023-1-17 10:40 | 显示全部楼层
没用过这款,但是感觉是仿PIC的,应该还要启用全局上拉允许,上拉才有效
回复

使用道具 举报

ID:879348 发表于 2023-1-17 10:43 | 显示全部楼层
另外还要关闭AN1模拟输入功能
回复

使用道具 举报

ID:604515 发表于 2023-1-17 11:40 | 显示全部楼层
加了一个10K电阻,万用表量6脚有3.3V,另外ANSEL1=0,也关闭了,试了一下,还不行,
回复

使用道具 举报

ID:604515 发表于 2023-1-17 11:42 | 显示全部楼层
加了一个上拉10K电阻,用万用表量了6脚,有3.3V电压,ANSEL1=0,也关闭了,试了一下,还不行。
回复

使用道具 举报

ID:604515 发表于 2023-1-17 13:07 | 显示全部楼层
wufa1986 发表于 2023-1-17 10:40
没用过这款,但是感觉是仿PIC的,应该还要启用全局上拉允许,上拉才有效

感谢大佬,开启了全局上拉,问题解决了,外接电阻也撤掉了。
1、开启了全局上拉
2、撤掉了外接上拉电阻,靠内部上拉,也可以
3、关闭了比较器和AN1的输入
回复

使用道具 举报

ID:604515 发表于 2023-1-17 13:07 | 显示全部楼层
wufa1986 发表于 2023-1-17 10:43
另外还要关闭AN1模拟输入功能

感谢大佬,开启了全局上拉,问题解决了,外接电阻也撤掉了。
1、开启了全局上拉
2、撤掉了外接上拉电阻,靠内部上拉,也可以
3、关闭了比较器和AN1的输入
回复

使用道具 举报

ID:709761 发表于 2023-1-17 14:50 | 显示全部楼层
按键坏了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表