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

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

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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于51單片機秒表的程序設計

          基于51單片機秒表的程序設計

          作者: 時間:2012-07-09 來源:網(wǎng)絡 收藏

          ;主程序

          ;――――――――――初始化程序―――――――――――

          MAIN: MOV TMOD,#61H ;置T0方式1定時,T1方式2計數(shù)

          MOV TH0,#3CH ;T0置初值

          MOV TL0,#0B0H

          MOV TH1,#0C4H ;T1置初值

          MOV TL1,#0C4H

          MOV DPTR,#4400H ;8155控制口地址送DPTR

          MOV A,#43H ;設置8155工作方式字

          MOVX @DPTR,A ;設置PA、PB口輸出,PC口輸入

          MOV 20H,#00H ;60秒計數(shù)單元置初值

          MOV 21H,#14H ;50ms計數(shù)單元置初值

          MOV SP,#3FH ;堆棧指針置初值

          MOV R2,#08H n, bsp; ;LED待顯示位數(shù)送R2

          MOV R0,#30H ;顯示緩沖區(qū)首址送R0

          STAR: MOV @R0,#00H ;顯示緩沖區(qū)清零

          INC R0

          DJNZ R2,STAR

          CLR A ;累加器清零

          ;―――――――――――鍵盤查詢程序――――――――――

          KEY: ACALL KS ;調按鍵查詢子程序判是否有鍵按下

          JNZ K1 ;有鍵按下轉移

          ACALL DISP ;無鍵按下,調顯示子程序延時

          AJMP KEY ;繼續(xù)查詢按鍵

          ;―――――――――――鍵盤掃描程序――――――――――

          K1: ACALL DISP ;鍵盤去抖延時

          ACALL DISP

          ACALL KS ;再次判別是否有鍵按下

          JNZ K2 ;有鍵按下轉移

          AJMP KEY ;無按鍵,誤讀,繼續(xù)查詢按鍵

          K2: MOV R3,#0FEH ;首列掃描字送R3

          MOV R4,#00H ;首列號送R4

          K3: MOV DPTR,#4401H ;PA口地址送DPTR,開始列掃描

          MOV A,R3

          MOVX @DPTR,A ;列掃描字送PA口

          INC DPTR ;指向PC口

          INC DPTR

          MOVX A,@DPTR ;讀取行掃描值

          JB ACC.0,L1 ;第0行無鍵按下,轉查第1行

          MOV A,#00H ;第0行有鍵按下,行首鍵號送A

          AJMP LK ;轉求鍵號

          L1: JB ACC.1,L2 ;第1行無鍵按下,轉查第2行

          MOV A,#08H ;第1行有鍵按下,行首鍵號送A

          AJMP LK ;轉求鍵號

          L2: JB ACC.2,L3 ;第2行無鍵按下,轉查第3行

          MOV A,#10H ;第2行有鍵按下,行首鍵號送A

          AJMP LK ;轉求鍵號

          L3: JB ACC.3,NEXT ;第3行無鍵按下,轉查下一列

          MOV A,#18H ;第3行有鍵按下,行首鍵號送A

          AJMP LK

          LK: ADD A,R4 ;形成鍵碼送A

          PUSH ACC ;鍵碼入棧保護

          K4: ACALL DISP

          ACALL KS ;等待鍵釋放

          JNZ K4 ;未釋放,等待

          POP ACC ;鍵釋放,彈棧送A

          AJMP PR ;轉鍵盤處理程序

          NEXT: INC R4 ;修改列號

          MOV A,R3

          JNB ACC.3,KEY ;4列掃描完返回按鍵查詢狀態(tài)

          RL A ;未掃描完,改為下列掃描字

          MOV R3,A , nbsp; ;掃描字暫存R3

          AJMP K3 ;轉列掃描程序

          ;―――――――――――鍵盤處理程序―――――――――――――――

          PR: CJNE A,#00H,PR01 ;不是KE0鍵碼,轉KE1鍵

          AJMP KE0 ;轉KE0鍵處理程序

          PR01: CJNE A,#01H,PR02 ;不是KE1鍵碼,轉KE2鍵

          AJMP KE1 ;轉KE1鍵處理程序

          PR02: CJNE A,#02H,PR03 ;不是KE2鍵碼,返回按鍵查詢

          AJMP KE2 ;轉KE2鍵處理程序

          PR03: AJMP KEY

          KE0: SETB TR0 ;啟動T0

          SETB TR1 ;啟動T1

          SETB ET0 ;允許T0中斷

          SETB EA ;開中斷

          AJMP KEY ;返回鍵盤查詢狀態(tài)

          燃氣報警器相關文章:燃氣報警器原理


          評論


          相關推薦

          技術專區(qū)

          關閉