新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PIC16F72 休眠程序

        PIC16F72 休眠程序

        作者: 時間:2016-11-13 來源:網絡 收藏
        因為要用到單片機休眠,所以現在就學了下休眠的使用,在PICC編譯器 C語言休眠比較簡單,就SLEEP();語句. 我用萬用表測試了下,進入休眠后電流在0.2-0.3uA,這里我應用了中斷喚醒功能

        芯片數據手冊有介紹休眠的相關內容

        本文引用地址:http://www.104case.com/article/201611/316068.htm

        具體程序如下:

        #include
        __CONFIG(11111110111001);//bit13-bit7=1;bit6 欠壓使能(1 enable);bit5=1;bit4 代碼保護(0保護);
        //bit3 上電延時(0 enable);bit2 看門狗(1 enable);bit1-bit0 時鐘選擇 (11 RC 10 HS 01 XT OO LP)

        #define uchar unsigned char
        #define uint unsigned int

        void Init(void); //初始化子程序
        void delayms(unsigned int count);
        #define LED12 RB7

        /*********************************************/
        void delayms(unsigned int count)
        {
        uint i,j;
        for(i=0;ifor(j=0;j<120;j++);
        }
        /*********************************************/

        void Init(void)
        {
        PORTA = 0B00000000;
        PORTB = 0B00000000;
        PORTC = 0B00000000;

        TRISA = 0B00000000;//設置PORTA口為輸出
        TRISB = 0B00000001;//設置RB0為輸入,作為按鍵口
        TRISC = 0B00000000;//設置RC輸出

        RBPU=0;//PORTB上拉使能
        ADCON1=0B11111111;//設置為數字I/O

        ///////////中斷配置///////////////////////////////////////
        INTE=1; //RB0(INT)中斷使能
        INTF=0; //RB0(INT)中斷標志位,1表示有中斷,必須軟件清零
        GIE=1;//全局中斷使能

        }
        ////////////中斷子程序//////////////////
        void interrupt ISR(void)//進入中斷計數值加1,并輸出顯示
        {
        INTF=0; //清除中斷標志位
        }

        ////////////////主程序//////////////////

        void main (void)
        {
        uint win;
        uchar i;
        Init();//初始化程序

        PORTC=0XFF;
        PORTB=0XFF;
        delayms(1000);
        while(1)
        {
        LED12=1 ; //休眠前關閉LED
        SLEEP(); //進入休眠
        LED12=0;//休眠喚醒后點亮LED,并且延時一會后又進入休眠
        delayms(1000);
        }

        }



        關鍵詞: PIC16F72休眠程

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 武乡县| 盘山县| 孟村| 富平县| 临夏市| 松溪县| 新竹县| 卢湾区| 潮安县| 定结县| 轮台县| 时尚| 怀柔区| 乌鲁木齐市| 江门市| 邵东县| 沂源县| 专栏| 黄平县| 枞阳县| 辽阳县| 湖州市| 元朗区| 县级市| 马鞍山市| 和田县| 阳东县| 阳春市| 青铜峡市| 诏安县| 巴青县| 太仓市| 襄樊市| 北碚区| 都兰县| 台南县| 宣武区| 灵寿县| 和静县| 西吉县| 永善县|