久久久久久久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  //結束
 

關閉窗口

相關文章

主站蜘蛛池模板: 亚洲 欧美 日韩 在线 | 国产一区三区视频 | 久久黄色网 | 激情五月婷婷在线 | 污书屋 | 中文字幕视频网 | 亚洲a视频| av中文字幕在线播放 | 亚洲一区二区中文字幕 | 国产一级久久久久 | 蜜桃av鲁一鲁一鲁一鲁 | 丝袜美腿一区二区三区 | 一级毛片色一级 | 欧美日韩久久久 | 亚洲欧美中文日韩在线v日本 | 久久精品视频一区二区 | 精品国产一区二区在线 | 久久久久国产一区二区三区 | 欧美日韩国产中文字幕 | 欧美xxxx在线 | 国产专区在线 | 国产精品免费在线 | 蜜桃一区二区三区 | 日韩高清在线观看 | 国产精品乱码一二三区的特点 | 国产精品美女www | 美国a级毛片免费视频 | 中文字幕一区二区三区四区五区 | 欧美视频成人 | 国产午夜精品久久久久免费视高清 | 久久久久亚洲精品 | 欧美高清视频在线观看 | 午夜精品久久久久久 | 欧美一区二区三区视频 | 亚洲黄色视屏 | 热99在线 | 中文字字幕一区二区三区四区五区 | av网站在线免费观看 | 91精品在线播放 | 亚洲第一成人av | 草比网站|