标题: 求助STC15F104掉电唤醒 [打印本页]

作者: HSGhxq    时间: 2024-7-21 21:37
标题: 求助STC15F104掉电唤醒
一台污水提升泵进水单片机M9RS8KA1C烧坏,重新画了PCB板想用STC15F104代替,
软件功能是上电P3.3输出低电平8秒输出高电平后进入掉电模式,
等待P3.0高电平触发唤醒后P3.3输出低电平8秒后输出高电平并进入掉电模式,
麻烦大家能否帮忙写个程序,一直卡在掉电无法唤醒


PCB.jpg (648.13 KB, 下载次数: 15)

PCB.jpg

污水提升泵电路图.png (52.05 KB, 下载次数: 14)

污水提升泵电路图.png

作者: lkc8210    时间: 2024-7-22 10:43

P30不支援上升沿中断

作者: devcang    时间: 2024-7-22 12:47
建议升级一下,换STC15W104、等
作者: HSGhxq    时间: 2025-2-26 20:18
ORG 0000H          ; 程序起始地址
    LJMP MAIN      ; 跳转到主程序
ORG 0003H          ; 外部中断0入口地址
    LJMP INT0_K    ;

MAIN:              ; 主程序
    CLR P3.3       ;
        CLR P3.2       ; 水位检测初始化
    MOV SP, #60H   ; 设置堆栈指针
    LCALL DELAY    ; 延时
    LCALL DELAY    ; 延时
    SETB P3.3      ; 关闭排水泵
    SETB IT1       ; 设置INT0为上升沿触发
    SETB EX0       ; 使能外部中断0
    SETB EA        ; 使能全局中断
   
POWER:             ; 进入掉电模式整机能耗低于2uA
    MOV PCON, #02H ; 进入掉电模式(PCON.1 = 1)
    NOP            ; 等待唤醒
    NOP            ; 等待唤醒
    SJMP POWER     ; 无唤醒始终在掉电模式

INT0_K:            ; 水位检测
    CLR EA         ; 关闭全局中断
    CLR P3.3       ; 开启排水泵
        ACALL DELAY    ; 延时
        ACALL DELAY    ; 延时
    SETB P3.3      ; 关闭排水泵
    SETB EA        ; 使能全局中断
   
DELAY:             ; 延时子程序
    MOV  R3,#238;       
D1: MOV  R4,#245;           
D2: MOV         R5,#246;   
        DJNZ        R5,$;   
        DJNZ        R4,D2;           
    DJNZ        R3,D1
      RETI         ; 返回主程序
      END          ; 结束
作者: lkc8210    时间: 2025-2-27 11:23
HSGhxq 发表于 2025-2-26 20:18
ORG 0000H          ; 程序起始地址
    LJMP MAIN      ; 跳转到主程序
ORG 0003H          ; 外部中断0 ...

文不对题,0分
作者: 188610329    时间: 2025-3-1 21:16
STC15F104是有BUG的, 其中 几乎所有的STC15F104E,以及部分版本的STC15F104w无法 从外部中断唤醒。如需外部中断唤醒,最好把片子换成 STC15w104。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1