
黑龍江信息技術職業學院
畢業設計(論文)說明書
系部自動控制工程系
專業電氣自動化
年級08電氣
姓名于奇
指導教師艾鐵偉
年月日
黑龍江信息技術職業學院
畢業設計(論文)任務書
題目:
學生姓名于奇
系部名稱自動控制工程系
專業電氣自動化
學號
指導教師艾鐵偉
職稱
一、原始依據(包括設計或論文的工作基礎、研究條件、應用環
境、工作目的等)
二、參考文獻
[1]李葉紫.王喜斌.胡輝.孫東輝.編著MCS_51單片機應用教程清華大學出版
社.2008.6。
[2]陸劍.單片機應用技術指導書河南工業職業技術學院2005。12.
[3]汪道輝。單片機系統設計與實踐.電子工業出版社
(50頁時、分、秒計時器設計,59頁鍵盤及接口技術).
[4]第二版.51系列單片機設計實例.北京航空航天大學出版社(81—89頁數碼管時鐘電
路的設計).
[5]辛友順、胡永生、薛小玲。單片機應用系統設計與實現。福建科學技術出版社(184-186
頁LED顯示接口,190-193頁鍵盤接口)。
[6]黃慶華、張永格。單片機開發與實例。電子工業出版社(127-162頁數字式電子
時鐘的設計)。
[7]閆玉德、俞紅.MCS—51單片機原理與應用(C語言版).機械工業出版社(49—104
頁單片機的C程序設計).
[8]求是科技.單片機典型模塊設計實例導航.人民郵電出版社(85—90頁單片機數字時
鐘)。
[9]劉守義,王靜霞。《單片機應用技術》.西安電子科技大學出版社,2002.
三、設計(研究)內容和要求(包括設計或研究內容、主要指標與
技術參數,并根據課題性質對學生提出具體要求)
電子科技日新月異,人們對現代電子設備的智能化和微型化及其精度提出了
更高的要求,而單片機因其具有穩定可靠、體積小、價格低廉等特點,成為設
計智能化儀器儀表的首選微控制器,因此本次我們沒有選用傳統的專用的時鐘芯
片,而是采用了AT89S51芯片,此款單片機可以使用軟件對其進行在線編程,其
靈活性和可靠性都相對提高
指導教師(簽字)
年月日
審題小組組長(簽字)
年月日
黑龍江信息技術職業學院
畢業設計(論文)開題報告
課題名稱單片機電子時鐘
學院名稱黑龍江信息技術職業學院專業名稱
學生姓名于奇指導教師艾鐵偉
(內容包括:課題的來源及意義,國內外發展狀況,本課題的研究目標、研究內
容、研究方法、研究手段和進度安排,實驗方案的可行性分析和已具備的實驗條
件以及主要參考文獻等。)
選題是否合適:是□否□
課題能否實現:能□不能□
指導教師(簽字)
年月日
選題是否合適:是□否□
課題能否實現:能□不能□
審題小組組長(簽字)
年月日
摘要
單片機即單片微型計算機.(Single-ChipMicrocomputer),是集
CPU,RAM,ROM,定時,計數和多種接口于一體的微控制器。他體積小,成本低,
功能強,廣泛應用于工業自動化上和智能產品.時鐘,自從它被發明的那天起,
就成為了人類的好朋友,但隨著時間的推移,科學技術的不斷發展,時鐘的應用
越來越廣范,人們對時間計量的精度要求也越來越高.怎樣讓時鐘更好的為人民
服務,怎樣讓我們的老朋友再次煥發青春呢?這就要求我們不斷設計出新型的時
鐘,來不斷滿足人們的日常生活需要。然而市場上的時鐘便宜的比較笨重,簡單
實用的又比較昂貴。那么,有沒有一款既簡單實用價格又便宜的時鐘呢?
我們課程設計小組設想:可不可以利用單片機功能集成化高,價格又便宜
的特點設計一款結構既簡單,價格又便宜的單片機電子時鐘呢?
基于這種情況,我們課程設計小組成員多方查閱資料,反復論證設計出了這
款既簡單實用,又價格便宜的——單片機電子時鐘。
關鍵詞:單片機;時鐘;計時
目□□錄
(三號、黑體、居中、目錄兩字空兩格、與正文空一行)
□□第一章(空兩格)☆☆☆(小三號、宋體)………………
□□□1.1☆☆☆☆(四號宋體)……………………………………
□□□1。2☆☆☆☆……………………………………………………
□□□1.3☆☆☆☆……………………………………………………
………………
□□第四章(空兩格)☆☆☆(小三號、宋體)………………
□□□4.1☆☆☆☆……………………………………………………
□□□4.2☆☆☆☆……………………………………………………
………………
□□參考文獻(小三號、宋體)…………………………………
□□附錄(小三號、宋體)………………………………………
□□外文資料(小三號、宋體)…………………………………
□□中文譯文(小三號、宋體)…………………………………
□□致謝(小三號、宋體)………………………………………
不標頁碼
緒論
1。1課題背景
單片機自1976年由Intel公司推出MCS—48開始,迄今已有二十多年了.
由于單片機集成度高、功能強、可靠性高、體積小、功耗地、使用方便、價格低
廉等一系列優點,目前已經滲入到人們工作和生活的方方面面,幾乎“無處不在,
無所不為”。單片機的應用領域已從面向工業控制、通訊、交通、智能儀表等迅
速發展到家用消費產品、辦公自動化、汽車電子、PC機外圍以及網絡通訊等廣
大領域.
單片機有兩種基本結構形式:一種是在通用微型計算機中廣泛采用的,將程
序存儲器和數據存儲器合用一個存儲感冒喝可樂 器空間的結構,稱為普林斯頓結構。另一種
是將程序存儲器和數據存儲器截然分開,分別尋址的結構,一般需要較大的程序
存儲器,目前的單片機以采用程序存儲器和數據存儲器截然分開的結構為多.
本文討論的單片機多功能定時器的核心是目前應用極為廣泛的51系列單
片機,配置了外圍設備,構成了一個可編程的計時定時系統,具有體積小,可靠
性高,功能強等特點.不僅能滿足所需要求而且還有很多功能可供開發,有著廣泛
的應用領域。
20世紀80年代中期以后,Intel公司以專利轉讓的形式把8051內核技術
轉讓給許多半導體芯片生產廠家,如ATMEL、PHILIPS、ANALOG、DEVICES、DALLAS
等.這些廠家生產的芯片是MCS-51系列的兼容產品,準確地說是與MCS-51指令系
統兼容的單片機。這些兼容機與8051的系統結構(主要是指令系統)相同,采用
CMOS工藝,因而,常用80C51系列來稱呼所有具有8051指令系統的單片機,它
們對8051單片機一般都作了一些擴充,更有特點。其功能和市場競爭力更強,
不該把它們直接稱呼為MCS-51系列單片機,因為MCS只是Intel公司專用的單
片機系列型號.MCS—51系列及80C51單片機有多種品種。它們的引腳及指令系
統相互兼容,主要在內部結構上有些區別.目前使用的MCS-51系列單片機及其兼
容產品通常分成以下幾類:基本型、增強型、低功耗型、專用型、超8位型、片
內閃爍存儲器型。
1。2課題來源
在日常生活和工作中,我們常常用到定時控制,如擴印過程中的曝光定時
等。早期常用的一些時間控制單元都使用模擬電路設計制作的,其定時準確性和
重復精度都不是很理想,現在基本上都是基于數字技術的新一代產品,隨著單片
機性能價格比的不斷提高,新一代產品的應用也越來越廣泛,大可構成復雜的工
業過程控制系統,完成復雜的控制功能。小則可以用于家電控制,甚至可以用于
兒童電子玩具。它功能強大,體積小,質量輕,靈活好用,配以適當的接口芯片,
可以構造各種各樣、功能各異的微電子產品。
隨著電子技術的飛速發展,家用電器和辦公電子設備逐漸增多,不同的設備都有自己的
控制器,使用起來很不方便.根據這種實際情況,設計了一個單片機多功能定時系統,它可以
避免多種控制器的混淆,利用一個控制器對多路電器進行控制,同時又可以進行時鐘校準和
定點打鈴。它可以執行不同的時間表(考試時間和日常作息時間)的打鈴,可以任意設置時
間。這種具有人們所需要的智能化特性的產品減輕了人的勞動,擴大了數字化的范圍,為家
庭數字化提供了可能.
第二章MCS-51單片機的結構
MCS-51單片機是把那些作為控制應用所必需的基本內容都集成在一個尺寸有限的集
成電路芯片上。如果按功能劃分,它由如下功能部件組成,即微處理器(CPU)、數據存儲器
(RAM)、程序存儲器(ROM/EPROM)、并行I/O口、串行口、定時器/計數器、中斷系統
及特殊功能寄存器(SFR)。它們都是通過片內單一總線連接而成,其基本結構依舊是CPU加
上外圍芯片的傳統結構模式.但對各種功能部件的控制是采用特殊功能寄存器(SFR)的集中
控制方式。
2.1控制器
控制器是單片機的指揮控制部件,控制器的主要任務是識別指令,并根據指
令的性質控制單片機各功能部件,從而保證單片機各部分能自動而協調地工作.
單片機執行指令是在控制器的控制下進行的。首先從程序存儲器中讀出指令,送指令寄
存器保存,然后送至指令譯碼器進行譯碼,譯碼結果送定時控制邏輯電路,由定時控制邏輯
產生各種定時信號和控制信號,再送到單片機的各個部件去進行相應的操作.這就是執行一
條指令的全過程,執行程序就是不斷重復這一過程。控制器主要包括程序計數器、程序地址
寄存器、指令寄存器IR、指令譯碼器、條件轉移邏輯電路及時序控制邏輯電路。
2知道英語 .2存儲器的結構
MCS—51單片機存儲器采用的是哈佛結構,即程序存儲器空間和數據存儲器
空間截然分開,程序存儲器和數據存儲器各有自己的尋址方式,尋址空間和控制
系統。
這種結構對于單片機面向控制的實際應用極為方便,有利.在8051/8751彈
片擊中,不僅在片內集成了一定容量的程序存儲器和數據存儲器及眾多的特殊功
能寄存器,而且還具有極強的外存儲器的擴展能力,尋址能力分別可達64KB,尋
址和操作簡單方便.MCS—51的存儲器空間可劃分為如下幾類:
1.程序存儲器
單片機系統之所以能夠按照一定的次序進行工作,主要是程序存儲器中存放
了經調試正確的應用程序和表格之類的固定常數。程序實際上是一串二進制碼,
程序存儲器可以分為片內和片外兩部分。8031由于無內部存儲器,所以只能外
擴程序存儲器來存放程序。
MCS—51單片機復位后,程序存儲器PC的內容為0000H,故系統必須從0000H
單元開始取指令,執行程序.程序存儲器中的0000H地址是系統程序的啟動地址.
一般在該單元存放一條絕對跳轉指令,跳向用戶設計的主程序的起始地址。
2.內部數據存儲器
MCS—51單片機內部有128個字節的隨機存取存儲器RAM,作為用戶的數據寄
存器,它能滿足大多數控制型應用場合的需要,用作處理問題的數據緩沖器。
MCS-51單片機的片內存儲器的字節地址為00H—7FH。MCS-51單片機對其內
部RAM的存儲器試紙怎么用 有很豐富的操作指令,從而使得用戶在設計程序時非常方便。地
址為00H—1FH的32個單元是4組通用工作寄存器區,每個區含8個8位寄存器,
編號為R7—R0。用戶可以通過指令改變PSW中的RS1,RS0這二位來切換當前的
工作寄存器區,這種功能給軟件設計帶來極大的方便,特別是在中斷嵌套時,為
實現工作寄存器現場內容保護提供了極大的方便。
3.特殊功能寄存器(SFR-SpecialFunctionRegister)
特殊功能寄存器反映了MCS—51單片機的狀態,實際上是MCS—51單片機各功能部
件的狀態及控制寄存器。SFR綜合的,實際的反應了整個單片機基本系統內部的工作狀態及
工作方式.SFR實質上是一些具有特殊功能的片內RAM單元,字節地址范圍為80H—FFH.
特殊功能寄存器的總數為21個,離散的分布在該區域中,其中]有些SFR還可以進行位尋
址。128個字節的SFR塊中僅有21個字節是由定義的。對于尚未定義的字節地址單元,用戶
不能作寄存器使用,若訪問沒有定義的單元,則將得到一個不確定的隨機數.
2.3并行I/O口
MCS-51單片機共有4個雙向的8位并行I/O端口(Port),分別記作P0—P3,
共有32根口線,各口的每一位均由鎖存器、輸出驅動器和輸入緩沖器所組成。
實際上P0—P3已被歸入特殊功能寄存器之列。這四個口除了按字節尋址以外,
還可以按位尋址。由于它們在結構上有一些差異,故各口的性質和功能有一些差
異。
P0口是雙向8位三態I/O口,此口為地址總線(低8位)及數據總線分時復用口,可驅動8
個LS型TTL負載.P1口是8位準雙向I/O口,可驅動4個LS型負載。P2口是8位準雙向
I/O口,與地址總線(高8位)復用,可驅動4個LS型TTL負載。P3口是8位準雙向I/O
口,是雙功能復用口,可驅動4個LS型TTL負載。P1口、P2口、P3口各I/O口線片內均
有固定的上拉電阻,當這3個準雙向I/O口做輸入口使用時,要向該口先寫“1”,另外準雙
向I/O口無高阻的“浮空”狀態,故稱為雙向三態I/O口.
2.4時鐘電路與時序
時鐘電路用于產生MCS-51單片機工作時所必需的時鐘信號。MCS—51單片
機本身就是一個復雜的同步時序電路,為保證同步工作方式的實現,MCS-51單片
機應在唯一的時鐘信號控制下,嚴格地按時序執行進行工作,而時序所研究的是
指令執行中各個信號的關系。
在執行指令時,CPU首先要到程序存儲器中取出需要執行的指令操作碼,然后譯碼,
并由時序電路產生一系列控制信號去完成指令所規定的操作。CPU發出的時序信號有兩類,
一類用于片內對各個功能部件的控制,這列信號很多.另一類用于片外存儲器或I/O端口的
控制,這部分時序對于分析、設計硬件接口電路至關重要。這也是單片機應用系統設計者普
遍關心的問題。
2.5單片機的應用領域
單片機應用領域可以歸納為以下幾個方面。
1.智能儀表
用單片機系統取代老式的測量、控制儀表,實現從模擬儀表向數字化、智能化儀
表的轉化,如各種溫度儀表、壓力儀表、流量儀表、電能計量儀表等。
2.測控系統
用單片機取代原有的復雜的模擬數字電路,完成各種工業控制、數據采集系
統等工作。
3.電能變換
應用單片機設計變頻調速控制電路。
4.通信
用單片機開發通信模塊、通信器材等.
5.機電產品
應用單片機檢測、控制傳統的機械產品,使傳統的機械產品結構簡化,控制
智能化,提高了機電產品的可靠性,增強了產品的功能.
6.智能接口
在數據傳輸中,用單片機實現外部設備與微機通信。
第三章系統設計要求
3.1基本功能
(1)能夠顯示時分秒
(2)能夠調整時分秒
3.2擴展功能
(1)能夠任意設置定時時間
(2)定時時間到鬧鈴能夠報警
(3)實現了秒表功能
第四章硬件總體設計方案
用一揚聲器來本次設計時鐘電路,使用了AT89C51單片機芯片控制電路,單片
機控制電路簡單且省去了很多復雜的線路,使得電路簡明易懂,使用鍵盤鍵上的
按鍵來調整時鐘的時、分、秒,進行定時提醒,同時使用C語言程序來控制整個
時鐘顯示,使得編程變得更容易,這樣通過四個模塊:鍵盤、芯片、揚聲器、顯
示屏即可滿足設計要求。
4。1系統功能實現總體設計思路
如圖4-10所示為AT89S51芯片的引腳圖
此設計原理框圖如圖4-11所示,此電路包括以下四個部分:單片機,鍵盤,鬧
鈴電路及顯示電路。
AT89C51
獨
立
鍵
盤
數碼管顯示
鬧鈴電路
圖4-10AT89S51芯片外部引腳圖
圖4-11設計原理框圖
經多方論證硬件我們小組采用AT89C51單片機和7SED八位共陽極數碼管等
來實現單片機電子時鐘的功能。
詳細元器件列表如表4。12所示:
表4。12詳細元器件列表
AT89c511片
7SED八位共陽極數碼管1片
NPN三極管1個
104p電容6個
30p電容2個
10K電阻6個
560歐姆電阻8個
200歐姆電阻1個
100歐姆電阻6個
4.2各部分功能實現
(1)單片機發送的信號通過程序控制最終在數碼管上顯示出來.
(2)單片機通過輸出各種電脈沖信號來驅動控制各部分正常工作。
(3)為使時鐘走時與標準時間一致,校時電路是必不可少的,鍵盤用來校正數
碼管上顯示的時間。
單片機通過控制鬧鈴電路來完成定時鬧鐘的功能
4.3系統工作原理
設計的電路主要由四模塊構成:單片機控制電路,顯示電路、鬧鈴電路以及校
正電路。
詳細電路功能圖如圖4-30:
詳細電路功能圖如圖4—30
本設計采用C語言程序設計,使單片機控制數碼管顯示時、分、秒,當秒計
數計滿60時就向分進位,分計數器計滿60后向時計數器進位,小時計數器按“23
翻0”規律計數.時、分、秒的計數結果經過數據處理可直接送顯示器顯示。當
計時發生誤差的時候可以用校時電路進行校正.設計采用的是時、分、秒顯示,
單片機對數據進行處理同時在數碼管上顯示。
4。4時鐘各功能分析及圖解
(1)時鐘運行圖
仿真開始運行時,或按下key4鍵時,時鐘從12:00:00開始運行,其中key2
鍵對分進行調整,key3對小時進行調整,key6可以讓時鐘暫停。
時鐘運行圖如圖4-41所示:
(2)秒表計時圖
當按下key1鍵進入秒表計時狀態,key6是秒表暫停鍵,可按key4鍵跳出
秒表計時狀態。
秒表計時圖如圖4—42所示:
a
b
c
d
e
f
g
dp
abcdefgd
p
8
1
2
3
4
5
6
7
12345678
01
02
03
04
05
06
07
08
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
U1
AT89C51
R13
LS1
SPEAKER
X1
12MHz
C7
30p
C8
30p
Q1
PNP
單片機電子時鐘
電子信息0701王勇貴曹文忠
劉志強原娟慧
鍵盤控制區
時間顯示區
外設鬧鈴
核心控制區
秒表調時調分顯時鬧鈴暫停
主要功能:
1、秒表
2、時間調整
3、數字顯示
4、鬧鈴設置
圖4-41時鐘運行圖
圖4—42秒表計時圖
(3)鬧鈴設置圖及運行圖
a
b
c
d
e
f
g
dp
abcdefgd
p
8
1
2
3
4
5
6
7
12345678
01
02
03
04
05
06
07
08
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
U1
AT89C51
R13
LS1
SPEAKER
X1
12MHz
C7
30p
C8
30p
Q1
PNP
單片機電子時鐘
電子信息0701王勇貴曹文忠
劉志強原娟慧
鍵盤控制區
時間顯示區
外設鬧鈴
核心控制區
秒表調時調分顯時鬧鈴暫停
主要功能:
1、秒表
2、時間調整
3、數字顯示
4、鬧鈴設置
當按下key5,開始定時,分別按key2調分,key3調時設置鬧鈴時間,然后
按下key4鍵恢復時鐘運行狀態(圖4-43)當鬧鈴設置時間到時,蜂鳴器將發出
10秒中蜂鳴聲(圖4—44)。
a
b
c
d
e
f
g
dp
ab
c
de
f
gd
p
8
1
2
3
4
5
6
7
12345678
01
02
03
04
05
06
07
08
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
U1
AT89C51
R13
LS1
SPEAKER
X1
12MHz
C7
30p
C8
30p
Q1
PNP
單片機電子時鐘
電子信息0701王勇貴曹文忠
劉志強原娟慧
鍵盤控制區
時間顯示區
外設鬧鈴
核心控制區
秒表調時調分顯時鬧鈴暫停
主要功能:
1、秒表
2、時間調整
3、數字顯示
4、鬧鈴設置
圖4—43鬧鈴時間設置圖
該數字鐘是用一片AT89C51單片機通過編程去驅動8個數碼管實現的。通過
6個開關控制,從上到下6個開關KEY1—KEY6的功能分別為:KEY1,切換至秒
表;KEY2,調節時間,每調一次時加1;KEY3,調節時間,每調一次分加1;KEY4,
從其它狀態切換至時鐘狀態;KEY5,切換至鬧鐘設置狀態,也可以對秒表清零;
KEY6,秒表暫停。控制鍵分別與P1。0~P1。5口連接.其中:
A通過P2口和P3口去控制數碼管的顯示如圖所示P2口接數碼管的a——g
端,是控制輸出編碼,P3口接數碼管的1-—8端,是控制動態掃描輸出.
B從P0。0輸出一個信號使二極管發光,二極管在設置的鬧鐘時間到了時候
發光,若有樂曲可以去驅動揚聲器實現。
a
b
c
d
e
f
g
dp
ab
c
de
f
gd
p
8
1
2
3
4
5
6
7
12345678
01
02
03
04
05
06
07
08
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
U1
AT89C51
R13
LS1
SPEAKER
X1
12MHz
C7
30p
C8
30p
Q1
PNP
單片機電子時鐘
電子信息0701王勇貴曹文忠
劉志強原娟慧
鍵盤控制區
時間顯示區
外設鬧鈴
核心控制區
秒表調時調分顯時鬧鈴暫停
主要功能:
1、秒表
2、時間調整
3、數字顯示
4、鬧鈴設置
圖4—44鬧鈴運行圖
4.5電路功能使用說明
(1)各個控制鍵的功能:可對時間進行校準調節(只能加1);按下設置鍵
數字時鐘進入鬧鐘設置狀態,設置鬧鐘的時間;時加1、分加1鍵是在校準
時間時或設置鬧鐘時間對小時數或分鐘數調節而設置的;按下秒切換鍵就
可以進入秒表模式,同時秒表也開始計時,按下秒表暫停、復位鍵就暫停、
歸零,如果要重新對秒計時則可以按秒表開始、復位;清零鍵可以對鬧鐘清
零。
(2)AT89C51單片機,通過編寫程序對數碼顯示進行控制。
(3)八個7段數碼管顯示時鐘和秒表信號
第五章軟件總體設計方案
5.1主程序流程圖
軟件程序從開始執行,先通過初始化各個寄存器,經過掃描按鍵來決定是否
設定參數來執行相應功能的程序,進而在數碼管上顯示.如圖5—10:
圖3-1主程序流程圖
開始
定時器及中斷定時器初始化
執行時鐘秒表
鬧鈴設定程序
是否設定參
數
執行顯示程序
N
Y
5.2總中斷程序流程
分數值inute加
歸零
Tcount加1
返回主程序
實數值加
歸零
>23
時數值歸零
Tount1=10
0?
秒數值
加
1cond歸零
執行鬧鐘程序p0.0=1
判斷時間
與鬧鐘時
鬧鐘程序是否行
完全
=60?
=60?
恢復初值保護
圖5-20中斷流程圖
時間的顯示通過此中斷程序來控制,并且通過與設定的時間進行比較來判斷
是否讓鬧鈴工作。程序中包含時間的設定,如設定tcount來使秒等工作,進而來
控制分和時。如上圖圖5-20。
A.秒表中斷程序流程
秒表功能通過另一個程序來實現。通過保護主程序的數據來進行秒表功能。
程序中需要設置秒表的具體顯示方法。如圖5-3:
N
N
圖5—3秒表中斷程序流程圖
恢復初值保護
10ms計數器加1恢復初值保護
秒計數器加1,10ms計數器歸零,即c++,ms=0
Sec>60?
Ms>100?
輸出字碼,中斷結束,返回上級主程序
分計數器加1,秒計數器歸零,即minit++,c=0
B.按鍵程序流程
圖5-4為時鐘和鬧鐘的調節,程序中通過掃描來判斷按鍵是否按下進行時間和
鬧鐘的調節.
程序初始化
時十位歸零alarms【7】
=0
分時位歸零
alarms[4]=0
分十位歸零
輸出時鐘時十
位加一
輸出鬧鐘時個位
加一,延時
輸出時鐘十位加一
輸出時鐘十個
位加一
輸出時鐘分個位
加一,延時
輸出鬧鐘時
分位加一
輸出鬧鐘時十位
加一
輸出鬧鐘分
個位加一,
時十位歸零
判斷標志
位是否為
Alarms[4]>2
Alarms[7]
>2Alarms【3】>0
Dat1[6]>
9
Dat1[7]
Alarms[6]
>9
Dat1[3]>9
Dat1[4]>2
判斷標志是
否為零
判斷時i加鍵
是否按下
判斷分加鍵
是否按下
圖5-4按鍵程序流程圖
圖5—5為進入中斷和清零圖,程序中通過掃描來判斷按鍵是否按下進行執行相
應的中斷來事實現相應的功能.
判斷分加鍵
tminute是否按
下,P1.1=0
判斷秒表
miaobiao1
是否按下按
下,P1.0=0
判斷清零鍵
miaobiao2是否按
下,P1.3=0
進入秒表中斷,執
行秒表中斷程序
返回上級主程序
清零所有的計數器,各
個顯示的字碼。
圖5—5中斷和清零程序流程圖
5。3控制電路的C語言源程序
根據流程圖,經過認真分析得出控制電路的源程序如下:
#include
#defineucharunsignedchar
#defineuintunsignedint
#definedelay_time3/*宏定義*/
uchark,dat[]={0,0,0,0,0,0,0,
0};
uinttcount,t,u;
uchardat1[]={0,0,0,0,0,0,2,1};
uchardat2[]={0,0,0,0,0,0,
0,0};
ucharalarms[]={0,0,0,0,0,0,0,0};
uchardis_bit[]={0x80,0x40,0x20,
0x10,0x08,0x04,0x02,0x01};
unsignedcharcodeSEG7[11]=
{0xC0,/*0*/
0xF9,/*1*/
0xA4,/*2*/
0xB0,/*3*/
0x99,/*4*/
0x92,/*5*/
0x82,/*6*/
0xF8,/*7*/
0x80,/*8*/
0x90,/*9*/
0xBF,/*—*/
};/*數字顯示數組*/
sbitmiaobiao1=P1^0;
sbittminute=P1^1;
sbitthour=P1^2;
sbitmiaobiao2=P1^3;
sbitalarm=P1^4;
sbitP0_0=P0^0;
sbitP1_5=P1^5;
sbitP1_6=P1^6;
sbitP1_7=P1^7;/*端口定義*/
ucharms=0;
ucharflag=0;
ucharc=0;
ucharminit=0;
structtime{ucharcond;uchar
minute;ucharhour;}大學生求職信 time1;
ucharn,i;
voiddelay(n)
{while(n--)
{
for(i=120;i>0;i—-);
}
}
/*延時子程序*/
voidmodify(void)
{
EA=0;
if(thour==0)
{
if(flag==0)
{
dat1[6]++;delay(280);
if(dat1[6]〉9)
{
dat1[6]=0;
dat1[7]++;
}
elif((dat1[7]>1)&&
(dat1[6]>3))
{dat1[7]=0;
dat1[6]=0;}
}
if(flag==1)
{
alarms[6]++;delay(300);
if(alarms[6]>9)
{
alarms[6]=0;alarms[7]++;
if(alarms[7]>2)
{
alarms[7]=0;
}
}
dat[6]=alarms[6];
dat[7]=alarms[7];
}
}
if(tminute==0)
{
if(flag==0)
{
dat1[3]++;delay(280);
if(dat[3]〉=9)
{
dat1[4]++;dat1[3]=0;
if(dat1[4]〉5)
{
dat1[4]=0;
}
}
}
if(flag==1)
{
alarms[3]++;delay
(300);
if(alarms[3]>9)
{
alarms[4]++;alarms[3]=0;
if(alarms[4]〉5)
{
alarms[4]=0;
}
}
dat[3]=alarms[3];
dat[4]=alarms[4];
}
}
if(miaobiao1==0)
{TR0=0;ET0=0;TR1=1;ET1=1;
}
if(miaobiao2==0)
{
TR0=1;ET0=1;TR1=0;ET1=0;
dat2[0]=0;
dat2[1]=0;
dat2[3]=0;
dat2[4]=0;
dat2[6]=0;
dat2[7]=0;
ms=0;
c=0;
minit=0;
}
if(P1_5==0)
{
TR0=0;ET0=0;TR1=0;
ET1=0;
}
if(alarm==0)
{
TR0=0;ET0=0;TR1=0;
ET1=0;flag=1;
dat[0]=0;
dat[1]=0;
dat[2]=10;
dat[3]=0;
dat[4]=0;
dat[5]=10;
dat[6]=0;
dat[7]=0;
}
EA=1;
}/*按鍵掃描*/
voidinit(void)
{
TMOD=0x11;
TH0=0xDB;
TL0=0xFF;
TH1=0xDB;
TL1=0xFF;
ET0=1;//10ms
ET1=1;
//TR1=1;
TR0=1;
tcount=0;
ms=0;
c=0;
minit=0;
EA=1;
}/*初始化*/
voidtest(void){
for(k=0;k〈8;k++)
{
P3=dis_bit[k];
P2=SEG7[dat[k]];delay(1);
P3=0X00;
}
}/*數字顯示*/
voidmain()
{init();
delay(10);
while(1)
{
modify();
test();
}
}/*主函數*/
Voiddiplay()interrupt1
{
ET0=0;
TR0=0;
TH0=0xDB;
TL0=0xff;
TR0=1;
tcount++;
if(tcount==100)
{
++;
tcount=0;
dat1[0]=(time1。cond)%10;
dat1[1]=(time1。cond)/10;
}
if(==60)
{dat1[0]=0;dat1[1]=0;
=0;
time1。minute++;
dat1[3]=(time1。minute)%10;
dat1[4]=(time1。minute)/10;
}
if(==60)
{
=0;
++;
dat1[6]=time1。hour%10;
dat1[7]=time1。hour/10;
}
if(>23)
{
=0;
}
dat[5]=10;
dat[2]=10;
dat[0]=dat1[0];
dat[1]=dat1[1];
dat[3]=dat1[3];
dat[4]=dat1[4];
dat[6]=dat1[6];
dat[7]=dat1[7];
flag=0;
P0=0x01;
if((alarms[7]==dat1[7])&&
(alarms[6]==dat1[6])&
&(alarms[4]==dat1[4])&&
(alarms[3]==dat1[3])&&(dat1[1]〈1))
{
P0=0x00;
}
ET0=1;
}
voidtime_2(void)interrupt3
{
EA=0;
TR0=0;
TH1=0xDB;
TL1=0xFF;
TR1=1;
ms++;
dat2[0]=ms%10;
dat2[1]=ms/10;
if(ms〉=100)
{
ms=0;
c++;
dat2[3]=c%10;
dat2[4]=c/10;
if(c〉=60)
{
c=0;
minit++;
dat2[6]=minit%10;
dat2[7]=minit/10;
}
}
dat[5]=10;
dat[2]=10;
dat[0]=dat2[0];
dat[1]=dat2[1];
dat[3]=dat2[3];
dat[4]=dat2[4];
dat[6]=dat2[6];
dat[7]=dat2[7];
EA=1
第六章課程設計結果分析白暨豚
此時鐘設計是利用protues仿真軟件進行仿真,基本上實現了課程設計要求
實現的功能。
硬件部分設置了的六個按鍵。當按鍵一按下時,進入秒表顯示狀態,秒表開
始計時,當按鍵六按下時,秒表暫停;當按鍵四按下時恢復到時間顯示功能;當按
鍵二按下時,進入調分狀態,按一次,分加一,60一循環;按鍵三按下時,進入
調時狀態,按一次,時加一,60一循環;按鍵五按下時,進入鬧鈴設置功能,緊
接著按下按鍵二和按鍵三進行時和分的設置,再按下按鍵4恢復顯示時間,當顯
示的時間和定時設置的時間一致時,蜂鳴器發出蜂鳴聲,蜂鳴時間我們設置為10
秒.
另外,鬧鈴電路有音樂鬧鐘的擴展的功能(可以將蜂鳴器換成揚聲器再加一
段音樂程序即可實現).
調試階段,出現一些問題.比如,實際小時顯示到29才歸零,分鐘顯示到60才進一……
經過軟件調試成語故事大全 ,以上問題均一一排除,結果達到預期目標。但時間有限,部分擴展功能不能
及時實現,比如音樂鬧鈴.
第七章結論與展望
7。1結論
單片機多功能定時系統理論上能很好的達到了學校教學要求,發揮了單片機
在智能化方面的應用。該系統的設計很好的滿足當前學校教學的需要,是一個理
想的智能化的設計。它具有一個走時精確的實時鐘,可以任意設置時間,可以控
制時間表的轉換,時鐘的顯示功能等。可以通過按鍵操作和數字顯示。該系統規
模小,但是功能較多,操作簡單,造價低,應用非常廣泛.該系統的設計為向家
庭數字化方向發展又前進了一步。同時又擴大了單片機的應用領域。
7.2單片機的發展趨勢
自單片機出現至今,單片機技術已走過了幾十年的發展路程。縱觀幾十年來
單片機發展歷程可以看出,單片機技術的發展以微處理器(MPU)技術及超大規模
集成電路技術的發展為先導,拉動廣泛的應用領域,表現出比微處理器更具個性
的發展趨勢:
1.采用先進結構以實現高性能
在過去的一段時間內,單片機的指令運行速度一直在10MIPS以下,這對于
應用在工業控制領域內的單片機來說是足夠了,但當單片機被應用在通訊及DSP
領域作為高速運算、編碼或解碼時,就會出現因指令運行速度不夠而限制單片機
應用的情形,因此提高單片機指令運行速度已經成為迫切需要解決的問題。
2.進一步降低功耗、
基于80C51的飛利浦低功率、低系統成本微控制器51LPC系列是業界推動
單片機向低功耗方向發展的主導單片機系列之一.51LPC系列單片機采用以下三
種方法降低功耗:
(1)使系統進入空閑模式,在空閑模式下,只有外圍器件在工作,任意的復
位及中斷均可結束空閑模式;
(2)使系統進入低功耗模式,在低功耗模式下,振蕩器停止工作,是功耗降
到最小
(3)使系統財務erp 進入低電壓EPROM操作;EPROM包含了模擬電路,當Vcc高于
4V時,可通過軟件使這些模擬電路掉電以降低功耗,在上電情況下可使系統退關于彩虹的詩句 出
該模式。
3。采用FlashMemory
隨著半導體工藝技術的不斷進步,MPU的Flash版本逐漸替代了原有的OTP
版本。FlashMPU具有以下優點:與多次可編程的窗口式EPROM相比,FlashMPU
的成本要低得多;在系統編程能力以及產品生產方面提供了靈活性,因為Flash
MPU可在編程后面再次以新代碼重新編程;可減少已編程器件的報廢和庫存;有
助于生產廠商縮短設計周期,使終端用戶產品和、更具有競爭力.
4。集成更多功能及兼容性
目前單片機的另一個發展趨勢是在芯片上集成更多的功能。如模擬功能,包
括模擬比較器、A/D和D/A轉換器等。具體表現在:兼容性作為設計的第一考慮;
額外的新的特點是透明的;使用同一種編程器;OTP使器件快速提升及標準化成
為可能.
5.強抗干擾能力
不斷加強抗干擾能力是單片機進一步發展的必然趨勢.ST
Microelectronics公司推出的ST62系列單片機在這方面是佼佼者,其優良的抗
干擾能力使得許多大公司將其應用在系統中的關鍵部件上。許多單片機開發商也
正朝著這個方向努力。
6。朝系列化、全面化方向發展
各大單片機開發商在增加產品功能的同時效力于形成產品的系列化=全面
化,以滿足各種控制領域的要求,這也是單片機發展的趨勢之一。日本TOSHBA
公司開發了從4位到64位的多系列單片機,日立公司也有從4.位到32位的單片
機,目前還沒有哪個廠家生產的單片機比東芝公司的種類多。
隨著單片機性能的不斷提高,不斷的克服和彌補自身的不足。在各種控制領域,單片機
將擁有更加廣闊的使用天地.在很長的一段時間內,它將一直是工程設計人員的首選控制芯
片之一。
致謝
本課題在選題及進行過程中得到了席東河老師的悉心指導.在硬件電路設計當中席老師
幫助分析思路,開拓視角;在軟件設計中席老師幫助調試及修改程序.席老師嚴謹求實的治
學態度,踏實堅韌的工作精神將使我們終身受益。再多華麗的言語也顯得蒼白。在此,謹向
席東河老師致以誠摯的謝意和崇高的敬意!
參考文獻
[1]李葉紫.王喜斌.胡輝。孫東輝.編著MCS_51單片機應用教程清華大學出版社.2008.6.
[2]陸劍.單片機應用技術指導書河南工業職業技術學院2005.12。
[3]汪道輝。單片機系統設計與實踐。電子工業出版社
(50頁時、分、秒計時器設計,59頁鍵盤及接口技術).
[4]第二版。51系列單片機設計實例。北京航空航天大學出版社(81-89頁數碼管時鐘
電路的設計)。
[5]辛友順、胡永生、薛小玲。單片機應用系統設計與實現。福建科學技術出版社(184-186
頁LED顯示接口,190-193頁鍵盤接口).
[6]黃慶華、張永格。單片機開發與實例.電子工業出版社(127—162頁數字式電子時
鐘的設計).
[7]閆玉德、俞紅。MCS—51單片機原理與應用(C語言版)。機械工業出版社(49—104
頁單片機的C程序設計).
[8]求是科技。單片機典型模塊設計實例導航.人民郵電出版社(85-90頁單片機數字時
鐘)。
[9]劉守義,王靜霞.《單片機應用技術》。西安電子科技大學出版社,2002。
本文發布于:2023-03-18 19:30:26,感謝您對本站的認可!
本文鏈接:http://m.newhan.cn/zhishi/a/1679139027148415.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:自動化論文.doc
本文 PDF 下載地址:自動化論文.pdf
| 留言與評論(共有 0 條評論) |