我的微控制器設計的數字鐘實驗報告

2021-03-04 03:59:28 字數 3253 閱讀 4858

目錄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小時制的數字鐘,顯示時 分 秒,有校時功能,可以分別對時及分進行單獨校時,使其校正到準確時...