久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

用單片機設計15s倒計時器

作者:佚名   來源:本站原創   點擊數:  更新時間:2009年10月26日   【字體:

/*
跳線設置:默認跳線位置,注意蜂鳴器選擇跳線J5要選23端
程序效果:利用單片機的定時/計數器設計一個15到0倒計時器,
  按S4后啟動,要求精確顯示到百分之一秒。
發揮部分:  
1、定時結束后有提示音報警,并可重新定時
2、定時過程中按獨立鍵盤s5可暫停,按S4繼續
運行環境:51hei單片機學習板
*/
  ORG 0000H
  LJMP START   //主程序必須避開地址000BH
  ORG 000BH  //定時器0的中段服務程序,起始地址為000BH
  LJMP IT00
  ORG 0030H
START:    MOV TH0,#0EBH //裝入初始值,定時時間為10ms
  MOV TL0,#64H
  MOV TMOD,#01H //工作方式1
  MOV 33H,#01   //顯示初值為15s
  MOV 32H,#05
  MOV 31H,#00
  MOV 30H,#00
  SETB ET0   //打開定時0
  SETB EA   //開總中斷
LOOP1:   JB P3.6,LOOP   //判斷高低位,即按鍵KEY0是否按            下
  LCALL DISPLAY //為低,即按鍵按下,延時消抖
  LCALL DISPLAY
  JB P3.6,LOOP   //按鍵真的按下,并不是外界的干擾
  SETB TR0  //啟動定時器
HERE:    LCALL DISPLAY //調用顯示
   JB P3.7,LOOP3 //判斷高低,即KEY1按鍵是否按下
   CLR TR0   //按下,關閉定時器,這里并沒有消抖
   LJMP LOOP1    //等待KEY0的按下
LOOP3:   SJMP HERE    //KEY1沒有按下,就需顯示
LOOP:     LCALL DISPLAY  //KEY1沒有按下,就需顯示
  LJMP  LOOP1
//減10ms子程序
SUB1:    DEC 30H     //百分位減1
  MOV A,30H
  CJNE A,#0FFH,LOOP2 //判斷百分位減到0之后是否        再減1
  MOV 30H,#09   //是,裝入初值9
  DEC 31H    //十分位減1
  MOV A,31H
  CJNE A,#0FFH,LOOP2 //判斷百分位減到0之后是否        再減1
  MOV 31H,#09
  DEC 32H
  MOV A,32H
  CJNE A,#0FFH,LOOP2
  MOV 32H,#09
  DEC 33H
  MOV A,33H
  CJNE A,#0FFH,LOOP2
  clr P2.2    //從15s減到0s后,驅動蜂鳴器
  LCALL DELAY   //延時
  LCALL DELAY
  SETB P2.2  //關閉蜂鳴器
  MOV 33H,#01   //裝入初值15s
  MOV 32H,#05
  MOV 31H,#00
  MOV 30H,#00
LOOP2:   NOP    //空指令
  RET    //返回
//顯示子程序
DISPLAY: MOV DPTR,#TAB  //賦表首地址
  MOV A,#0FBH 
 
 SETB P2.7
 MOV P0,A  //亮最左邊的數碼管
 CLR P2.7
  XCH A,R0   //暫存A的值
  MOV A,33H
  MOVC A,@A+DPTR //根據表值查找所需的值
 SETB P2.6
 MOV P0,A  //顯示值
 CLR P2.6
  LCALL DELAY   //延時
  XCH A,R0 //恢復原值
  RL A    //循環左移,為下次做準備
 SETB P2.7
 MOV P0,A
 CLR P2.7
  XCH A,R0
  MOV A,32H
  MOVC A,@A+DPTR
 SETB P2.6
 MOV P0,A
 CLR P2.6
  LCALL DELAY
  XCH A,R0
  RL A

 SETB P2.7
 MOV P0,A
 clr P2.7

  XCH A,R0
  MOV A,31H
  MOVC A,@A+DPTR
 SETB P2.6
 MOV P0,A
 clr P2.6
  LCALL DELAY
  XCH A,R0
  RL A
 SETB P2.7
 MOV P0,A
 clr P2.7
  XCH A,R0
  MOV A,30H
  MOVC A,@A+DPTR
 SETB P2.6
 MOV P0,A
 clr P2.6
  LCALL DELAY
  RET
TAB:     DB 3FH,06H,5BH,4FH,66H  ;數碼管顯示的數值  
  DB 6DH,7DH,07H,7FH,6FH
IT00:     MOV TH0,#0EBH  //裝入初值,時間為10ms
  MOV TL0,#64H
  LCALL SUB1   //減10ms
  RETI     //返回
DELAY:    MOV R7,#04 //延時子程序,時間大約為:2us*4*250
DEL2:       MOV R6,#250
DEL1:      DJNZ R6,DEL1
  DJNZ R7,DEL2
  RET
  END  //結束
 

關閉窗口

相關文章

主站蜘蛛池模板: 青青草久草 | 亚洲精品色 | 亚洲综合一区二区三区 | 在线不欧美 | 日韩aaaa | 久久综合伊人 | 午夜久久 | 午夜视频免费看 | 一级片免费观看 | 黄色日批视频 | 亚洲精品一区二三区 | 日韩精品一区二区视频 | 黄色国产在线观看 | 五月天黄色网 | 欧美在线播放视频 | 自拍视频一区 | 97精品| 久久视频在线免费观看 | 一区二区免费在线观看 | 日韩手机在线视频 | 国产一级视频在线观看 | 日本一级一片免费视频 | 精品欧美一区二区三区久久久 | 不卡的av网站 | 欧美影院一区 | 亚洲美女爱爱 | 综合色婷婷| 国产尤物视频 | 欧美日韩一区二区三区 | 91精品91久久久中77777 | 在线观看免费毛片 | 免费观看一区二区 | 日韩精品在线免费观看 | 欧美日韩精品久久久免费观看 | 亚洲国产中文字幕 | 国产高清网站 | 成年人毛片| 亚洲视频三区 | 国产三级免费观看 | 四虎影院网站 | 成人少妇影院yyyy |