在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

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

      基于51單片機(jī)秒表的程序設(shè)計(jì)

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

      ;主程序

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

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

      MOV TH0,#3CH ;T0置初值

      MOV TL0,#0B0H

      MOV TH1,#0C4H ;T1置初值

      MOV TL1,#0C4H

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

      MOV A,#43H ;設(shè)置8155工作方式字

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

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

      MOV 21H,#14H ;50ms計(jì)數(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 ;調(diào)按鍵查詢子程序判是否有鍵按下

      JNZ K1 ;有鍵按下轉(zhuǎn)移

      ACALL DISP ;無(wú)鍵按下,調(diào)顯示子程序延時(shí)

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

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

      K1: ACALL DISP ;鍵盤去抖延時(shí)

      ACALL DISP

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

      JNZ K2 ;有鍵按下轉(zhuǎn)移

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

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

      MOV R4,#00H ;首列號(hào)送R4

      K3: MOV DPTR,#4401H ;PA口地址送DPTR,開(kāi)始列掃描

      MOV A,R3

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

      INC DPTR ;指向PC口

      INC DPTR

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

      JB ACC.0,L1 ;第0行無(wú)鍵按下,轉(zhuǎn)查第1行

      MOV A,#00H ;第0行有鍵按下,行首鍵號(hào)送A

      AJMP LK ;轉(zhuǎn)求鍵號(hào)

      L1: JB ACC.1,L2 ;第1行無(wú)鍵按下,轉(zhuǎn)查第2行

      MOV A,#08H ;第1行有鍵按下,行首鍵號(hào)送A

      AJMP LK ;轉(zhuǎn)求鍵號(hào)

      L2: JB ACC.2,L3 ;第2行無(wú)鍵按下,轉(zhuǎn)查第3行

      MOV A,#10H ;第2行有鍵按下,行首鍵號(hào)送A

      AJMP LK ;轉(zhuǎn)求鍵號(hào)

      L3: JB ACC.3,NEXT ;第3行無(wú)鍵按下,轉(zhuǎn)查下一列

      MOV A,#18H ;第3行有鍵按下,行首鍵號(hào)送A

      AJMP LK

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

      PUSH ACC ;鍵碼入棧保護(hù)

      K4: ACALL DISP

      ACALL KS ;等待鍵釋放

      JNZ K4 ;未釋放,等待

      POP ACC ;鍵釋放,彈棧送A

      AJMP PR ;轉(zhuǎn)鍵盤處理程序

      NEXT: INC R4 ;修改列號(hào)

      MOV A,R3

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

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

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

      AJMP K3 ;轉(zhuǎn)列掃描程序

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

      PR: CJNE A,#00H,PR01 ;不是KE0鍵碼,轉(zhuǎn)KE1鍵

      AJMP KE0 ;轉(zhuǎn)KE0鍵處理程序

      PR01: CJNE A,#01H,PR02 ;不是KE1鍵碼,轉(zhuǎn)KE2鍵

      AJMP KE1 ;轉(zhuǎn)KE1鍵處理程序

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

      AJMP KE2 ;轉(zhuǎn)KE2鍵處理程序

      PR03: AJMP KEY

      KE0: SETB TR0 ;啟動(dòng)T0

      SETB TR1 ;啟動(dòng)T1

      SETB ET0 ;允許T0中斷

      SETB EA ;開(kāi)中斷

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

      燃?xì)鈭?bào)警器相關(guān)文章:燃?xì)鈭?bào)警器原理


      評(píng)論


      相關(guān)推薦

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

      關(guān)閉