熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2024-7-21 21:37
正文摘要:一臺(tái)污水提升泵進(jìn)水單片機(jī)M9RS8KA1C燒壞,重新畫了PCB板想用STC15F104代替, 軟件功能是上電P3.3輸出低電平8秒輸出高電平后進(jìn)入掉電模式, 等待P3.0高電平觸發(fā)喚醒后P3.3輸出低電平8秒后輸出高電平并進(jìn)入掉電模式 ... |
STC15F104是有BUG的, 其中 幾乎所有的STC15F104E,以及部分版本的STC15F104w無法 從外部中斷喚醒。如需外部中斷喚醒,最好把片子換成 STC15w104。 |
HSGhxq 發(fā)表于 2025-2-26 20:18 文不對(duì)題,0分 |
ORG 0000H ; 程序起始地址 LJMP MAIN ; 跳轉(zhuǎn)到主程序 ORG 0003H ; 外部中斷0入口地址 LJMP INT0_K ; MAIN: ; 主程序 CLR P3.3 ; CLR P3.2 ; 水位檢測(cè)初始化 MOV SP, #60H ; 設(shè)置堆棧指針 LCALL DELAY ; 延時(shí) LCALL DELAY ; 延時(shí) SETB P3.3 ; 關(guān)閉排水泵 SETB IT1 ; 設(shè)置INT0為上升沿觸發(fā) SETB EX0 ; 使能外部中斷0 SETB EA ; 使能全局中斷 POWER: ; 進(jìn)入掉電模式整機(jī)能耗低于2uA MOV PCON, #02H ; 進(jìn)入掉電模式(PCON.1 = 1) NOP ; 等待喚醒 NOP ; 等待喚醒 SJMP POWER ; 無喚醒始終在掉電模式 INT0_K: ; 水位檢測(cè) CLR EA ; 關(guān)閉全局中斷 CLR P3.3 ; 開啟排水泵 ACALL DELAY ; 延時(shí) ACALL DELAY ; 延時(shí) SETB P3.3 ; 關(guān)閉排水泵 SETB EA ; 使能全局中斷 DELAY: ; 延時(shí)子程序 MOV R3,#238; D1: MOV R4,#245; D2: MOV R5,#246; DJNZ R5,$; DJNZ R4,D2; DJNZ R3,D1 RETI ; 返回主程序 END ; 結(jié)束 |
建議升級(jí)一下,換STC15W104、等 |
![]() P30不支援上升沿中斷 |
Powered by 單片機(jī)教程網(wǎng)