在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > PIC18F458單片機(jī)休眠狀態(tài)工作方式與激活

            PIC18F458單片機(jī)休眠狀態(tài)工作方式與激活

            作者: 時間:2012-12-11 來源:網(wǎng)絡(luò) 收藏

            /*該程序?qū)崿F(xiàn)工作方式,并由實驗板上的按鍵產(chǎn)生"電平變化中斷"將其從。休眠與的狀態(tài)由與D口相連的8個LED顯示。休眠時高4個
            LED發(fā)光,低4個LED熄滅; 以后高4個LED熄滅,低4個LED發(fā)光*/

            #include"p18f458.h"

            unsignedlong i;

            /*系統(tǒng)初始化子程序*/
            void initial()
            {
            INTCON=0x08;/*全局中斷禁止,"電平變化中斷"只執(zhí)行喚醒功能*/
            /*清除B口電平變化中斷標(biāo)志*/
            TRISA=0x00;/*A口設(shè)置為輸出*/
            TRISB=0XF0;/*RB1輸出,RB4輸入*/
            TRISD=0X00;/*D口為輸出*/
            TRISE=0x00;/*E口設(shè)置為輸出*/
            PORTBbits.RB1=0;
            PORTAbits.RA3=0;
            PORTE=0;/*將K1,K2,K3,K4四條列線置0*/
            PORTB=PORTB;/*讀PORTB的值,鎖存舊值,也為“電平變化
            中斷”作準(zhǔn)備*/
            }

            void SLEEP()
            {
            _asm
            SLEEP /*進(jìn)入*/
            _endasm
            }

            /*主程序*/
            main ()
            {
            initial();/*初始化*/
            PORTD=0X0F;/*高4個LED燈亮*/
            SLEEP();/*單片機(jī)開始進(jìn)入休眠狀態(tài)*/
            PORTD=0XF0;/*激活后,低4個LED燈亮*/
            while(1)
            {
            ;
            }

            }
            完畢!
            -----------匯編語言編寫的單片機(jī)休眠狀態(tài)工作方式與激活-----------------------
            ;該程序?qū)崿F(xiàn)的休眠工作方式,
            ;http://www.51hei.com已用本站單片機(jī)實驗板測試通過本程序
            ;并由實驗板上的按鍵產(chǎn)生"電平變化中斷"將其從休眠狀態(tài)中激活.

            LISTP=18F458
            INCLUDE"P18F458.INC"

            COUNTEQU0X20

            ORG0X00
            GOTOMAIN
            ORG0X30

            ;************顯示子程序***************
            DISPLAY
            CLRFPORTA
            MOVWFSSPBUF
            LOOPNOP
            BTFSS PIR1,SSPIF
            GOTO LOOP
            NOP
            BCFPIR1,SSPIF
            BSFPORTA,5;詳細(xì)程序語句請參考3. 1. 3節(jié)
            RETURN

            ;**********初始化子程序*************
            INITIAL
            BCFINTCON,GIE;全局中斷禁止,"電平變化中斷"只執(zhí)行喚醒功能
            BSFINTCON,RBIE;PORTB口電平變化中斷允許
            BCFINTCON,RBIF;清除B口電平變化中斷標(biāo)志
            BCFTRISA,5 ;置RA5為輸出方式,以輸出鎖存信號
            BCFTRISB,1
            BCFTRISA,3
            BCFTRISE,0
            BCFTRISE,1
            BSFTRISB,4 ;設(shè)置與鍵盤有關(guān)的各口的輸入輸出方式
            BCFTRISC,5
            BCFTRISC,3 ;設(shè)置SCK與SDO為輸出方式
            MOVLW0XC0
            MOVWFSSPSTAT ;設(shè)置SSPSTAT寄存器
            MOVLW0X30
            MOVWFSSPCON1 ;設(shè)置SPI的控制方式,允許SSP方式,并且時鐘下降沿
            ;發(fā)送,與"74HC595當(dāng)其SCLK從低到高平跳變時,串行
            ;輸入數(shù)據(jù)(DI)移入寄存器"的特點相對應(yīng)
            BCFPORTB,1
            BCFPORTA,3
            BCFPORTE,0
            BCFPORTE,1;K1,K2,K3,K4四條列線置0, 為電平變化中斷的產(chǎn)生
            ;創(chuàng)造初始條件
            RETURN ;返回

            ;****************************************
            MAINNOP
            CALLINITIAL;初始化
            MOVLW0X08
            MOVWFCOUNT
            MOVLW0XFF;"FF"為"DARK"字符的顯示段碼
            NEXT1
            CALLDISPLAY;在休眠之前使8各LED全顯示"DARK"
            DECFCOUNT,1
            BTFSSSTATUS,Z
            GOTONEXT1
            SLEEP;PIC16F877進(jìn)入"休眠工作方式"
            NOP
            MOVLW0X08
            MOVWFCOUNT
            MOVLW0X90;"90"為"9"的顯示段碼
            NEXT
            CALLDISPLAY;休眠喚醒之后顯示8個字符"9"
            DECFCOUNT,1
            BTFSSSTATUS,Z
            GOTONEXT
            NOP
            END



            關(guān)鍵詞: PIC18F458 休眠狀態(tài) 激活

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉