單片機電子時鐘設(shè)計_第1頁
單片機電子時鐘設(shè)計_第2頁
單片機電子時鐘設(shè)計_第3頁
單片機電子時鐘設(shè)計_第4頁
單片機電子時鐘設(shè)計_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 畢業(yè)論文(設(shè)計)單片機電子時鐘的設(shè)計學(xué) 生 姓 名: 指導(dǎo)教師: 合作指導(dǎo)教師: 專業(yè)名稱: 電氣自動化技術(shù) 所在學(xué)院: 職業(yè)技術(shù)學(xué)院 2013 年 5 月 目 錄摘 要I第一章 前言11.1背景11.2來源1第二章 MCS-51單片機的結(jié)構(gòu)22.1 控制器22.2存儲器的結(jié)構(gòu)22.3并行I/O口32.4時鐘電路與時序32.5單片機的應(yīng)用領(lǐng)域3第三章 系統(tǒng)設(shè)計要求53.1基本功能53.2 擴展功能5第四章 硬件總體設(shè)計方案64.1 系統(tǒng)功能實現(xiàn)總體設(shè)計思路64.2 各部分功能實現(xiàn)74.3 系統(tǒng)工作原理74.4 時鐘各功能分析及圖解8第五章 軟件總體設(shè)計方案125.1 主程序流程圖135.2

2、總中斷程序流程175.3控制電路的C語言源程序21第六章 課程設(shè)計結(jié)果分析21第七章 結(jié)論與發(fā)展趨勢22致謝24參考文獻25 摘 要 單片機即單片微型計算機(Single-Chip Microcomputer )是集 CPU ,RAM ,ROM ,定時,計數(shù)和多種接口于一體的微控制器。他體積小,成本低,功能強,廣泛應(yīng)用于工業(yè)自動化上和智能產(chǎn)品。時鐘,自從它被發(fā)明的那天起,就成為了人類的好朋友,但隨著時間的推移,科學(xué)技術(shù)的不斷發(fā)展,時鐘的應(yīng)用越來越廣范,人們對時間計量的精度要求也越來越高。怎樣讓時鐘更好的為人民服務(wù),怎樣讓我們的老朋友再次煥發(fā)青春呢?這就要求我們不斷設(shè)計出新型的時鐘,來不斷滿足人

3、們的日常生活需要。然而市場上的時鐘便宜的比較笨重,簡單實用的又比較昂貴。那么,有沒有一款既簡單實用價格又便宜的時鐘呢? 我們設(shè)想:可不可以利用單片機功能集成化高,價格又便宜的特點設(shè)計一款結(jié)構(gòu)既簡單,價格又便宜的單片機電子時鐘呢? 基于這種情況,我多方查閱資料,反復(fù)論證設(shè)計出了這款既簡單實用,又價格便宜的單片機電子時鐘。關(guān)鍵詞:單片機 ; 時鐘 ; 計時AbstractSCM Single Chip Microcomputer (Single-Chip Microcomputer) is a set of CPU, RAM, ROM, microcontroller timing, number

4、 and variety of interface integrated. He has the advantages of small volume, low cost, powerful, widely used in industrial automation and intelligent products. Clock, since it was invented that day on, became good friends of human beings, but with the passage of time, the development of science and

5、technology, the clock is used more and more widely, people on time measurement accuracy requirements are also getting higher and higher. How to let the clock to better serve the people, how to make our old friends again bloom? This requires us to design a new type of clock, to continue to meet the n

6、eeds of daily life. However, the market relatively bulky clock cheap, simple and practical and more expensive. So, is there a simple utility price cheap clock?We imagine: can use single chip integrated function, characteristics and cheap price to design a simple structure, price cheap single-chip el

7、ectronic clock?Based on this situation, I more access to information, repeated demonstration design this is simple and practical, and cheap - chip electronic clock.Keyword: mcu ;clock; time第一章 前 言1.1背景單片機自1976年由Intel公司推出MCS-48開始,迄今已有二十多年了。由于單片機集成度高、功能強、可靠性高、體積小、功耗地、使用方便、價格低廉等一系列優(yōu)點,目前已經(jīng)滲入到人們工作和生活的方方面

8、面,幾乎“無處不在,無所不為”。單片機的應(yīng)用領(lǐng)域已從面向工業(yè)控制、通訊、交通、智能儀表等迅速發(fā)展到家用消費產(chǎn)品、辦公自動化、汽車電子、PC機外圍以及網(wǎng)絡(luò)通訊等廣大領(lǐng)域。 單片機有兩種基本結(jié)構(gòu)形式:一種是在通用微型計算機中廣泛采用的,將程序存儲器和數(shù)據(jù)存儲器合用一個存儲器空間的結(jié)構(gòu),稱為普林斯頓結(jié)構(gòu)。另一種是將程序存儲器和數(shù)據(jù)存儲器截然分開,分別尋址的結(jié)構(gòu),一般需要較大的程序存儲器,目前的單片機以采用程序存儲器和數(shù)據(jù)存儲器截然分開的結(jié)構(gòu)為多。 本文討論的單片機多功能定時器的核心是目前應(yīng)用極為廣泛的51系列單片機,配置了外圍設(shè)備,構(gòu)成了一個可編程的計時定時系統(tǒng),具有體積小,可靠性高,功能強等特點。

9、不僅能滿足所需要求而且還有很多功能可供開發(fā),有著廣泛的應(yīng)用領(lǐng)域。 20世紀(jì)80年代中期以后,Intel公司以專利轉(zhuǎn)讓的形式把8051內(nèi)核技術(shù)轉(zhuǎn)讓給許多半導(dǎo)體芯片生產(chǎn)廠家,如ATMEL、PHILIPS、ANALOG、DEVICES、DALLAS等。這些廠家生產(chǎn)的芯片是MCS-51系列的兼容產(chǎn)品,準(zhǔn)確地說是與MCS-51指令系統(tǒng)兼容的單片機。這些兼容機與8051的系統(tǒng)結(jié)構(gòu)(主要是指令系統(tǒng))相同,采用CMOS工藝,因而,常用80C51系列來稱呼所有具有8051指令系統(tǒng)的單片機,它們對8051單片機一般都作了一些擴充,更有特點。其功能和市場競爭力更強,不該把它們直接稱呼為MCS-51系列單片機,因為M

10、CS只是Intel公司專用的單片機系列型號。MCS-51系列及80C51單片機有多種品種。它們的引腳及指令系統(tǒng)相互兼容,主要在內(nèi)部結(jié)構(gòu)上有些區(qū)別。目前使用的MCS-51系列單片機及其兼容產(chǎn)品通常分成以下幾類:基本型、增強型、低功耗型、專用型、超8位型、片內(nèi)閃爍存儲器型。1.2來源 在日常生活和工作中,我們常常用到定時控制,如擴印過程中的曝光定時等。早期常用的一些時間控制單元都使用模擬電路設(shè)計制作的,其定時準(zhǔn)確性和重復(fù)精度都不是很理想,現(xiàn)在基本上都是基于數(shù)字技術(shù)的新一代產(chǎn)品,隨著單片機性能價格比的不斷提高,新一代產(chǎn)品的應(yīng)用也越來越廣泛,大可構(gòu)成復(fù)雜的工業(yè)過程控制系統(tǒng),完成復(fù)雜的控制功能。小則可以

11、用于家電控制,甚至可以用于兒童電子玩具。它功能強大,體積小,質(zhì)量輕,靈活好用,配以適當(dāng)?shù)慕涌谛酒?,可以?gòu)造各種各樣、功能各異的微電子產(chǎn)品。隨著電子技術(shù)的飛速發(fā)展,家用電器和辦公電子設(shè)備逐漸增多,不同的設(shè)備都有自己的控制器,使用起來很不方便。根據(jù)這種實際情況,設(shè)計了一個單片機多功能定時系統(tǒng),它可以避免多種控制器的混淆,利用一個控制器對多路電器進行控制,同時又可以進行時鐘校準(zhǔn)和定點打鈴。它可以執(zhí)行不同的時間表(考試時間和日常作息時間)的打鈴,可以任意設(shè)置時間。這種具有人們所需要的智能化特性的產(chǎn)品減輕了人的勞動,擴大了數(shù)字化的范圍,為家庭數(shù)字化提供了可能。第二章 MCS-51單片機的結(jié)構(gòu)MCS-51

12、單片機是把那些作為控制應(yīng)用所必需的基本內(nèi)容都集成在一個尺寸有限的集成電路芯片上。如果按功能劃分,它由如下功能部件組成,即微處理器(CPU)、數(shù)據(jù)存儲器(RAM)、程序存儲器(ROM/EPROM)、并行I/O口、串行口、定時器/計數(shù)器、中斷系統(tǒng)及特殊功能寄存器(SFR)。它們都是通過片內(nèi)單一總線連接而成,其基本結(jié)構(gòu)依舊是CPU加上外圍芯片的傳統(tǒng)結(jié)構(gòu)模式。但對各種功能部件的控制是采用特殊功能寄存器(SFR)的集中控制方式。2.1 控制器控制器是單片機的指揮控制部件,控制器的主要任務(wù)是識別指令,并根據(jù)指令的性質(zhì)控制單片機各功能部件,從而保證單片機各部分能自動而協(xié)調(diào)地工作。單片機執(zhí)行指令是在控制器的控

13、制下進行的。首先從程序存儲器中讀出指令,送指令寄存器保存,然后送至指令譯碼器進行譯碼,譯碼結(jié)果送定時控制邏輯電路,由定時控制邏輯產(chǎn)生各種定時信號和控制信號,再送到單片機的各個部件去進行相應(yīng)的操作。這就是執(zhí)行一條指令的全過程,執(zhí)行程序就是不斷重復(fù)這一過程??刂破髦饕ǔ绦蛴嫈?shù)器、程序地址寄存器、指令寄存器IR、指令譯碼器、條件轉(zhuǎn)移邏輯電路及時序控制邏輯電路。2.2 存儲器的結(jié)構(gòu)MCS-51單片機存儲器采用的是哈佛結(jié)構(gòu),即程序存儲器空間和數(shù)據(jù)存儲器空間截然分開,程序存儲器和數(shù)據(jù)存儲器各有自己的尋址方式,尋址空間和控制系統(tǒng)。這種結(jié)構(gòu)對于單片機面向控制的實際應(yīng)用極為方便,有利.在8051/8751彈

14、片擊中,不僅在片內(nèi)集成了一定容量的程序存儲器和數(shù)據(jù)存儲器及眾多的特殊功能寄存器,而且還具有極強的外存儲器的擴展能力,尋址能力分別可達64KB,尋址和操作簡單方便.MCS-51的存儲器空間可劃分為如下幾類:1.程序存儲器單片機系統(tǒng)之所以能夠按照一定的次序進行工作,主要是程序存儲器中存放了經(jīng)調(diào)試正確的應(yīng)用程序和表格之類的固定常數(shù)。程序?qū)嶋H上是一串二進制碼,程序存儲器可以分為片內(nèi)和片外兩部分。8031由于無內(nèi)部存儲器,所以只能外擴程序存儲器來存放程序。MCS-51單片機復(fù)位后,程序存儲器PC的內(nèi)容為0000H,故系統(tǒng)必須從0000H單元開始取指令,執(zhí)行程序.程序存儲器中的0000H地址是系統(tǒng)程序的啟

15、動地址.一般在該單元存放一條絕對跳轉(zhuǎn)指令,跳向用戶設(shè)計的主程序的起始地址。2.內(nèi)部數(shù)據(jù)存儲器MCS-51單片機內(nèi)部有128個字節(jié)的隨機存取存儲器RAM,作為用戶的數(shù)據(jù)寄存器,它能滿足大多數(shù)控制型應(yīng)用場合的需要,用作處理問題的數(shù)據(jù)緩沖器。MCS-51單片機的片內(nèi)存儲器的字節(jié)地址為00H-7FH.MCS-51單片機對其內(nèi)部RAM的存儲器有很豐富的操作指令,從而使得用戶在設(shè)計程序時非常方便。地址為00H-1FH的32個單元是4組通用工作寄存器區(qū),每個區(qū)含8個8位寄存器,編號為R7-R0。用戶可以通過指令改變PSW中的RS1,RS0這二位來切換當(dāng)前的工作寄存器區(qū),這種功能給軟件設(shè)計帶來極大的方便,特別

16、是在中斷嵌套時,為實現(xiàn)工作寄存器現(xiàn)場內(nèi)容保護提供了極大的方便。3.特殊功能寄存器(SFR-Special Function Register)特殊功能寄存器反映了MCS-51單片機的狀態(tài),實際上是MCS-51單片機各功能部件的狀態(tài)及控制寄存器.SFR綜合的,實際的反應(yīng)了整個單片機基本系統(tǒng)內(nèi)部的工作狀態(tài)及工作方式.SFR實質(zhì)上是一些具有特殊功能的片內(nèi)RAM單元,字節(jié)地址范圍為80H-FFH.特殊功能寄存器的總數(shù)為21個,離散的分布在該區(qū)域中,其中有些SFR還可以進行位尋址.128個字節(jié)的SFR塊中僅有21個字節(jié)是由定義的.對于尚未定義的字節(jié)地址單元,用戶不能作寄存器使用,若訪問沒有定義的單元,則

17、將得到一個不確定的隨機數(shù).2.3 并行I/O口MCS-51單片機共有4個雙向的8位并行I/O端口(Port),分別記作P0-P3,共有32根口線,各口的每一位均由鎖存器、輸出驅(qū)動器和輸入緩沖器所組成。實際上P0-P3已被歸入特殊功能寄存器之列。這四個口除了按字節(jié)尋址以外,還可以按位尋址。由于它們在結(jié)構(gòu)上有一些差異,故各口的性質(zhì)和功能有一些差異。P0口是雙向8位三態(tài)I/O口,此口為地址總線(低8位)及數(shù)據(jù)總線分時復(fù)用口,可驅(qū)動8個LS型TTL負載。P1口是8位準(zhǔn)雙向I/O口,可驅(qū)動4個LS 型負載。P2口是8位準(zhǔn)雙向I/O口,與地址總線(高8位)復(fù)用,可驅(qū)動4個LS型TTL負載。P3口是8位準(zhǔn)雙

18、向I/O口,是雙功能復(fù)用口,可驅(qū)動4個LS型TTL負載。P1口、P2口、P3口各I/O口線片內(nèi)均有固定的上拉電阻,當(dāng)這3個準(zhǔn)雙向I/O口做輸入口使用時,要向該口先寫“1”,另外準(zhǔn)雙向I/O口無高阻的“浮空”狀態(tài),故稱為雙向三態(tài)I/O 口。2.4 時鐘電路與時序時鐘電路用于產(chǎn)生MCS-51單片機工作時所必需的時鐘信號。MCS-51單片機本身就是一個復(fù)雜的同步時序電路,為保證同步工作方式的實現(xiàn),MCS-51單片機應(yīng)在唯一的時鐘信號控制下,嚴(yán)格地按時序執(zhí)行進行工作,而時序所研究的是指令執(zhí)行中各個信號的關(guān)系。在執(zhí)行指令時,CPU首先要到程序存儲器中取出需要執(zhí)行的指令操作碼,然后譯碼,并由時序電路產(chǎn)生一

19、系列控制信號去完成指令所規(guī)定的操作。CPU發(fā)出的時序信號有兩類,一類用于片內(nèi)對各個功能部件的控制,這列信號很多。另一類用于片外存儲器或I/O端口的控制,這部分時序?qū)τ诜治觥⒃O(shè)計硬件接口電路至關(guān)重要。這也是單片機應(yīng)用系統(tǒng)設(shè)計者普遍關(guān)心的問題。2.5 單片機的應(yīng)用領(lǐng)域單片機應(yīng)用領(lǐng)域可以歸納為以下幾個方面。1智能儀表用單片機系統(tǒng)取代老式的測量、控制儀表,實現(xiàn)從模擬儀表向數(shù)字化、智能化儀表的轉(zhuǎn)化,如各種溫度儀表、壓力儀表、流量儀表、電能計量儀表等。 2. 測控系統(tǒng) 用單片機取代原有的復(fù)雜的模擬數(shù)字電路,完成各種工業(yè)控制、數(shù)據(jù)采集系統(tǒng)等工作。 3電能變換 應(yīng)用單片機設(shè)計變頻調(diào)速控制電路。 4通信 用單片

20、機開發(fā)通信模塊、通信器材等。 5機電產(chǎn)品 應(yīng)用單片機檢測、控制傳統(tǒng)的機械產(chǎn)品,使傳統(tǒng)的機械產(chǎn)品結(jié)構(gòu)簡化,控制智能化,提高了機電產(chǎn)品的可靠性,增強了產(chǎn)品的功能。 6智能接口在數(shù)據(jù)傳輸中,用單片機實現(xiàn)外部設(shè)備與微機通信。第三章 系統(tǒng)設(shè)計要求3.1基本功能(1)能夠顯示時分秒(2)能夠調(diào)整時分秒3.2 擴展功能(1)能夠任意設(shè)置定時時間(2)定時時間到鬧鈴能夠報警(3)實現(xiàn)了秒表功能第四章 硬件總體設(shè)計方案4.1系統(tǒng)功能實現(xiàn)總體設(shè)計思路 如圖4-1所示為AT89S51芯片的引腳圖 圖4-1 AT89S51芯片外部引腳圖 此設(shè)計原理框圖如圖4-2所示,此電路包括以下四個部分:單片機,鍵盤,鬧鈴電路及顯

21、示電路。鬧鈴電路AT89C51獨立鍵盤數(shù)碼管顯示 圖4-2 設(shè)計原理框圖 經(jīng)多方論證硬件我們小組采用AT89C51單片機和7SED八位共陽極數(shù)碼管等來實現(xiàn)單片機電子時鐘的功能。 詳細元器件列表如表4.1所示:表4.1 詳細元器件列表AT89c511片7SED八位共陽極數(shù)碼管1片NPN三極管1個104p電容6個30p電容2個10K電阻6個560歐姆電阻8個200歐姆電阻1個100歐姆電阻6個4.2各部分功能實現(xiàn)(1) 單片機發(fā)送的信號通過程序控制最終在數(shù)碼管上顯示出來。(2) 單片機通過輸出各種電脈沖信號來驅(qū)動控制各部分正常工作。(3) 為使時鐘走時與標(biāo)準(zhǔn)時間一致,校時電路是必不可少的,鍵盤用來

22、校正數(shù)碼管上顯示的時間。單片機通過控制鬧鈴電路來完成 定時鬧鐘的功能4.3系統(tǒng)工作原理設(shè)計的電路主要由四模塊構(gòu)成:單片機控制電路,顯示電路、鬧鈴電路以及校正電路。詳細電路功能圖如圖4-3: 如圖4-3 詳細電路功能圖本設(shè)計采用C語言程序設(shè)計,使單片機控制數(shù)碼管顯示時、分、秒,當(dāng)秒計數(shù)計滿60時就向分進位,分計數(shù)器計滿60后向時計數(shù)器進位,小時計數(shù)器按“23翻0”規(guī)律計數(shù)。時、分、秒的計數(shù)結(jié)果經(jīng)過數(shù)據(jù)處理可直接送顯示器顯示。當(dāng)計時發(fā)生誤差的時候可以用校時電路進行校正。設(shè)計采用的是時、分、秒顯示,單片機對數(shù)據(jù)進行處理同時在數(shù)碼管上顯示。4.4時鐘各功能分析及圖解(1) 時鐘運行圖仿真開始運行時,或

23、按下key4鍵時,時鐘從12:00:00開始運行,其中key2鍵對分進行調(diào)整,key3對小時進行調(diào)整,key6可以讓時鐘暫停。時鐘運行圖如圖 4-4 所示:(2)秒表計時圖當(dāng)按下key1鍵進入秒表計時狀態(tài),key6是秒表暫停鍵,可按key4鍵跳出秒表計時狀態(tài)。秒表計時圖如圖 4-5所示: 圖4-4 時鐘運行圖圖4-5 秒表計時圖(3)鬧鈴設(shè)置圖及運行圖當(dāng)按下key5,開始定時,分別按key2調(diào)分,key3調(diào)時設(shè)置鬧鈴時間,然后按下key4鍵恢復(fù)時鐘運行狀態(tài)(圖4-6)當(dāng)鬧鈴設(shè)置時間到時,蜂鳴器將發(fā)出10秒中蜂鳴聲(圖4-7)。圖4-6 鬧鈴時間設(shè)置圖該數(shù)字鐘是用一片AT89C51單片機通過編程

24、去驅(qū)動8個數(shù)碼管實現(xiàn)的。通過6個開關(guān)控制,從上到下6個開關(guān)KEY1-KEY6的功能分別為:KEY1,切換至秒表;KEY2,調(diào)節(jié)時間,每調(diào)一次時加1;KEY3, 調(diào)節(jié)時間,每調(diào)一次分加1;KEY4,從其它狀態(tài)切換至?xí)r鐘狀態(tài);KEY5,切換至鬧鐘設(shè)置狀態(tài),也可以對秒表清零;KEY6,秒表暫停.控制鍵分別與P1.0P1.5口連接其中:A通過P2口和P3口去控制數(shù)碼管的顯示如圖所示P2口接數(shù)碼管的ag端,是控制輸出編碼,P3口接數(shù)碼管的18端,是控制動態(tài)掃描輸出B從P0.0輸出一個信號使二極管發(fā)光,二極管在設(shè)置的鬧鐘時間到了時候發(fā)光,若有樂曲可以去驅(qū)動揚聲器實現(xiàn)。 圖4-7 鬧鈴運行圖 第五章 軟件總

25、體設(shè)計方案5.1 主程序流程圖軟件程序從開始執(zhí)行,先通過初始化各個寄存器,經(jīng)過掃描按鍵來決定是否設(shè)定參數(shù)來執(zhí)行相應(yīng)功能的程序,進而在數(shù)碼管上顯示。如圖5-1: 開始定時器及中斷定時器初始化執(zhí)行時鐘秒表鬧鈴設(shè)定程序是否設(shè)定參數(shù)執(zhí)行顯示程序NY 圖5-1 主程序流程圖 5.2總中斷程序流程分數(shù)值time.minute加1time.second歸零Tcount加1返回主程序?qū)崝?shù)值time1.boun加1time1.mintet歸零Time1.bour23時數(shù)值time1.hour歸零Tount1=100?秒數(shù)值time1.second加1second歸零執(zhí)行鬧鐘程序p0.0=1判斷時間與鬧鐘時間是否

26、一致鬧鐘程序是否行完全Time1.second=60?Time.minute=60?恢復(fù)初值保護 圖5-2 中斷流程圖時間的顯示通過此中斷程序來控制,并且通過與設(shè)定的時間進行比較來判斷是否讓鬧鈴工作。程序中包含時間的設(shè)定,如設(shè)定tcount來使秒等工作,進而來控制分和時。如上圖圖5-2。A. 秒表中斷程序流程秒表功能通過另一個程序來實現(xiàn)。通過保護主程序的數(shù)據(jù)來進行秒表功能。程序中需要設(shè)置秒表的具體顯示方法。如圖5-3:恢復(fù)初值保護10ms計數(shù)器加1恢復(fù)初值保護秒計數(shù)器加1,10ms計數(shù)器歸零,即sec+,ms=0Sec60?Ms100?輸出字碼,中斷結(jié)束,返回上級主程序分計數(shù)器加1,秒計數(shù)器歸

27、零,即minit+,sec=0 N N 圖5-3 秒表中斷程序流程圖B.按鍵程序流程程序初始化時十位歸零alarms【7】=0分時位歸零alarms4=0分十位歸零輸出時鐘時十位加一輸出鬧鐘時個位加一,延時輸出時鐘十位加一輸出時鐘十個位加一輸出時鐘分個位加一,延時輸出鬧鐘時分位加一輸出鬧鐘時十位加一輸出鬧鐘分個位加一,延時時十位歸零判斷標(biāo)志位是否為零Alarms42Alarms72Alarms【3】0Dat169Dat17Alarms69Dat139Dat142判斷標(biāo)志是否為零判斷時i加鍵是否按下判斷分加鍵是否按下 圖5-4為時鐘和鬧鐘的調(diào)節(jié),程序中通過掃描來判斷按鍵是否按下進行時間和鬧鐘的調(diào)

28、節(jié)。圖5-4 按鍵程序流程圖 圖5-5為進入中斷和清零圖,程序中通過掃描來判斷按鍵是否按下進行執(zhí)行相應(yīng)的中斷來事實現(xiàn)相應(yīng)的功能。判斷分加鍵tminute是否按下,P1.1=0判斷秒表miaobiao1是否按下按下,P1.0=0,tgsdhPP1.0=0判斷清零鍵miaobiao2是否按下,P1.3=0進入秒表中斷,執(zhí)行秒表中斷程序返回上級主程序清零所有的計數(shù)器,各個顯示的字碼。圖5-5 中斷和清零圖5.3控制電路的C語言源程序根據(jù)流程圖,經(jīng)過認真分析得出控制電路的源程序如下:#include#define uchar unsigned char#define uint unsigned int

29、#define delay_time 3/*宏定義*/uchar k,dat=0,0,0,0,0,0,0,0;uint tcount,t,u;uchar dat1=0,0,0,0,0,0,2,1;uchar dat2=0,0,0,0,0,0,0,0;uchar alarms=0,0,0,0,0,0,0,0;uchar dis_bit=0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01;unsigned char code SEG711=0xC0,/*0*/ 0xF9,/*1*/ 0xA4,/*2*/ 0xB0,/*3*/ 0x99,/*4*/ 0x92,/*5*/

30、0x82,/*6*/ 0xF8,/*7*/ 0x80,/*8*/ 0x90,/*9*/ 0xBF,/*-*/ ;/*數(shù)字顯示數(shù)組*/sbit miaobiao1=P10;sbit tminute=P11;sbit thour=P12;sbit miaobiao2=P13;sbit alarm=P14;sbit P0_0=P00;sbit P1_5=P15;sbit P1_6=P16;sbit P1_7=P17;/*端口定義*/uchar ms=0;uchar flag=0;uchar sec=0;uchar minit=0;struct timeuchar second;uchar minut

31、e;uchar hour;time1; uchar n,i;void delay(n) while(n-)for(i=120;i0;i-); /*延時子程序*/ void modify(void) EA=0; if(thour=0) if(flag=0) dat16+;delay(280); if(dat169) dat16=0;dat17+;else if(dat171)&(dat163) dat17=0; dat16=0; if(flag=1) alarms6+;delay(300); if(alarms69) alarms6=0;alarms7+; if(alarms72) alarms

32、7=0; dat6=alarms6; dat7=alarms7; if(tminute=0) if(flag=0) dat13+;delay(280); if(dat3=9) dat14+;dat13=0;if(dat145) dat14=0; if(flag=1) alarms3+;delay(300); if(alarms39) alarms4+;alarms3=0; if(alarms45) alarms4=0; dat3=alarms3;dat4=alarms4; if(miaobiao1=0)TR0=0;ET0=0;TR1=1;ET1=1; if(miaobiao2=0) TR0=1

33、;ET0=1;TR1=0;ET1=0; dat20=0; dat21=0; dat23=0; dat24=0; dat26=0; dat27=0; ms=0; sec=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; dat0=0; dat1=0;dat2=10; dat3=0;dat4=0;dat5=10;dat6=0;dat7=0; EA=1;/*按鍵掃描*/void init(void)TMOD = 0x11; TH0 = 0xDB;TL0 =0xFF;TH

34、1=0xDB;TL1=0xFF; ET0 = 1; /10msET1=1;/TR1=1; TR0=1; tcount=0;ms=0;sec=0;minit=0;EA = 1;/*初始化*/void test(void)for(k=0;k23) time1.hour=0; dat5=10; dat2=10; dat0=dat10; dat1=dat11; dat3=dat13; dat4=dat14; dat6=dat16; dat7=dat17; flag=0; P0=0x01;if(alarms7=dat17)&(alarms6=dat16)&(alarms4=dat14)&(alarms3

35、=dat13)&(dat11=100) ms=0; sec+; dat23=sec%10; dat24=sec/10; if(sec=60) sec=0; minit+; dat26=minit%10; dat27=minit/10; dat5=10; dat2=10; dat0=dat20; dat1=dat21; dat3=dat23; dat4=dat24; dat6=dat26; dat7=dat27; EA=1第六章 課程設(shè)計結(jié)果分析此時鐘設(shè)計是利用protues仿真軟件進行仿真,基本上實現(xiàn)了課程設(shè)計要求實現(xiàn)的功能。硬件部分設(shè)置了的六個按鍵。當(dāng)按鍵一按下時,進入秒表顯示狀態(tài),秒表開始

36、計時,當(dāng)按鍵六按下時,秒表暫停;當(dāng)按鍵四按下時恢復(fù)到時間顯示功能;當(dāng)按鍵二按下時,進入調(diào)分狀態(tài),按一次,分加一,60一循環(huán);按鍵三按下時,進入調(diào)時狀態(tài),按一次,時加一,60一循環(huán);按鍵五按下時,進入鬧鈴設(shè)置功能,緊接著按下按鍵二和按鍵三進行時和分的設(shè)置,再按下按鍵4恢復(fù)顯示時間,當(dāng)顯示的時間和定時設(shè)置的時間一致時,蜂鳴器發(fā)出蜂鳴聲,蜂鳴時間我們設(shè)置為10秒。另外,鬧鈴電路有音樂鬧鐘的擴展的功能(可以將蜂鳴器換成揚聲器再加一段音樂程序即可實現(xiàn))。調(diào)試階段,出現(xiàn)一些問題。比如,實際小時顯示到29才歸零,分鐘顯示到60才進一經(jīng)過軟件調(diào)試,以上問題均一一排除,結(jié)果達到預(yù)期目標(biāo)。但時間有限,部分擴展功能

37、不能及時實現(xiàn),比如音樂鬧鈴。 第七章 結(jié)論與發(fā)展趨勢7.1 結(jié)論單片機多功能定時系統(tǒng)理論上能很好的達到了學(xué)校教學(xué)要求,發(fā)揮了單片機在智能化方面的應(yīng)用。該系統(tǒng)的設(shè)計很好的滿足當(dāng)前學(xué)校教學(xué)的需要,是一個理想的智能化的設(shè)計。它具有一個走時精確的實時鐘,可以任意設(shè)置時間,可以控制時間表的轉(zhuǎn)換,時鐘的顯示功能等??梢酝ㄟ^按鍵操作和數(shù)字顯示。該系統(tǒng)規(guī)模小,但是功能較多,操作簡單,造價低,應(yīng)用非常廣泛。該系統(tǒng)的設(shè)計為向家庭數(shù)字化方向發(fā)展又前進了一步。同時又擴大了單片機的應(yīng)用領(lǐng)域。7.2 單片機的發(fā)展趨勢 自單片機出現(xiàn)至今,單片機技術(shù)已走過了幾十年的發(fā)展路程。縱觀幾十年來單片機發(fā)展歷程可以看出,單片機技術(shù)的發(fā)

38、展以微處理器(MPU)技術(shù)及超大規(guī)模集成電路技術(shù)的發(fā)展為先導(dǎo),拉動廣泛的應(yīng)用領(lǐng)域,表現(xiàn)出比微處理器更具個性的發(fā)展趨勢:1.采用先進結(jié)構(gòu)以實現(xiàn)高性能在過去的一段時間內(nèi),單片機的指令運行速度一直在10MIPS以下,這對于應(yīng)用在工業(yè)控制領(lǐng)域內(nèi)的單片機來說是足夠了,但當(dāng)單片機被應(yīng)用在通訊及DSP領(lǐng)域作為高速運算、編碼或解碼時,就會出現(xiàn)因指令運行速度不夠而限制單片機應(yīng)用的情形,因此提高單片機指令運行速度已經(jīng)成為迫切需要解決的問題。2.進一步降低功耗、基于80C51的飛利浦低功率、低系統(tǒng)成本微控制器51LPC系列是業(yè)界推動單片機向低功耗方向發(fā)展的主導(dǎo)單片機系列之一。51LPC系列單片機采用以下三種方法降低功耗:(1)使系統(tǒng)進入空閑模式,在空閑模式下,只有外圍器件在工作,任意的復(fù)位及中斷均可結(jié)束空閑模式;(2)使系統(tǒng)進入低功耗模式,在低功耗模式下,振蕩器停止工作,是功耗降到最?。?)使系統(tǒng)進入低電壓EPROM操作;EPROM包含了模擬電路,當(dāng)Vcc高于4V時,可通過軟件使這

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論