目錄1 前言 3
2 數字鐘設計原理 3
3 流程圖 4
4 51微控制器系統的硬體連線 4
5 程式設計 6
5.1主程式
5.2中斷服務子程式
5.3 顯示子程式
5.4 總的程式清單
6 系統除錯及結果分析 12
7 注意事項 12
8 感想與體會 13
9 參考文獻 13
一.前言
20世紀末,電子技術獲得了飛速的發展,在其推動下,具有功能強、體積小、可靠性高、**低廉的微控制器在工業控制、資料採集、智慧型儀表、機電一體化、家用電器等領域得到了廣泛的應用,極大的提高了這些領域的技術水平和自動化程度。
現在生活的人們越來越重視起了時間觀念,可以說是時間和金錢劃上了等號,對於那些對時間把握非常嚴格和準確的人或事來說,時間的不準確性帶來不小的麻煩,所以說以數碼管顯示的時鐘比指標式的時鐘表現出了很大的優勢。數碼管顯示的時間簡明而且讀數快,時間準確顯示到秒。
數字鐘是採用數位電路對時分秒數字顯示的計時裝置。數字鐘的精度,穩定性遠遠超過老式機械鐘。數字鐘是其小巧,**低廉,走時精度高,使用方便,功能多,便於整合化而受到廣大消費者的喜愛。
二.數字鐘設計原理
數字鐘實際是對標準頻率計數的電路,由於計數的起始時間不可能與標準時間一致,故需要在電路上加乙個校時電路,同時標準的時間訊號必須做到準確穩定。通常使用石英晶體振盪電路構成數字鐘。數字鐘電子鐘由以下幾部分組成:
按鍵開關部分,振盪電路部分,89c51微控制器控制器,4位數碼管顯示部分,7407數碼管驅動部分。
三.流程圖
主程式流程圖如圖2.3所示,定時器t0中斷服務程式流程圖如2.4所示。
圖2.4中斷服務程式流程圖
四.51微控制器系統的硬體連線
1. 硬體電路的設計,硬體電路圖如圖2.2所示
圖2.2硬體電路圖
該電路採用at89c51微控制器最小化應用,採用共陰7段led數碼管顯示器,p2.4~p2.7口作為列掃瞄輸出,p0口輸出段碼資料,p1.
2,p1.1口接2個按鈕開關,用於調時及功能誤差,採用12mhz晶振,可提高秒計時的精確度。
採用動態掃瞄法實現led數碼管顯示。
共陰7段led顯示器顯示原理:
10μf電容作用:上電復位;
7407作用:同相緩衝器,驅動數碼管;
12m晶振和兩個電容組成晶體振盪器。
五.程式設計
1主程式
main:mov hour, #00 ;時,分,秒,標記清零
mov min, #00h
mov sec, #00h
mov buff, #00h
mov sp, #0efh設堆疊指標
mov th0, #0ech定時器賦初值
mov tl0, #78h
mov 40h, #100設迴圈次數
mov 41h, #2
mov tmod , #1寫tmod
mov ip, #2寫ip
mov ie, #82h
mov r5,#0 ;利用r5進行硬體延時
開中斷setb tr0啟動定時器
採用定時器t0中斷完成一次主程式迴圈, 呼叫顯示子程式和查鍵子程式,當埠有開關按下時,輸入相應的功能程式。
2中斷服務子程式
ptf0mov th0, #0ech
mov tl0, #78h
inc r5
mov r6,buff
cjne r6,#00h,bb
mov dptr,#tab1
ljmp loop0
bb:mov dptr,#tab
loop0: cjne r5,#1,loop1
acall lop0
ajmp jk
loop1:cjne r5,#2,loop2
acall lop1
ajmp jk
loop2:cjne r5,#3,loop3
acall lop2
ajmp jk
loop3:acall lop3
mov r5,#0
jk: djnz 40h, ptfor
xrl buff, #0ffh
mov 40h, #100
jnb p1.1, jf
jnb p1.2, js
mov r7, 41h
cjne r7, #1, aa
aadjnz 41h, ptfor
mov 41h,#2
mov a, sec秒加1
add a, #1
da a
mov sec, a
cjne a, #60h, ptfor
mov sec, #0秒清零
jfmov a, min分加1
add a, #1
da a
mov min, a
cjne a, #60h,ptfor
mov min, #0分清零
acall led
js: mov a,hour
add a,#1
da a
mov hour,a時加1
cjne a, #24h,ptfor時加到24時否?是,清零
mov hour, #0
ptfor:reti
定時器t0用於時間計時,定時溢位中斷週期為5ms,中斷進入後,先進行定時中斷初值校正,當中斷累計200次(即5ms*200=1s)時,對秒計數單元進行加1操作,計時單元中採用24進製。
晶振頻率fosc=12mhz,t0工作於方式0,產生5ms中斷,則t0的初始值計算公式為:
t=(216-a)μs
得a=216-*t
216-5000
60536
化為16進製制數: a=0ec78h
3顯示子程式
lop0: mov a, min顯示分鐘的個位
anl a, #0fh
movc a, @a+dptr
mov p0,a
mov p2,#0f0h
clr p2.4
clr p0.4
retlop1:
mov a, min顯示分鐘的十位
swap a
anl a, #0fh
微控制器實習報告 數字鐘
at89s52晶元數字鐘 實習報告 課程名稱 專業姓名 班級學號 指導教師 目錄一 題目及設計要求 3 二 實驗內容 3 三 實驗原理 3 一 硬體介紹 3 二 實驗線路 6 三 流程圖 7 四 程式設計 9 五 除錯過程及測試結果 14 六 實習心得 14 七 參考文獻 15 一 題目及設計要求 ...
EWB數字鐘實驗報告
一 利用ewb設計用於秒計數和分計數的60進製 00 59 計數器,用於時計數的24進製 00 23 計數器和用於星期計數的7進製 1 7 計數器。1.60進製計數器 電路截圖 工作原理 選用兩片74160晶元,左邊一片為顯示個位,右邊一片為顯示十位。當兩片晶元同時計數到 60 時,轉換為二進位制為...
160數字鐘實驗報告
數字鐘設計 一 實驗目的 1 了解數字鐘的組成及工作原理 2 熟練掌握組合邏輯電路以及時序電路的使用 3.熟悉掌握555定時器和計數器,並利用其設計構成多諧振蕩和分頻電路 二 實驗任務及要求 任務 設計乙個24小時制的數字鐘,顯示時 分 秒,有校時功能,可以分別對時及分進行單獨校時,使其校正到準確時...