日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          智能定時(shí)插座程序

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

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

          ;**************************************************************
          ;功能描述:帶鍵盤(pán)設(shè)置的時(shí)間計(jì)數(shù)器
          ;功能:實(shí)現(xiàn)1分鐘到99小時(shí)99分鐘內(nèi)的定時(shí)??啥〞r(shí)關(guān)機(jī)或定時(shí)開(kāi)機(jī)。
          ;各個(gè)鍵的功能:
          ;S1:小時(shí)十位調(diào)整
          ;S2:小時(shí)個(gè)位調(diào)整
          ;S3;分鐘十位調(diào)整
          ;S4:分鐘各位調(diào)整
          ;可擴(kuò)展功能:時(shí)間顯示
          ;硬件描述:
          ;P0口顯示字段。P2.0-2.3共陽(yáng)控制端。P1.0-P1.3按鍵
          ;P3.4
          ;**************************************************************
          STARTRUN BIT 01H;開(kāi)始運(yùn)行標(biāo)志
          KEYOK BIT 00H;有鍵按下標(biāo)志
          SCOUNT EQU 21H;分計(jì)數(shù)器
          SETVAL EQU 22H;預(yù)置分值儲(chǔ)存單元
          SCOUNT2 EQU 26H;小時(shí)計(jì)數(shù)器
          SETVAL2 EQU 27H;預(yù)置小時(shí)儲(chǔ)存單元
          TCOUNT EQU 24H;;秒計(jì)數(shù)器
          TCOUNTER EQU 250;軟件計(jì)數(shù)器的計(jì)數(shù)值,X定時(shí)器4MS等于1S
          KEYVAL EQU 25H;鍵值儲(chǔ)存單元
          DISPBUF EQU 58H;顯示緩沖區(qū)
          COUNTER EQU 57H;計(jì)數(shù)器,顯示程序通過(guò)它得知現(xiàn)在正在顯示的
          TMRVAR EQU 61536;設(shè)定4MS。65536-4000定時(shí)器初值
          ORG 0000H
          JMP START
          ORG 0*8+3;INTO中斷入口
          RETI
          ORG 1*8+3;定時(shí)器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;啟動(dòng)程序默認(rèn)值為0
          MOV SETVAL2,#00
          MOV SCOUNT,SETVAL
          MOV SCOUNT2,SETVAL2
          CLR KEYOK
          CLR STARTRUN
          CALL INIT_T0
          SETB EA
          ;********************主程序開(kāi)始***************************************
          LOOP:
          CALL KEY;調(diào)用鍵盤(pán)程序
          JB KEYOK,KEYPROC;如果有鍵按下,轉(zhuǎn)鍵盤(pá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í)的數(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:;對(duì)小時(shí)十位進(jìn)行操作
          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
          ;**************鍵盤(pán)程序********************************************************
          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


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉