在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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)用 > 多路開關(guān)狀態(tài)指示

            多路開關(guān)狀態(tài)指示

            作者: 時間:2011-02-27 來源:網(wǎng)絡(luò) 收藏

            1.實驗任務(wù)

            如圖4.3.1所示,AT89S51P1.0P1.3接四個發(fā)光二極管L1L4,P1.4P1.7接了四個開關(guān)K1K4,編程將開關(guān)的狀態(tài)反映到發(fā)光二極管上。(開關(guān)閉合,對應(yīng)的燈亮,開關(guān)斷開,對應(yīng)的燈滅)。

            2.電路原理圖

            4.3.1

            3.系統(tǒng)板上硬件連線

            (1. 把“系統(tǒng)”區(qū)域中的P1.0P1.3用導(dǎo)線連接到“八路發(fā)光二極管指示模塊”區(qū)域中的L1L4端口上;

            (2. 把“系統(tǒng)”區(qū)域中的P1.4P1.7用導(dǎo)線連接到“四路撥動開關(guān)”區(qū)域中的K1K4端口上;

            4. 程序設(shè)計內(nèi)容

            (1. 開關(guān)狀態(tài)檢測

            對于開關(guān)狀態(tài)檢測,相對單片機來說,是輸入關(guān)系,我們可輪流檢測每個開關(guān)狀態(tài),根據(jù)每個開關(guān)的狀態(tài)讓相應(yīng)的發(fā)光二極管指示,可以采用JB P1.X,RELJNB P1.XREL指令來完成;也可以一次性檢測四路開關(guān)狀態(tài),然后讓其指示,可以采用MOV A,P1指令一次把P1端口的狀態(tài)全部讀入,然后取高4位的狀態(tài)來指示。

            (2. 輸出控制

            根據(jù)開關(guān)的狀態(tài),由發(fā)光二極管L1L4來指示,我們可以用SETB P1.XCLR P1.X指令來完成,也可以采用MOV P1,#1111XXXXB方法一次指示。

            5.程序框圖

            4.3.2

            6.方法一(匯編源程序)

            ORG 00H

            START: MOV A,P1

            ANL A,#0F0H

            RR A

            RR A

            RR A

            RR A

            XOR A,#0F0H

            MOV P1,A

            SJMP START

            END

            7.方法一(C語言源程序)

            #include AT89X51.H>

            unsigned char temp;

            void main(void)

            {

            while(1)

            {

            temp=P1>>4;

            temp=temp | 0xf0;

            P1=temp;

            }

            }

            8.方法二(匯編源程序)

            ORG 00H

            START: JB P1.4,NEXT1

            CLR P1.0

            SJMP NEX1

            NEXT1: SETB P1.0

            NEX1: JB P1.5,NEXT2

            CLR P1.1

            SJMP NEX2

            NEXT2: SETB P1.1

            NEX2: JB P1.6,NEXT3

            CLR P1.2

            SJMP NEX3

            NEXT3: SETB P1.2

            NEX3: JB P1.7,NEXT4

            CLR P1.3

            SJMP NEX4

            NEXT4: SETB P1.3

            NEX4: SJMP START

            END

            9.方法二(C語言源程序)

            #include AT89X51.H>

            void main(void)

            {

            while(1)

            {

            if(P1_4==0)

            {

            P1_0=0;

            }

            else

            {

            P1_0=1;

            }

            if(P1_5==0)

            {

            P1_1=0;

            }

            else

            {

            P1_1=1;

            }

            if(P1_6==0)

            {

            P1_2=0;

            }

            else

            {

            P1_2=1;

            }

            if(P1_7==0)

            {

            P1_3=0;

            }

            else

            {

            P1_3=1;

            }

            }

            }


            評論


            相關(guān)推薦

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

            關(guān)閉