|
發布時間: 2024-7-21 21:37
正文摘要:一臺污水提升泵進水單片機M9RS8KA1C燒壞,重新畫了PCB板想用STC15F104代替, 軟件功能是上電P3.3輸出低電平8秒輸出高電平后進入掉電模式, 等待P3.0高電平觸發喚醒后P3.3輸出低電平8秒后輸出高電平并進入掉電模式 ... |
| STC15F104是有BUG的, 其中 幾乎所有的STC15F104E,以及部分版本的STC15F104w無法 從外部中斷喚醒。如需外部中斷喚醒,最好把片子換成 STC15w104。 |
HSGhxq 發表于 2025-2-26 20:18 文不對題,0分 |
|
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 ; 結束 |
| 建議升級一下,換STC15W104、等 |
P30不支援上升沿中斷 |