在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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>

            新聞中心

            智能定時插座程序

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

            ;**************************************************************
            ;電院 單片機設(shè)計
            :智能

            ;**************************************************************
            ;功能描述:帶鍵盤設(shè)置的時間計數(shù)器
            ;功能:實現(xiàn)1分鐘到99小時99分鐘內(nèi)的定時??啥〞r關(guān)機或定時開機。
            ;各個鍵的功能:
            ;S1:小時十位調(diào)整
            ;S2:小時個位調(diào)整
            ;S3;分鐘十位調(diào)整
            ;S4:分鐘各位調(diào)整
            ;可擴展功能:時間顯示
            ;硬件描述:
            ;P0口顯示字段。P2.0-2.3共陽控制端。P1.0-P1.3按鍵
            ;P3.4
            ;**************************************************************
            STARTRUN BIT 01H;開始運行標志
            KEYOK BIT 00H;有鍵按下標志
            SCOUNT EQU 21H;分計數(shù)器
            SETVAL EQU 22H;預(yù)置分值儲存單元
            SCOUNT2 EQU 26H;小時計數(shù)器
            SETVAL2 EQU 27H;預(yù)置小時儲存單元
            TCOUNT EQU 24H;;秒計數(shù)器
            TCOUNTER EQU 250;軟件計數(shù)器的計數(shù)值,X定時器4MS等于1S
            KEYVAL EQU 25H;鍵值儲存單元
            DISPBUF EQU 58H;顯示緩沖區(qū)
            COUNTER EQU 57H;計數(shù)器,顯示程序通過它得知現(xiàn)在正在顯示的
            TMRVAR EQU 61536;設(shè)定4MS。65536-4000定時器初值
            ORG 0000H
            JMP START
            ORG 0*8+3;INTO中斷入口
            RETI
            ORG 1*8+3;定時器0中斷入口
            LJMP INT_T0
            ORG 2*8+3
            RETI
            ORG 3*8+3
            RETI
            ORG 4*8+3
            RETI
            ;*******************主程序設(shè)定************************************
            START:
            MOV R7,#60
            MOV R4,#60
            MOV SP,#5FH
            MOV SCOUNT,#0
            MOV SCOUNT2,#0
            MOV SETVAL,#00;啟動程序默認值為0
            MOV SETVAL2,#00
            MOV SCOUNT,SETVAL
            MOV SCOUNT2,SETVAL2
            CLR KEYOK
            CLR STARTRUN
            CALL INIT_T0
            SETB EA
            ;********************主程序開始***************************************
            LOOP:
            CALL KEY;調(diào)用鍵盤程序
            JB KEYOK,KEYPROC;如果有鍵按下,轉(zhuǎn)鍵盤處理程序
            NEXT:
            MOV A,SCOUNT;獲取分的數(shù)值
            MOV B,#10
            DIV AB
            NEXT1:
            MOV DISPBUF+2,A;送顯示緩沖區(qū)
            MOV DISPBUF+3,B
            NEXT2:
            MOV A,SCOUNT2;獲取小時的數(shù)值
            MOV B,#10
            DIV AB
            NEXT3:
            MOV DISPBUF,A
            MOV DISPBUF+1,B

            JMP LOOP
            ;*******************鍵值處理程序****************************************
            KEYPROC:
            MOV A,KEYVAL;取得鍵值
            JZ KEY1;如果鍵值是0,轉(zhuǎn)
            DEC A
            JZ KEY2;如果鍵值是1,轉(zhuǎn)
            DEC A
            JZ KEY3;如果鍵值是2,轉(zhuǎn)
            JMP KEY4;如果鍵值是3,轉(zhuǎn)
            KEY1:;對小時十位進行操作
            INC DISPBUF;將顯示緩沖區(qū)的數(shù)加1
            MOV A,DISPBUF
            CJNE A,#9,EFT01
            MOV DISPBUF,#0
            SETB STARTRUN

            EFT01:;鍵值處理
            MOV B,#10
            MUL AB
            ADD A,DISPBUF+1
            MOV SETVAL2,A
            MOV SCOUNT2,SETVAL2
            SETB STARTRUN
            JMP LOOP
            KEY2:

            INC DISPBUF+1
            MOV A,DISPBUF+1
            CJNE A,#10,EFT02
            MOV DISPBUF+1,#0
            SETB STARTRUN
            EFT02:
            MOV A,DISPBUF
            MOV B,#10
            MUL AB
            ADD A,DISPBUF+1
            MOV SETVAL2,A
            MOV SCOUNT2,SETVAL2
            SETB STARTRUN
            JMP LOOP

            KEY3:
            INC DISPBUF+2
            MOV A,DISPBUF+2
            CJNE A,#6,LEFT0
            MOV A,#0
            SETB STARTRUN
            LEFT0:
            MOV B,#10
            MUL AB
            ADD A,DISPBUF+3
            MOV SETVAL,A
            MOV SCOUNT,SETVAL
            SETB STARTRUN
            JMP LOOP
            KEY4:
            INC DISPBUF+3
            MOV A,DISPBUF+3
            CJNE A,#10,REFT0
            MOV DISPBUF+3,#0
            SETB STARTRUN
            REFT0:
            MOV A,DISPBUF+2
            MOV B,#10
            MUL AB
            ADD A,DISPBUF+3
            MOV SETVAL,A
            MOV SCOUNT,SETVAL
            SETB STARTRUN
            JMP LOOP
            ;**************鍵盤程序********************************************************
            KEY:
            MOV P1,#0FFH
            CLR KEYOK
            MOV A,P1
            ORL A,#11110000B
            CPL A
            JZ KEY_RET
            CALL DELAY
            MOV A,P1
            ORL A,#11110000B
            CPL A
            JZ KEY_RET
            SETB KEYOK
            JNB ACC.0,KEY_1
            MOV KEYVAL,#0
            JMP KEY_RET
            KEY_1:
            JNB ACC.1,KEY_2
            MOV KEYVAL,#1
            JMP KEY_RET
            KEY_2:
            JNB ACC.2,KEY_3
            MOV KEYVAL,#2
            JMP KEY_RET
            KEY_3:

            MOV KEYVAL,#3


            上一頁 1 2 下一頁

            評論


            相關(guān)推薦

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

            關(guān)閉