|
我給你來(lái)個(gè)程序試試
- /*---------------------------------------------------------------------*/
- /* --- STC MCU Limited ------------------------------------------------*/
- /* --- STC15F100 系列 INT0喚醒掉電模式舉例--------------------------*/
- /* --- Mobile: (86)13 922 805190 -------------- -------------------------*/
- /* 如果要在程序中使用此代碼,請(qǐng)?jiān)诔绦蛑凶⒚魇褂昧薙TC的資料及程序 */
- /* 如果要在文章中應(yīng)用此代碼,請(qǐng)?jiān)谖恼轮凶⒚魇褂昧薙TC的資料及程序 */
- /*---------------------------------------------------------------------*/
- //本示例在Keil開(kāi)發(fā)環(huán)境下請(qǐng)選擇Intel的8058芯片型號(hào)進(jìn)行編譯
- //若無(wú)特別說(shuō)明,工作頻率一般為11.0592MHz
- #include "reg51.h"
- #include "intrins.h"
- //-----------------------------------------------
- sfr P3M1 = 0xb1;
- sfr P3M0 = 0xb2;
- bit FLAG; //1:上升沿中斷 0:下降沿中斷
- sbit P33 = P3^3;
- //-----------------------------------------
- //中斷服務(wù)程序
- void exint0() interrupt 0 //INT0中斷入口 P3.2
- {
- P33 = !P33; //將測(cè)試口取反
- FLAG = INT0; //保存INT0口的狀態(tài), INT0=0(下降沿); INT0=1(上升沿)
- }
- //-----------------------------------------------
- void main()
- {
- P3M0 = 0x00;
- P3M1 = 0x00;
- IT0 = 0; //設(shè)置INT0的中斷類(lèi)型為上升沿和下降沿,上升沿和下降沿均可喚醒
- // IT0 = 1; //設(shè)置INT0的中斷類(lèi)型為僅下降沿,下降沿喚醒
- EX0 = 1; //使能INT0中斷
- EA = 1;
- while (1)
- {
- PCON = 0x02; //MCU進(jìn)入掉電模式
- _nop_(); //掉電模式被喚醒后,首先執(zhí)行此語(yǔ)句,然后再進(jìn)入中斷服務(wù)程序
- _nop_();
- }
- }
復(fù)制代碼 |
評(píng)分
-
查看全部評(píng)分
|