www84811.com-国产区一区二区三区,亚洲第一中文字幕在线观看,91精品久久香蕉国产线看观看,国产精品欧美久久

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 單片機 >> 正文

單片機時鐘,8位數碼管數字鐘的制作

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2014-1-26
顯示格式依然是23-59-59(同樣是小時十位如果為0則不顯示),調整時間增加了一只按鈕,通過調整選擇鍵SET_KEY選擇調整位,選中位開始閃爍,此時再按增加鍵ADD_KEY或減少鍵DEC_KEY調整選中位,如果長按ADD_KEY或DEC_KEY,系統識別后則進行調時快進,此時停止閃爍,方便人眼觀察。同時還增加了調秒功能:如果選中位是秒,則按增加鍵或減少鍵都是將秒清零。

  演示視頻:


  電路原理圖:

單片機時鐘電路原理圖 


  匯編程序設計:

/**************************************************************
程序名稱:51單片機8位數碼管數字鐘匯編程序
簡要說明:實現24小時制電子鐘,8位數碼管顯示,顯示時分秒
    顯示格式:23-59-59(小時十位如果為0則不顯示)
    通過3只按鍵來調整時間
    調整選擇鍵SET_KEY:P1.0;通過選擇鍵選擇調整位,選中位閃爍
    增加鍵ADD_KEY:P1.1;按一次使選中位加1
    減少鍵DEC_KEY;P1.2;按一次使選中位減1
    如果長按ADD_KEY或DEC_KEY,識別后則進行調時快進,此時停止閃爍
    如果選中位是秒,則按增加鍵或減少鍵都是將秒清零
    P0口輸出數碼管段選信號,P2口輸出數碼管位選信號。晶振12M
編    寫:JiangX.net
最后更新:08/12/31晚
**************************************************************/
  ORG 0000H   ;程序入口地址 
  LJMP START 
  ORG 000BH   ;定時器0中斷入口地址 
  LJMP TIMER_0

  ORG 0300H

/*****程序開始,初始化*****/   
START: 
  SETB 48H   ;使用一個bit位用于調時閃爍標志
  SETB 47H   ;使用一個bit位用于產生脈沖用于調時快進時基
  MOV R1,#0   ;調整選擇鍵功能標志:0正常走時、1調時、2調分、3調秒

  MOV 20H,#00H  ;用于控制秒基準時鐘源的產生 
  MOV 21H,#00H  ;清零秒寄存器
  MOV 22H,#00H  ;清零分寄存器
  MOV 23H,#00H  ;清零時寄存器
  MOV 24H,#00H  ;用于控制調時閃爍的基準時鐘的產生
 
  MOV IP,#02H   ;IP,IE初始化 
  MOV IE,#82H 
  MOV TMOD,#01H  ;設定定時器0工作方式1
  MOV TH0,#3CH 
  MOV TL0,#0B0H  ;賦定時初值,定時50ms   
  SETB TR0   ;啟動定時器0 
  MOV SP,#40H   ;重設堆棧指針

/*****主程序*****/   
MAIN: 
  LCALL DISPLAY   ;調用顯示子程序 
  LCALL KEY_SCAN   ;調用按鍵檢測子程序 
  JZ MAIN    ;無鍵按下則返回重新循環
  LCALL SET_KEY   ;調用選擇鍵處理子程序
  JB 46H,MAIN   ;如果已進行長按調整(調時快進),則不再執行下面的單步調整     
  LCALL ADD_KEY  ;調用增加鍵處理子程序,加一
  LCALL DEC_KEY  ;調用減少鍵處理子程序,減一 
  LJMP MAIN    ;重新循環 
 
/*****定時器中斷服務程序*****/ 
TIMER_0: 
  PUSH ACC     
  PUSH PSW    ;保護現場
  MOV TH0,#3CH
  MOV TL0,#0B0H   ;重新賦定時初值 
  CPL 47H    ;產生脈沖用于調時快進時基
  INC 24H
  MOV A,24H        
  CJNE A,#10,ADD_TIME ;產生0.5秒基準時鐘,用于調時閃爍
  CPL 48H    ;取反調時閃爍標志位
  MOV 24H,#00H

ADD_TIME:     ;走時
  INC 20H    
  MOV A,20H 
  CJNE A,#20,RETI1 ;產生1秒基準時鐘 
  MOV 20H,#00H   ;一秒鐘時間到,清零20H
  MOV A,21H
  ADD A,#01H
  DA A     ;作十進制調整
  MOV 21H,A 
  CJNE A,#60H,RETI1 
  MOV 21H,#00H   ;一分鐘到 
  MOV A,22H 
  ADD A,#01H 
  DA A 
  MOV 22H,A 
  CJNE A,#60H,RETI1 
  MOV 22H,#00H   ;一小時到 
  MOV A,23H 
  ADD A,#01H 
  DA A 
  MOV 23H,A 
  CJNE A,#24H,RETI1 
  MOV 23H,#00H   ;到24點,清零小時
 
RETI1: 
  POP PSW     
  POP ACC    ;恢復現場
  RETI     ;中斷返回

/*****顯示處理*****/ 
DISPLAY:
  MOV A,21H    ;秒
  ANL A,#0FH 
  MOV 2FH,A   ;轉換出秒個位,存入2FH
  MOV A,21H 
  ANL A,#0F0H 
  SWAP A 
  MOV 2EH,A   ;轉換出秒十位,存入2EH
  JB 46H,MIN   ;如果長按按鍵(調時快進),則跳過閃爍處理程序
  CJNE R1,#3,MIN  ;如果R1為3,閃爍秒位待調整
  JB 48H,MIN
  MOV 2FH,#0AH  ;使該位為10,查表得到使該位不顯示的輸出
  MOV 2EH,#0AH

MIN:
  MOV A,22H    ;分 
  ANL A,#0FH 
  MOV 2DH,A   ;轉換出分個位,存入2DH
  MOV A,22H 
  ANL A,#0F0H 
  SWAP A 
  MOV 2CH,A   ;轉換出分十位,存入2CH
  JB 46H,HOUR   ;如果長按按鍵(調時快進),則跳過閃爍處理程序
  CJNE R1,#2,HOUR  ;如果R1為2,閃爍分位待調整 
  JB 48H,HOUR
  MOV 2DH,#0AH  ;使該位為10,查表得到使該位不顯示的輸出
  MOV 2CH,#0AH

HOUR:
  MOV A,23H    ;時 
  ANL A,#0FH  
  MOV 2BH,A   ;轉換出時個位,存入2BH
  MOV A,23H 
  ANL A,#0F0H 
  SWAP A 
  MOV 2AH,A   ;轉換出時十位,存入2AH
  JB 46H,DISP   ;如果長按按鍵(調時快進),則跳過閃爍處理程序
  CJNE R1,#1,DISP  ;如果R1為1,閃爍時位待調整
    JB 48H,DISP
  MOV 2BH,#0AH  ;使該位為10,查表得到使該位不顯示的輸出
  MOV 2AH,#0AH

/*****數碼管動態掃描顯示*****/
DISP:
  MOV DPTR,#TABLE
  MOV A,2FH
  MOVC A,@A+DPTR
  MOV P0,A
  CLR P2.7
  LCALL DELAY
  SETB P2.7   ;顯示秒個位

  MOV A,2EH
  MOVC A,@A+DPTR
  MOV P0,A
  CLR P2.6
  LCALL DELAY
  SETB P2.6   ;顯示秒十位

  MOV A,#0BFH
  MOV P0,A
  CLR P2.5
  LCALL DELAY
  SETB P2.5   ;顯示“-”

  MOV A,2DH
  MOVC A,@A+DPTR
  MOV P0,A
  CLR P2.4
  LCALL DELAY
  SETB P2.4   ;顯示分個位

  MOV A,2CH
  MOVC A,@A+DPTR
  MOV P0,A
  CLR P2.3
  LCALL DELAY
  SETB P2.3   ;顯示分十位

  MOV A,#0BFH
  MOV P0,A
  CLR P2.2
  LCALL DELAY
  SETB P2.2   ;顯示“-”

  MOV A,2BH
  MOVC A,@A+DPTR
  MOV P0,A
  CLR P2.1
  LCALL DELAY
  SETB P2.1   ;顯示時個位

  MOV DPTR,#TABLE1 ;該位使用TABLE1以消除前置0
  MOV A,2AH
  MOVC A,@A+DPTR
  MOV P0,A
  CLR P2.0
  LCALL DELAY
  SETB P2.0   ;顯示時十位
  RET
   
/*****按鍵檢測子程序*****/ 
KEY_SCAN: 
  CLR 46H    ;關閉長按調整(調時快進)標志
  MOV P1,#0FFH   ;將P1口設置成輸入狀態 
  MOV A,P1 
  CPL A 
  ANL A,#07H   ;P1口低3位連接3個按鍵,只判斷該3位 
  JZ EXIT_KEY   ;無鍵按下則返回 
  LCALL DELAY   ;延時去抖動
  MOV A,P1   ;重新判斷 
  CPL A 
  ANL A,#07H 
  JZ EXIT_KEY   ;鍵盤去抖動 
  MOV R5,A    ;臨時將鍵值存入R5
  MOV R4,#00H   ;用于控制調時快進速度
  ;設置為00H是為了在進入長按處理前加長延時區分用戶的長按與短按,防止誤快進
   
LOOP:      ;進入長按處理
  LCALL DISPLAY  ;使長按時顯示正常  
  MOV A,P1 
  CPL A 
  ANL A,#07H
  JB 47H,LOOP1
  INC R4    ;調時快進間隔時間基準加1

LOOP1:
  CJNE R1,#03H,LOOP2 ;如果調秒時長按,則不處理
  LJMP LOOP3

LOOP2:
  CJNE R4,#99H,LOOP3 
  MOV R4,#70H   ;確認用戶長按后,重新設定起始值,加快調時快進速度
  SETB 46H   ;長按調整(調時快進)標志   
  LCALL ADD_KEY
  LCALL DEC_KEY

LOOP3:
  JNZ LOOP    ;等待鍵釋放
  MOV A,R5   ;輸出鍵值
  RET   

EXIT_KEY:
  RET

/*****延時子程序*****/
DELAY:  
  MOV R7,#150  
  DJNZ R7,$
  RET
   
/*****選擇鍵處理子程序*****/ 
SET_KEY: 
  CJNE R5,#01H,EXIT ;選擇鍵鍵值
  INC R1    ;調整選擇功能標志加一
  CJNE R1,#4,EXIT
  MOV R1,#0
  MOV 24H,#00H  ;調時閃爍基準清零 
  RET

/*****增加鍵處理子程序*****/ 
ADD_KEY: 
  CJNE R5,#02H,EXIT ;增加鍵鍵值
  CJNE R1,#01H,NEXT1 ;選擇鍵功能標志為1,調時,否則跳出
  MOV A,23H
  ADD A,#01H
  DA A
  MOV 23H,A
  CJNE A,#24H,EXIT
  MOV 23H,#00H

NEXT1:
  CJNE R1,#02H,NEXT2 ;選擇鍵功能標志為2,調分,否則跳出
  MOV A,22H
  ADD A,#01H
  DA A
  MOV 22H,A
  CJNE A,#60H,EXIT
  MOV 22H,#00H

NEXT2:
  CJNE R1,#03H,EXIT ;選擇鍵功能標志為3,調秒,否則跳出
  MOV 21H,#00H  ;如增加鍵按下直接清零秒
  RET

/*****減少鍵處理子程序*****/ 
DEC_KEY: 
  CJNE R5,#04H,EXIT ;減少鍵鍵值
  CJNE R1,#01H,NEXT3 ;選擇鍵功能標志為1,調時,否則跳出
  MOV A,23H
  ADD A,#99H
  DA A
  MOV 23H,A
  CJNE A,#99H,EXIT
  MOV 23H,#23H
 
NEXT3:
  CJNE R1,#02H,NEXT4 ;選擇鍵功能標志為2,調分,否則跳出
  MOV A,22H
  ADD A,#99H
  DA A
  MOV 22H,A
  CJNE A,#99H,EXIT
  MOV 22H,#59H

NEXT4:
  CJNE R1,#03H,EXIT ;選擇鍵功能標志為3,調秒,否則跳出
  MOV 21H,#00H  ;如較少鍵按下直接清零秒
  RET

/*****萬用返回子程序*****/  
EXIT: 
  RET

/*****數碼管字形編碼表*****/
TABLE: 
  DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH ;字形顯示編碼

TABLE1:
  DB 0FFH,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH ;小時位的十位數編碼,該位如果為0則不顯示

  END     ;程序結束

Tags:單片機時鐘,制作,數字鐘  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
www84811.com-国产区一区二区三区,亚洲第一中文字幕在线观看,91精品久久香蕉国产线看观看,国产精品欧美久久
理论片日本一区| 99精品偷自拍| 国产精品人妖ts系列视频| 97se亚洲国产综合自在线观| 亚洲自拍偷拍麻豆| 日韩欧美一级精品久久| 国产成人高清在线| 亚洲午夜久久久久久久久久久 | 日韩综合小视频| 久久久久久久久97黄色工厂| 91丝袜呻吟高潮美腿白嫩在线观看| 性欧美疯狂xxxxbbbb| 久久久久国产精品人| 一本大道综合伊人精品热热| 日本美女一区二区三区视频| 国产日本一区二区| 欧美日韩欧美一区二区| 国产一区二区三区香蕉 | 亚洲精品一二三四区| 欧美一二三区在线观看| 99综合电影在线视频| 丝袜国产日韩另类美女| 国产日产亚洲精品系列| 欧美日韩在线播| 粉嫩一区二区三区在线看 | 五月综合激情网| 国产精品无码永久免费888| 欧美日本免费一区二区三区| 国产传媒一区在线| 日韩中文字幕一区二区三区| 中文在线一区二区 | 亚洲色图色小说| 日韩一二三区不卡| 色偷偷成人一区二区三区91| 狠狠色丁香婷婷综合| 亚洲高清免费视频| 国产精品美女久久久久久久久 | 日韩欧美国产电影| 91福利在线免费观看| 国产黄色精品网站| 日韩精品一二三区| 亚洲精品综合在线| 国产日产欧美一区二区视频| 91精品国产91久久久久久一区二区 | 欧美bbbbb| 亚洲另类在线制服丝袜| 久久综合狠狠综合| 3d动漫精品啪啪1区2区免费 | 亚洲日本免费电影| www亚洲一区| 91麻豆精品国产自产在线观看一区| 99久久精品免费观看| 韩国精品免费视频| 日本不卡一二三区黄网| 亚洲综合网站在线观看| 国产精品国产精品国产专区不片 | 亚洲国产日韩a在线播放性色| 欧美激情一区二区三区四区| 欧美成人午夜电影| 欧美精品日韩一本| 在线视频亚洲一区| 99久久er热在这里只有精品15 | 一区二区三区美女视频| 中文文精品字幕一区二区| 精品国产精品网麻豆系列| 欧美精品久久99| 欧美午夜一区二区三区免费大片| 91影视在线播放| jlzzjlzz亚洲日本少妇| 国产精品亚洲人在线观看| 九九国产精品视频| 蜜桃91丨九色丨蝌蚪91桃色| 午夜久久久影院| 亚洲国产sm捆绑调教视频| 一区二区视频在线| 亚洲另类一区二区| 亚洲欧洲精品天堂一级| 国产精品视频一二三区| 亚洲国产精品激情在线观看| 久久久久久久网| 精品国产3级a| 久久伊人中文字幕| 26uuu亚洲综合色欧美| 欧美v日韩v国产v| 欧美一二区视频| 欧美一区二区三区日韩视频| 91精品国产综合久久久久| 在线成人小视频| 91麻豆精品国产91久久久 | 欧美一级欧美三级在线观看| 欧美精品在线一区二区三区| 欧美日韩高清一区二区| 欧美日韩aaaaaa| 欧美剧在线免费观看网站| 欧美肥大bbwbbw高潮| 91精品国产品国语在线不卡| 日韩一区和二区| 精品国产百合女同互慰| 久久老女人爱爱| 亚洲国产精品99久久久久久久久| 国产精品久久久久久亚洲毛片| 中文文精品字幕一区二区| 国产精品嫩草久久久久| 亚洲欧美另类久久久精品| 一区二区三区欧美视频| 亚洲aⅴ怡春院| 蜜乳av一区二区三区| 精东粉嫩av免费一区二区三区| 国产露脸91国语对白| 成人av先锋影音| 日本道精品一区二区三区| 欧美日韩黄视频| 日韩精品一区二区三区在线观看| 精品国产一区二区亚洲人成毛片| 久久亚洲精精品中文字幕早川悠里 | 一区二区成人在线视频| 午夜精品一区二区三区电影天堂 | 成人免费的视频| 91首页免费视频| 欧美日韩极品在线观看一区| 日韩欧美一级片| 欧美韩国日本不卡| 一区二区三区四区亚洲| 日本欧美一区二区三区| 国产精品一品二品| 91亚洲精品一区二区乱码| 欧美亚洲图片小说| 日韩欧美一级精品久久| 中文字幕av一区二区三区| 亚洲综合一区二区| 美女诱惑一区二区| 成人app网站| 欧美日韩在线免费视频| 日韩欧美一级二级三级久久久| 国产免费久久精品| 亚洲国产精品久久久男人的天堂| 久久电影网站中文字幕| 不卡的av电影| 在线不卡a资源高清| 国产亚洲欧美一区在线观看| 亚洲精品视频免费观看| 奇米亚洲午夜久久精品| 成人精品电影在线观看| 欧美日韩免费在线视频| 久久久亚洲高清| 亚洲自拍欧美精品| 国产一本一道久久香蕉| 欧美中文字幕一二三区视频| 精品少妇一区二区三区视频免付费 | 精品福利av导航| 综合色中文字幕| 美女网站一区二区| 91丨porny丨蝌蚪视频| 日韩欧美一区二区久久婷婷| 国产精品第13页| 日本女优在线视频一区二区| youjizz久久| 欧美一区二区免费观在线| 国产精品国产三级国产普通话蜜臀| 天堂午夜影视日韩欧美一区二区| 国产成人高清视频| 91麻豆精品国产91久久久| 国产精品国产精品国产专区不蜜| 日本欧美一区二区| 一本色道久久综合亚洲91| 日韩精品资源二区在线| 亚洲理论在线观看| 国产一区啦啦啦在线观看| 欧美日韩免费观看一区二区三区| 国产欧美综合色| 日本中文字幕一区二区视频| av网站一区二区三区| 日韩欧美123| 艳妇臀荡乳欲伦亚洲一区| 国产精品888| 欧美一区二区精品在线| 一区二区在线免费观看| 国产精品白丝jk黑袜喷水| 91精品午夜视频| 一区二区三区在线免费| 国产91精品在线观看| 欧美电视剧在线观看完整版| 一区二区三区波多野结衣在线观看| 国产乱对白刺激视频不卡| 欧美一区在线视频| 亚洲无线码一区二区三区| eeuss鲁片一区二区三区在线观看| 欧美v国产在线一区二区三区| 亚洲成人tv网| 日本道精品一区二区三区| 国产精品进线69影院| 国产剧情一区二区| 日韩三级在线免费观看| 香蕉影视欧美成人| 色婷婷国产精品| 成人免费一区二区三区视频| 国产91丝袜在线播放九色| 精品日韩欧美在线| 日本女人一区二区三区| 欧美剧情片在线观看|