在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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) > 設計應用 > 可預置可逆4位計數(shù)器

            可預置可逆4位計數(shù)器

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

            1. 實驗任務

            利用AT89S51P1.0P1.3接四個發(fā)光二極管L1L4,用來指示當前計數(shù)的數(shù)據(jù);用P1.4P1.7作為預置數(shù)據(jù)的輸入端,接四個撥動開關K1K4,用P3.6/WRP3.7/RD端口接兩個輕觸開關,用來作加計數(shù)和減計數(shù)開關。具體的電路原理圖如下圖所示

            2. 電路原理圖

            4.12.1

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

            (1. 把“系統(tǒng)”區(qū)域中的P1.0P1.3端口用8芯排線連接到“八路發(fā)光二極管指示模塊”區(qū)域中的L1L4上;要求:P1.0對應著L1P1.1對應著L2,P1.2對應著L3,P1.3對應著L4;

            (2. 把“系統(tǒng)”區(qū)域中的P3.0/RXD,P3.1/TXDP3.2/INT0,P3.3/INT1用導線連接到“四路撥動開關”區(qū)域中的K1K4上;

            (3. 把“單片機系統(tǒng)”區(qū)域中的P3.6/WR,P3.7/RD用導線連接到“獨立式鍵盤”區(qū)域中的SP1SP2上;

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

            (1. 兩個獨立式按鍵識別的處理過程;

            (2. 預置初值讀取的問題

            (3. LED輸出指示

            5. 程序框圖

            4.12.2

            6. 匯編源程序

            COUNT EQU 30H

            ORG 00H

            START: MOV A,P3

            ANL A,#0FH

            MOV COUNT,A

            MOV P1,A

            SK2: JB P3.6,SK1

            LCALL DELY10MS

            JB P3.6,SK1

            INC COUNT

            MOV A,COUNT

            CJNE A,#16,NEXT

            MOV A,P3

            ANL A,#0FH

            MOV COUNT,A

            NEXT: MOV P1,A

            WAIT: JNB P3.6,WAIT

            LJMP SK2

            SK1: JB P3.7,SK2

            LCALL DELY10MS

            JB P3.7,SK2

            DEC COUNT

            MOV A,COUNT

            CJNE A,#0FFH,NEX

            MOV A,P3

            ANL A,#0FH

            MOV COUNT,A

            NEX: MOV P1,A

            WAIT2: JNB P3.7,WAIT2

            LJMP SK2

            DELY10MS: MOV R6,#20

            MOV R7,#248

            D1: DJNZ R7,$

            DJNZ R6,D1

            RET

            END

            7. C語言源程序

            #include AT89X51.H>

            unsigned char curcount;

            void delay10ms(void)

            {

            unsigned char i,j;

            for(i=20;i>0;i--)

            for(j=248;j>0;j--);

            }

            void main(void)

            {

            curcount=P3 0x0f;

            P1=~curcount;

            while(1)

            {

            if(P3_6==0)

            {

            delay10ms();

            if(P3_6==0)

            {

            if(curcount>=15)

            {

            curcount=15;

            }

            else

            {

            curcount++;

            }

            P1=~curcount;

            while(P3_6==0);

            }

            }

            if(P3_7==0)

            {

            delay10ms();

            if(P3_7==0)

            {

            if(curcount=0)

            {

            curcount=0;

            }

            else

            {

            curcount--;

            }

            P1=~curcount;

            while(P3_7==0);

            }

            }

            }

            }



            評論


            相關推薦

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

            關閉