色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)倒計(jì)時(shí)發(fā)聲器

          51單片機(jī)倒計(jì)時(shí)發(fā)聲器

          作者: 時(shí)間:2016-12-01 來源:網(wǎng)絡(luò) 收藏


          SW EQU P1.0; 按鈕開關(guān)指定為P1.0位
          BUZZER EQU P3.7; 喇叭指定為P3.7位
          ORG 00H; 程序起始地址00H開始

          START:
          CLR BUZZER ;清零喇叭位為低電平(關(guān)閉喇叭)
          MOV P0,#88H ; 給2個(gè)74譯碼器都發(fā)送88,,88為BCD碼
          NOP
          NOP
          JB SW,$ ;判斷按鈕是否按下,當(dāng)SW==1時(shí),程序一直跳到$這里T原地不動(dòng),當(dāng)按鍵按下時(shí),SW==0則進(jìn)入下面
          NOP
          NOP
          NOP ; 稍微延時(shí)
          JNB SW,$ ; 判斷按鍵是否松開

          MOV R3,#10 ; 在一秒內(nèi)判斷是否雙擊
          D1:
          MOV R4,#200
          D2:
          MOV R5,#250
          DJNZ R5,$
          JNB SW,TIMER ; 如果按鍵按下,則進(jìn)入另外一直記時(shí)狀態(tài)
          DJNZ R4,D2
          DJNZ R3,D1

          MOV R1,#21 ; 倒計(jì)時(shí)初始值21

          COUNTDOWN:
          DEC R1 ; R1自減1
          MOV A,R1 ; R1復(fù)值給累加器A
          MOV B,#10 ; 寄存器B賦值10
          DIV AB ; 累加器A除以寄存器B,商存A,余存B
          SWAP A ; A的高低4位互換 ,目的用于譯碼器顯示,有2個(gè)譯碼器,所以要區(qū)分R1中的高位和低位
          ORL A,B ; A=A+B做或操作
          MOV P0,A ; 輸出到譯碼器從而顯示到數(shù)碼管
          CALL DELAY ; 延時(shí)1秒
          CJNE A,#00H,COUNTDOWN ;如果累加器A不等于00H則跳轉(zhuǎn)到COUNTDOWN,即一直倒計(jì)時(shí)直到A減到0
          SETB BUZZER ; 計(jì)數(shù)到0喇叭發(fā)聲
          CALL DELAY
          JMP START ;跳到開始處從頭開始

          TIMER:
          MOV A,#00H
          LOOP:
          MOV P0,A ;數(shù)碼管顯示數(shù)A
          CALL DELAY
          ADD A,#1 ;累加器加1操作
          DA A ; 十進(jìn)制調(diào)整
          CJNE A,#21H,LOOP; 判斷是否計(jì)時(shí)到21
          SETB BUZZER
          CALL DELAY
          JMP START

          DELAY: 延時(shí)1秒子程序
          MOV R3,#10
          D3:
          MOV R4,#200
          D4:
          MOV R5,#250
          DJNZ R5,$
          DJNZ R4,D4
          DJNZ R3,D3
          RET ; 子程序結(jié)束標(biāo)志

          END

          上一頁 1 2 下一頁

          評(píng)論


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

          關(guān)閉