找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2408|回复: 7
收起左侧

STC单片机进入低功耗模式,如何用ADC触摸按键唤醒。

[复制链接]
ID:709761 发表于 2021-8-19 08:47 | 显示全部楼层 |阅读模式
如题
回复

使用道具 举报

ID:313048 发表于 2021-8-19 14:46 | 显示全部楼层
和普通按键一样操作就好,除非你的触摸按键不是用芯片去采集的,那就没辙

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:584195 发表于 2021-8-19 16:04 | 显示全部楼层
触摸按键是用电容来测量的,估计你还得开个定时器,不知道能不能做到低功耗。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:959439 发表于 2021-8-19 17:10 | 显示全部楼层
ADC0804是带有Interrupt return引脚的,每完成一次ad转换便可以用这个引脚去触发单片机的中断
回复

使用道具 举报

ID:525244 发表于 2023-1-11 11:11 来自手机 | 显示全部楼层
单片机用掉电唤醒定时器间隔唤醒单片机,醒了读取ADC按键,没按下就继续休眠!有手指按下,就执行任务!
回复

使用道具 举报

ID:1034262 发表于 2023-1-11 16:18 | 显示全部楼层
换STC带触摸按键的MCU,STC8H4K64TL,STC8H4K64TLCD,等等。
回复

使用道具 举报

ID:408539 发表于 2023-1-13 05:20 | 显示全部楼层
STC 官方有例程   平时想用什么功能呢个先看看ISP软件上有没有自己需要的,
7.png

#include "reg51.h"
#include "intrins.h"

sfr     INTCLKO     =   0x8f;
#define EX2             0x10
#define EX3             0x20
#define EX4             0x40

sbit    P10         =   P1^0;
sbit    P11         =   P1^1;

sfr     P0M1        =   0x93;
sfr     P0M0        =   0x94;
sfr     P1M1        =   0x91;
sfr     P1M0        =   0x92;
sfr     P2M1        =   0x95;
sfr     P2M0        =   0x96;
sfr     P3M1        =   0xb1;
sfr     P3M0        =   0xb2;
sfr     P4M1        =   0xb3;
sfr     P4M0        =   0xb4;
sfr     P5M1        =   0xc9;
sfr     P5M0        =   0xca;

void INT0_Isr() interrupt 0
{
    P10 = !P10;                                 //测试端口
}

void INT1_Isr() interrupt 2
{
    P10 = !P10;                                 //测试端口
}

void INT2_Isr() interrupt 10
{
    P10 = !P10;                                 //测试端口
}

void INT3_Isr() interrupt 11
{
    P10 = !P10;                                 //测试端口
}

void INT4_Isr() interrupt 16
{
    P10 = !P10;                                 //测试端口
}

void main()
{
    P0M0 = 0x00;
    P0M1 = 0x00;
    P1M0 = 0x00;
    P1M1 = 0x00;
    P2M0 = 0x00;
    P2M1 = 0x00;
    P3M0 = 0x00;
    P3M1 = 0x00;
    P4M0 = 0x00;
    P4M1 = 0x00;
    P5M0 = 0x00;
    P5M1 = 0x00;

    IT0 = 0;                                    //使能INT0上升沿和下降沿中断
//  IT0 = 1;                                    //使能INT0下降沿中断
    EX0 = 1;                                    //使能INT0中断

    IT1 = 0;                                    //使能INT1上升沿和下降沿中断
//  IT1 = 1;                                    //使能INT1下降沿中断
    EX1 = 1;                                    //使能INT1中断

    INTCLKO = EX2;                              //使能INT2下降沿中断
    INTCLKO |= EX3;                             //使能INT3下降沿中断
    INTCLKO |= EX4;                             //使能INT4下降沿中断

    EA = 1;

    PCON = 0x02;                                //MCU进入掉电模式
    _nop_();                                    //掉电模式被唤醒后,MCU首先会执行此语句
                                                //然后再进入中断服务程序
    _nop_();
    _nop_();
    _nop_();

    while (1)
    {
        P11 = ~P11;
    }
}



回复

使用道具 举报

ID:1042619 发表于 2023-1-13 10:27 | 显示全部楼层
楼主可以试试STC几款触摸芯片 STC8H1K8T/STC8H4K64TL/STC8H4K64TLCD
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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