基于單片機的電子時鐘設計畢業(yè)論文_第1頁
已閱讀1頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  日照職業(yè)技術學院</b></p><p><b>  畢業(yè)設計(論文)</b></p><p>  題 目: 基于單片機的電子時鐘設計</p><p>  院 部: 機電工程學院 </p><p>  專 業(yè): 機電一體化專業(yè) </p>

2、;<p>  學 號: 201316010122 </p><p>  學生姓名: 齊峰茫 </p><p>  指導教師: 孫在松 </p><p>  職 稱: 大學??飘厴I(yè) </p><p>  二O一 六 年 五月 二十日</p><p>

3、;<b>  摘 要</b></p><p>  單片機 即單片微型計算機。(Single-Chip Microcomputer ),是 集 CPU ,RAM ,ROM ,定時,計數和多種接口于一體的微控制器。他體積小,成本低,功能強,廣泛應用于工業(yè)自動化上和智能產品。時鐘,自從它被發(fā)明的那天起,就成為了人類的好朋友,但隨著時間的推移,科學技術的不斷發(fā)展,時鐘的應用越來越廣范,人們對時間計

4、量的精度要求也越來越高。怎樣讓時鐘更好的為人民服務,怎樣讓我們的老朋友再次煥發(fā)青春呢?這就要求我們不斷設計出新型的時鐘,來不斷滿足人們的日常生活需要。然而市場上的時鐘便宜的比較笨重,簡單實用的又比較昂貴。那么,有沒有一款既簡單實用價格又便宜的時鐘呢?</p><p>  我們課程設計小組設想:可不可以利用單片機功能集成化高,價格又便宜的特點設計一款結構既簡單,價格又便宜的單片機電子時鐘呢? </p>

5、<p>  基于這種情況,我們課程設計小組成員多方查閱資料,反復論證設計出了這款既簡單實用,又價格便宜的——單片機電子時鐘。</p><p>  關鍵詞:單片機 ; 時鐘 ; 計時</p><p><b>  前 言</b></p><p>  機電一體化是高等院校開設的一門工科專業(yè)。培養(yǎng)德、智、體全面發(fā)展,具有良好的科學素養(yǎng)和創(chuàng)新

6、精神,培養(yǎng)能夠從事與電氣工程有關的系統(tǒng)運行、自動控制、電力電子技術、信息處理、試驗分析、研制開發(fā)以及電子與計算機應用等領域工作的寬口徑復合型高級工程技術人才。</p><p>  本專業(yè)主要學習電子技術、電工技術、信息控制、電氣測量、計算機技術等方面較寬廣的工程技術基礎和專業(yè)知識。本專業(yè)主要特點是強電弱電結合、電工技術與電子技術相結合、軟件與硬件結合、元件與系統(tǒng)結合,學生受到電工電子、信息控制及計算機技術方面的基

7、本訓練,具有解決電氣工程與自動化領域技術問題的基本能力。</p><p>  該專業(yè)是強電和弱電、計算機技術與電氣控制技術交叉滲透的綜合型專業(yè)學科。電氣工程及其自動化專業(yè)培養(yǎng)出的畢業(yè)生,以理論基礎扎實、專業(yè)知識面寬廣、實踐動手能力強、適應性強在國內有較好的聲譽主干課程電路原理、電子技術基礎、計算機技術(語言、軟件基礎、硬件基礎、單片機)、信號與系統(tǒng)、電磁場理論與應用、自動控制原理、電機學、電力電子技術、電氣測量、

8、電力拖動與控制等。</p><p>  就業(yè)方向適合到國民經濟各部門從事與電氣工程有關的系統(tǒng)運行、自動控制、電力電子技術、信息處理、試驗分析、研制開發(fā)等方面的工作,也能在科研院所、高等學校從事電氣信息與自動化技術相關的研究開發(fā)、技術引進與改造及教學工作。</p><p><b>  目 錄</b></p><p>  目錄 …………………………

9、……………………………………3</p><p>  緒論 …………………………………………………………………4</p><p>  一   MCS-51單片機的結構</p><p>  1.1  控制器 …………………………………………………………3</p><p>  1.2 存儲器的結構…………………………

10、…………………………4</p><p>  1.2.1程序存儲器……………………………………………………4</p><p>  1.2.2內部數據存器…………………………………………………4</p><p>  1.2.3特殊功能寄存器………………………………………………5</p><p>  1.3 并行I/O口……………………………………

11、…………………5</p><p>  1.4時鐘電路與時序…………………………………………………5</p><p>  1.5 單片機的應用領域………………………………………………5</p><p><b>  二 系統(tǒng)設計要求</b></p><p>  2.1基本功能…………………………………………………………6&l

12、t;/p><p>  2.2擴展功能…………………………………………………………6</p><p>  三 硬件總體設計方案</p><p>  3.1 系統(tǒng)功能實現(xiàn)總體設計思路……………………………………6 3.2各部分功能實現(xiàn)………………………………………………8</p><p>  3.3 系統(tǒng)工作原理…………………………………………………

13、…8</p><p>  3.4 時鐘各功能分析及圖解…………………………………………8</p><p>  3.5 電路功能使用說明………………………………………………12</p><p>  3.6 控制電路的C語言源程序………………………………………13</p><p>  四 課程設計結果分析</p><p>

14、<b>  五 結論與展望</b></p><p>  5.1 結論……………………………………………………………17</p><p>  5.2 單片機的發(fā)展趨勢……………………………………………17</p><p>  總結………………………………………………………………20</p><p>  參考文獻 …………

15、…………………………………………21</p><p><b>  緒 論</b></p><p><b>  1.1課題背景</b></p><p>  單片機自1976年由Intel公司推出MCS-48開始,迄今已有二十多年了。由于單片機集成度高、功能強、可靠性高、體積小、功耗地、使用方便、價格低廉等一系列優(yōu)點,目前已經

16、滲入到人們工作和生活的方方面面,幾乎“無處不在,無所不為”。單片機的應用領域已從面向工業(yè)控制、通訊、交通、智能儀表等迅速發(fā)展到家用消費產品、辦公自動化、汽車電子、PC機外圍以及網絡通訊等廣大領域。</p><p>  單片機有兩種基本結構形式:一種是在通用微型計算機中廣泛采用的,將程序存儲器和數據存儲器合用一個存儲器空間的結構,稱為普林斯頓結構。另一種是將程序存儲器和數據存儲器截然分開,分別尋址的結構,一般需要較

17、大的程序存儲器,目前的單片機以采用程序存儲器和數據存儲器截然分開的結構為多。</p><p>  20世紀80年代中期以后,Intel公司以專利轉讓的形式把8051內核技術轉讓給許多半導體芯片生產廠家,如ATMEL、PHILIPS、ANALOG、DEVICES、DALLAS等。這些廠家生產的芯片是MCS-51系列的兼容產品,準確地說是與MCS-51指令系統(tǒng)兼容的單片機。這些兼容機與8051的系統(tǒng)結構(主要是指令系

18、統(tǒng))相同,采用CMOS工藝,因而,常用80C51系列來稱呼所有具有8051指令系統(tǒng)的單片機,它們對8051單片機一般都作了一些擴充,更有特點。其功能和市場競爭力更強,不該把它們直接稱呼為MCS-51系列單片機,因為MCS只是Intel公司專用的單片機系列型號。MCS-51系列及80C51單片機有多種品種。它們的引腳及指令系統(tǒng)相互兼容,主要在內部結構上有些區(qū)別。目前使用的MCS-51系列單片機及其兼容產品通常分成以下幾類:基本型、增強型、

19、低功耗型、專用型、超8位型、片內閃爍存儲器型。</p><p><b>  1.2課題來源</b></p><p>  在日常生活和工作中,我們常常用到定時控制,如擴印過程中的曝光定時等。早期常用的一些時間控制單元都使用模擬電路設計制作的,其定時準確性和重復精度都不是很理想,現(xiàn)在基本上都是基于數字技術的新一代產品,隨著單片機性能價格比的不斷提高,新一代產品的應用也越來

20、越廣泛,大可構成復雜的工業(yè)過程控制系統(tǒng),完成復雜的控制功能。小則可以用于家電控制,甚至可以用于兒童電子玩具。它功能強大,體積小,質量輕,靈活好用,配以適當的接口芯片,可以構造各種各樣、功能各異的微電子產品。</p><p>  隨著電子技術的飛速發(fā)展,家用電器和辦公電子設備逐漸增多,不同的設備都有自己的控制器,使用起來很不方便。根據這種實際情況,設計了一個單片機多功能定時系統(tǒng),它可以避免多種控制器的混淆,利用一個

21、控制器對多路電器進行控制,同時又可以進行時鐘校準和定點打鈴。它可以執(zhí)行不同的時間表(考試時間和日常作息時間)的打鈴,可以任意設置時間。這種具有人們所需要的智能化特性的產品減輕了人的勞動,擴大了數字化的范圍,為家庭數字化提供了可能。</p><p>  一 MCS-51單片機的結構</p><p>  MCS-51單片機是把那些作為控制應用所必需的基本內容都集成在一個尺寸有限的集成電路芯片

22、上。如果按功能劃分,它由如下功能部件組成,即微處理器(CPU)、數據存儲器(RAM)、程序存儲器(ROM/EPROM)、并行I/O口、串行口、定時器/計數器、中斷系統(tǒng)及特殊功能寄存器(SFR)。它們都是通過片內單一總線連接而成,其基本結構依舊是CPU加上外圍芯片的傳統(tǒng)結構模式。但對各種功能部件的控制是采用特殊功能寄存器(SFR)的集中控制方式。</p><p><b>  1.1控制器</b>

23、;</p><p>  控制器是單片機的指揮控制部件,控制器的主要任務是識別指令,并根據指令的性質控制單片機各功能部件,從而保證單片機各部分能自動而協(xié)調地工作。</p><p>  單片機執(zhí)行指令是在控制器的控制下進行的。首先從程序存儲器中讀出指令,送指令寄存器保存,然后送至指令譯碼器進行譯碼,譯碼結果送定時控制邏輯電路,由定時控制邏輯產生各種定時信號和控制信號,再送到單片機的各個部件去進

24、行相應的操作。這就是執(zhí)行一條指令的全過程,執(zhí)行程序就是不斷重復這一過程??刂破髦饕ǔ绦蛴嫈灯?、程序地址寄存器、指令寄存器IR、指令譯碼器、條件轉移邏輯電路及時序控制邏輯電路。</p><p><b>  1.2存儲器的結構</b></p><p>  MCS-51單片機存儲器采用的是哈佛結構,即程序存儲器空間和數據存儲器空間截然分開,程序存儲器和數據存儲器各有自己

25、的尋址方式,尋址空間和控制系統(tǒng)。</p><p>  這種結構對于單片機面向控制的實際應用極為方便,有利.在8051/8751彈片擊中,不僅在片內集成了一定容量的程序存儲器和數據存儲器及眾多的特殊功能寄存器,而且還具有極強的外存儲器的擴展能力,尋址能力分別可達64KB,尋址和操作簡單方便.MCS-51的存儲器空間可劃分為如下幾類:</p><p>  1.2.1程序存儲器</p>

26、;<p>  單片機系統(tǒng)之所以能夠按照一定的次序進行工作,主要是程序存儲器中存放了經調試正確的應用程序和表格之類的固定常數。程序實際上是一串二進制碼,程序存儲器可以分為片內和片外兩部分。8031由于無內部存儲器,所以只能外擴程序存儲器來存放程序。</p><p>  MCS-51單片機復位后,程序存儲器PC的內容為0000H,故系統(tǒng)必須從0000H單元開始取指令,執(zhí)行程序.程序存儲器中的0000H地

27、址是系統(tǒng)程序的啟動地址.一般在該單元存放一條絕對跳轉指令,跳向用戶設計的主程序的起始地址。</p><p>  1.2.2內部數據存儲器</p><p>  MCS-51單片機內部有128個字節(jié)的隨機存取存儲器RAM,作為用戶的數據寄存器,它能滿足大多數控制型應用場合的需要,用作處理問題的數據緩沖器。</p><p>  MCS-51單片機的片內存儲器的字節(jié)地址為0

28、0H-7FH.MCS-51單片機對其內部RAM的存儲器有很豐富的操作指令,從而使得用戶在設計程序時非常方便。地址為00H-1FH的32個單元是4組通用工作寄存器區(qū),每個區(qū)含8個8位寄存器,編號為R7-R0。用戶可以通過指令改變PSW中的RS1,RS0這二位來切換當前的工作寄存器區(qū),這種功能給軟件設計帶來極大的方便,特別是在中斷嵌套時,為實現(xiàn)工作寄存器現(xiàn)場內容保護提供了極大的方便。</p><p>  1.2.3特

29、殊功能寄存器(SFR-Special Function Register)</p><p>  特殊功能寄存器反映了MCS-51單片機的狀態(tài),實際上是MCS-51單片機各功能部件的狀態(tài)及控制寄存器.SFR綜合的,實際的反應了整個單片機基本系統(tǒng)內部的工作狀態(tài)及工作方式.SFR實質上是一些具有特殊功能的片內RAM單元,字節(jié)地址范圍為80H-FFH.特殊功能寄存器的總數為21個,離散的分布在該區(qū)域中,其中]有些SFR還

30、可以進行位尋址.128個字節(jié)的SFR塊中僅有21個字節(jié)是由定義的.對于尚未定義的字節(jié)地址單元,用戶不能作寄存器使用,若訪問沒有定義的單元,則將得到一個不確定的隨機數.</p><p><b>  1.3并行I/O口</b></p><p>  MCS-51單片機共有4個雙向的8位并行I/O端口(Port),分別記作P0-P3,共有32根口線,各口的每一位均由鎖存器、輸

31、出驅動器和輸入緩沖器所組成。實際上P0-P3已被歸入特殊功能寄存器之列。這四個口除了按字節(jié)尋址以外,還可以按位尋址。由于它們在結構上有一些差異,故各口的性質和功能有一些差異。</p><p>  P0口是雙向8位三態(tài)I/O口,此口為地址總線(低8位)及數據總線分時復用口,可驅動8個LS型TTL負載。P1口是8位準雙向I/O口,可驅動4個LS 型負載。P2口是8位準雙向I/O口,與地址總線(高8位)復用,可驅動4個

32、LS型TTL負載。P3口是8位準雙向I/O口,是雙功能復用口,可驅動4個LS型TTL負載。P1口、P2口、P3口各I/O口線片內均有固定的上拉電阻,當這3個準雙向I/O口做輸入口使用時,要向該口先寫“1”,另外準雙向I/O口無高阻的“浮空”狀態(tài),故稱為雙向三態(tài)I/O 口。</p><p>  1.4 時鐘電路與時序</p><p>  時鐘電路用于產生MCS-51單片機工作時所必需的時鐘信

33、號。MCS-51單片機本身就是一個復雜的同步時序電路,為保證同步工作方式的實現(xiàn),MCS-51單片機應在唯一的時鐘信號控制下,嚴格地按時序執(zhí)行進行工作,而時序所研究的是指令執(zhí)行中各個信號的關系。</p><p>  在執(zhí)行指令時,CPU首先要到程序存儲器中取出需要執(zhí)行的指令操作碼,然后譯碼,并由時序電路產生一系列控制信號去完成指令所規(guī)定的操作。CPU發(fā)出的時序信號有兩類,一類用于片內對各個功能部件的控制,這列信號很

34、多。另一類用于片外存儲器或I/O端口的控制,這部分時序對于分析、設計硬件接口電路至關重要。這也是單片機應用系統(tǒng)設計者普遍關心的問題。</p><p>  1.5單片機的應用領域</p><p>  單片機應用領域可以歸納為以下幾個方面。</p><p><b>  1.智能儀表</b></p><p>  用單片機系統(tǒng)取

35、代老式的測量、控制儀表,實現(xiàn)從模擬儀表向數字化、智能化儀表的轉化,如各種溫度儀表、壓力儀表、流量儀表、電能計量儀表等。</p><p><b>  2. 測控系統(tǒng)</b></p><p>  用單片機取代原有的復雜的模擬數字電路,完成各種工業(yè)控制、數據采集系統(tǒng)等工作。</p><p><b>  3.電能變換</b><

36、;/p><p>  應用單片機設計變頻調速控制電路。</p><p><b>  4.通信</b></p><p>  用單片機開發(fā)通信模塊、通信器材等。</p><p><b>  5.機電產品</b></p><p>  應用單片機檢測、控制傳統(tǒng)的機械產品,使傳統(tǒng)的機械產品結

37、構簡化,控制智能化,提高了機電產品的可靠性,增強了產品的功能。</p><p><b>  6.智能接口</b></p><p>  在數據傳輸中,用單片機實現(xiàn)外部設備與微機通信。</p><p><b>  二 系統(tǒng)設計要求</b></p><p><b>  2.1基本功能</b

38、></p><p>  1.6MHZ晶振,在實驗板上用動態(tài)掃描顯示00-59;</p><p>  2.L9,L10顯示00-59十進制數并循環(huán),相隔1s;</p><p>  3. L9顯示內寄存內部RAM30H,L10顯示內寄存內部RAM31H;</p><p>  4. 要求顯示,時、分、秒;</p><p&

39、gt;  5. 控制系統(tǒng)的硬件設計;</p><p>  6.80c51的P0.P2口用作鍵盤顯示接口,用程序掃描的方法進鍵盤輸入和顯示輸出 P0口作為字段口P2作為顯示器的置位口以及鍵盤的輸出口P2.0、P2.1接2個數碼管,P2.2、P2.3接2個按鈕;</p><p>  7.能夠顯示時分秒;</p><p>  8.能夠調整時分秒;</p>

40、<p>  9.MCS-51系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結構;</p><p><b>  2.2. 擴展功能</b></p><p>  1.時、分、秒的間隔符,以一定的頻率閃爍;</p><p>  2.AT89S52是一個低功耗,高性能CMOS 8位單片機,片內含4k Byte

41、sISP的可反復擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術制造,兼容標準MCS-51指令系統(tǒng)及80c51引腳結構,芯片內集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89S52可為許多嵌入式控制應用系統(tǒng)提供高性價比的解決方案; </p><p>  3.能夠任意設置定時時間;</p><p>  4.定時時間

42、到鬧鈴能夠報警;</p><p>  5.實現(xiàn)了秒表功能;</p><p>  三 硬件總體設計方案</p><p>  用一揚聲器來本次設計時鐘電路,使用了AT89C51單片機芯片控制電路,單片機控制電路簡單且省去了很多復雜的線路,使得電路簡明易懂,使用鍵盤鍵上的按鍵來調整時鐘的時、分、秒,進行定時提醒,同時使用C語言程序來控制整個時鐘顯示,使得編程變得更容易,這

43、樣通過四個模塊:鍵盤、芯片、揚聲器、顯示屏即可滿足設計要求。</p><p>  3.1.系統(tǒng)功能實現(xiàn)總體設計思路</p><p>  如圖3-1 所示為AT89S51芯片的引腳圖:</p><p>  圖3-1 設計原理框圖</p><p>  此設計原理框圖如圖4-11所示,此電路包括以下四個部分:單片機,鍵盤,鬧鈴電路及顯示電路。<

44、;/p><p>  經多方論證硬件我們小組采用AT89C51單片機和7SED八位共陽極數碼管等來實現(xiàn)單片機電子時鐘的功能。</p><p>  詳細元器件列表如表4.12所示:</p><p>  表4.12 詳細元器件列表</p><p>  3.2.各部分功能實現(xiàn)</p><p>  1單片機發(fā)送的信號通過程序控制最終

45、在數碼管上顯示出來。</p><p>  2單片機通過輸出各種電脈沖信號來驅動控制各部分正常工作。</p><p>  3為使時鐘走時與標準時間一致,校時電路是必不可少的,鍵盤用來校正數碼管上顯示的時間。</p><p>  單片機通過控制鬧鈴電路來完成 定時鬧鐘的功能</p><p>  3.3.系統(tǒng)工作原理</p><

46、p>  設計的電路主要由四模塊構成:單片機控制電路,顯示電路、鬧鈴電路以及校正電路。</p><p>  詳細電路功能圖如圖3-3:</p><p>  本設計采用C語言程序設計,使單片機控制數碼管顯示時、分、秒,當秒計數計滿60時就向分進位,分計數器計滿60后向時計數器進位,小時計數器按“23翻0”規(guī)律計數。時、分、秒的計數結果經過數據處理可直接送顯示器顯示。當計時發(fā)生誤差的時候可

47、以用校時電路進行校正。設計采用的是時、分、秒顯示,單片機對數據進行處理同時在數碼管上顯示。</p><p>  3.4.時鐘各功能分析及圖解</p><p><b>  1.時鐘運行圖</b></p><p>  仿真開始運行時,或按下key4鍵時,時鐘從12:00:00開始運行,其中key2鍵對分進行調整,key3對小時進行調整,key6可以

48、讓時鐘暫停。</p><p>  時鐘運行圖如圖 4-41 所示:</p><p><b>  2.秒表計時圖</b></p><p>  當按下key1鍵進入秒表計時狀態(tài),key6是秒表暫停鍵,可按key4鍵跳出秒表計時狀態(tài)。</p><p>  秒表計時圖如圖 3-4所示:</p><p> 

49、 圖3-4 秒表計時圖</p><p>  3.鬧鈴設置圖及運行圖</p><p>  當按下key5,開始定時,分別按key2調分,key3調時設置鬧鈴時間,然后按下key4鍵恢復時鐘運行狀態(tài)(圖3-5)當鬧鈴設置時間到時,蜂鳴器將發(fā)出10秒中蜂鳴聲(圖3-6)。</p><p><b>  圖3-5鬧鈴設置圖</b></p>

50、<p>  圖3-6 鬧鈴運行圖</p><p>  該數字鐘是用一片AT89C51單片機通過編程去驅動8個數碼管實現(xiàn)的。通過6個開關控制,從上到下6個開關KEY1-KEY6的功能分別為:KEY1,切換至秒表;KEY2,調節(jié)時間,每調一次時加1;KEY3, 調節(jié)時間,每調一次分加1;KEY4,從其它狀態(tài)切換至時鐘狀態(tài);KEY5,切換至鬧鐘設置狀態(tài),也可以對秒表清零;KEY6,秒表暫停.控制鍵分別與P1.

51、0~P1.5口連接.其中:</p><p>  A通過P2口和P3口去控制數碼管的顯示如圖所示P2口接數碼管的a——g端,是控制輸出編碼,P3口接數碼管的1——8端,是控制動態(tài)掃描輸出.</p><p>  B從P0.0輸出一個信號使二極管發(fā)光,二極管在設置的鬧鐘時間到了時候發(fā)光,若有樂曲可以去驅動揚聲器實現(xiàn)。</p><p>  3.5.電路功能使用說明</

52、p><p>  1. 各個控制鍵的功能:可對時間進行校準調節(jié)(只能加1);按下設置鍵數字時鐘進入鬧鐘設置狀態(tài),設置鬧鐘的時間;時加1、分加1鍵是在校準時間時或設置鬧鐘時間對小時數或分鐘數調節(jié)而設置的;按下秒切換鍵就可以進入秒表模式,同時秒表也開始計時,按下秒表暫停、復位鍵就暫停、歸零,如果要重新對秒計時則可以按秒表開始、復位;清零鍵可以對鬧鐘清零。</p><p>  2. AT89C51單片

53、機,通過編寫程序對數碼顯示進行控制。</p><p>  3. 八個7段數碼管顯示時鐘和秒表信號</p><p>  3.6.控制電路的C語言源程序</p><p>  根據流程圖,經過認真分析得出控制電路的源程序如下:</p><p>  #include<reg51.h></p><p>  #defi

54、ne uchar unsigned char</p><p>  #define uint unsigned int</p><p>  #define delay_time 3/*宏定義*/</p><p>  uchar k,dat[]={0,0,0,0,0,0,0,0};</p><p>  uint tcount,t,u;</p

55、><p>  uchar dat1[]={0,0,0,0,0,0,2,1};</p><p>  uchar dat2[]={0,0,0,0,0,0,0,0};</p><p>  uchar alarms[]={0,0,0,0,0,0,0,0};</p><p>  uchar dis_bit[]={0x80,0x40,0x20,0x10,0x

56、08,0x04,0x02,0x01};</p><p>  unsigned char code SEG7[11]={0xC0,/*0*/ 0xF9,/*1*/ 0xA4,/*2*/ 0xB0,/*3*/ 0x99,/*4*/

57、 0x92,/*5*/ 0x82,/*6*/ 0xF8,/*7*/ 0x80,/*8*/ 0x90,/*9*/ 0xBF,/*-*/</p>&

58、lt;p>  };/*數字顯示數組*/</p><p>  sbit miaobiao1=P1^0;</p><p>  sbit tminute=P1^1;</p><p>  sbit thour=P1^2;</p><p>  sbit miaobiao2=P1^3;</p><p>  sbit alar

59、m=P1^4;</p><p>  sbit P0_0=P0^0;</p><p>  sbit P1_5=P1^5;</p><p>  sbit P1_6=P1^6;</p><p>  sbit P1_7=P1^7;/*端口定義*/</p><p>  uchar ms=0;</p><p&g

60、t;  uchar flag=0;</p><p>  uchar sec=0;</p><p>  uchar minit=0;</p><p>  struct time{uchar second;uchar minute;uchar hour;}time1;</p><p>  uchar n,i;</p><p&g

61、t;  void delay(n)</p><p>  {while(n--)</p><p><b>  {</b></p><p>  for(i=120;i>0;i--);</p><p><b>  } </b></p><p><b>  }<

62、/b></p><p><b>  /*延時子程序*/</b></p><p>  void modify(void)</p><p><b>  {</b></p><p><b>  EA=0;</b></p><p>  if(thour==

63、0)</p><p><b>  { </b></p><p>  if(flag==0)</p><p><b>  {</b></p><p>  dat1[6]++;delay(280);</p><p>  if(dat1[6]>9)</p>&

64、lt;p><b>  { </b></p><p>  dat1[6]=0;</p><p>  dat1[7]++;</p><p><b>  }</b></p><p>  else if((dat1[7]>1)&&(dat1[6]>3))</p&g

65、t;<p>  {dat1[7]=0; dat1[6]=0; }</p><p><b>  }</b></p><p>  if(flag==1)</p><p><b>  {</b></p><p>  alarms[6]++;delay(300);</p>&l

66、t;p>  if(alarms[6]>9)</p><p><b>  {</b></p><p>  alarms[6]=0;alarms[7]++;</p><p>  if(alarms[7]>2)</p><p><b>  {</b></p><p&g

67、t;  alarms[7]=0;</p><p><b>  }</b></p><p><b>  }</b></p><p>  dat[6]=alarms[6];</p><p>  dat[7]=alarms[7];</p><p><b>  }</

68、b></p><p><b>  }</b></p><p>  if(tminute==0)</p><p><b>  { </b></p><p>  if(flag==0)</p><p><b>  {</b></p>&l

69、t;p>  dat1[3]++;delay(280);</p><p>  if(dat[3]>=9)</p><p><b>  {</b></p><p>  dat1[4]++;dat1[3]=0;</p><p>  if(dat1[4]>5)</p><p><b

70、>  {</b></p><p>  dat1[4]=0;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(flag==1)</p&

71、gt;<p><b>  {</b></p><p>  alarms[3]++;delay(300);</p><p>  if(alarms[3]>9)</p><p><b>  {</b></p><p>  alarms[4]++;alarms[3]=0;</p

72、><p>  if(alarms[4]>5)</p><p><b>  {</b></p><p>  alarms[4]=0;</p><p><b>  }</b></p><p><b>  }</b></p><p>

73、  dat[3]=alarms[3];</p><p>  dat[4]=alarms[4];</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(miaobiao1==0)</p><p>  {TR0=0;ET0=0;

74、TR1=1;ET1=1;</p><p><b>  }</b></p><p>  if(miaobiao2==0)</p><p><b>  { </b></p><p>  TR0=1;ET0=1;TR1=0;ET1=0;</p><p>  dat2[0]=0;&l

75、t;/p><p>  dat2[1]=0;</p><p>  dat2[3]=0;</p><p>  dat2[4]=0;</p><p>  dat2[6]=0;</p><p>  dat2[7]=0;</p><p><b>  ms=0;</b></p>

76、<p><b>  sec=0;</b></p><p><b>  minit=0;</b></p><p><b>  }</b></p><p>  if(P1_5==0)</p><p><b>  {</b></p>

77、<p>  TR0=0;ET0=0;TR1=0;ET1=0; </p><p><b>  }</b></p><p>  if(alarm==0)</p><p><b>  {</b></p><p>  TR0=0;ET0=0;TR1=0;ET1=0;flag=1;</p>

78、;<p><b>  dat[0]=0;</b></p><p><b>  dat[1]=0;</b></p><p>  dat[2]=10;</p><p><b>  dat[3]=0;</b></p><p><b>  dat[4]=0;&l

79、t;/b></p><p>  dat[5]=10;</p><p><b>  dat[6]=0;</b></p><p><b>  dat[7]=0;</b></p><p><b>  }</b></p><p><b>  EA

80、=1;</b></p><p><b>  }/*按鍵掃描*/</b></p><p>  void init(void)</p><p><b>  {</b></p><p>  TMOD = 0x11; </p><p>  TH0 = 0xDB;</

81、p><p>  TL0 =0xFF;</p><p><b>  TH1=0xDB;</b></p><p><b>  TL1=0xFF;</b></p><p>  ET0 = 1; //10ms</p><p><b>  ET1=1;</b>

82、;</p><p><b>  //TR1=1;</b></p><p><b>  TR0=1;</b></p><p><b>  tcount=0;</b></p><p><b>  ms=0;</b></p><p>&

83、lt;b>  sec=0;</b></p><p><b>  minit=0;</b></p><p><b>  EA = 1;</b></p><p><b>  }/*初始化*/</b></p><p>  void test(void){</p

84、><p>  for(k=0;k<8;k++)</p><p><b>  {</b></p><p>  P3=dis_bit[k];</p><p>  P2=SEG7[dat[k]]; delay(1);</p><p><b>  P3=0X00;</b></

85、p><p><b>  }</b></p><p><b>  }/*數字顯示*/</b></p><p>  void main()</p><p><b>  {init();</b></p><p>  delay(10);</p>&l

86、t;p><b>  while(1)</b></p><p><b>  {</b></p><p><b>  modify();</b></p><p><b>  test();</b></p><p><b>  }</b&g

87、t;</p><p><b>  }/*主函數*/</b></p><p>  Void diplay() interrupt 1</p><p><b>  { </b></p><p><b>  ET0=0;</b></p><p><b&

88、gt;  TR0=0;</b></p><p>  TH0 = 0xDB;</p><p>  TL0 = 0xff;</p><p><b>  TR0=1;</b></p><p><b>  tcount++;</b></p><p>  if(tcount

89、==100) </p><p><b>  {</b></p><p>  time1.second++;</p><p><b>  tcount=0;</b></p><p>  dat1[0]=(time1.second)%10;</p><p>  dat1[1]=(

90、time1.second)/10;</p><p><b>  }</b></p><p>  if(time1.second==60)</p><p>  { dat1[0]=0;dat1[1]=0;</p><p>  time1.second=0;</p><p>  time1.min

91、ute++;</p><p>  dat1[3]=(time1.minute)%10;</p><p>  dat1[4]=(time1.minute)/10;</p><p><b>  } </b></p><p>  if(time1.minute==60)</p><p><b>

92、;  {</b></p><p>  time1.minute=0;</p><p>  time1.hour++; </p><p>  dat1[6]=time1.hour%10;</p><p>  dat1[7]=time1.hour/10;</p><p><b>  }</b&g

93、t;</p><p>  if(time1.hour>23)</p><p><b>  {</b></p><p>  time1.hour=0; </p><p><b>  }</b></p><p>  dat[5]=10;</p><p&g

94、t;  dat[2]=10;</p><p>  dat[0]=dat1[0];</p><p>  dat[1]=dat1[1];</p><p>  dat[3]=dat1[3];</p><p>  dat[4]=dat1[4];</p><p>  dat[6]=dat1[6];</p><

95、p>  dat[7]=dat1[7];</p><p><b>  flag=0;</b></p><p><b>  P0=0x01;</b></p><p>  if((alarms[7]==dat1[7])&&(alarms[6]==dat1[6])&&(alarms[4]==d

96、at1[4])&&(alarms[3]==dat1[3])&&(dat1[1]<1))</p><p><b>  {</b></p><p><b>  P0=0x00;</b></p><p><b>  }</b></p><p>&

97、lt;b>  ET0=1;</b></p><p><b>  }</b></p><p>  void time_2(void)interrupt 3</p><p><b>  {</b></p><p><b>  EA=0; </b></p>

98、;<p><b>  TR0=0;</b></p><p><b>  TH1=0xDB;</b></p><p><b>  TL1=0xFF;</b></p><p><b>  TR1=1;</b></p><p><b> 

99、 ms++;</b></p><p>  dat2[0]=ms%10;</p><p>  dat2[1]=ms/10;</p><p>  if(ms>=100)</p><p><b>  {</b></p><p><b>  ms=0;</b><

100、;/p><p><b>  sec++;</b></p><p>  dat2[3]=sec%10;</p><p>  dat2[4]=sec/10;</p><p>  if(sec>=60)</p><p><b>  {</b></p><p&g

101、t;<b>  sec=0;</b></p><p><b>  minit++;</b></p><p>  dat2[6]=minit%10;</p><p>  dat2[7]=minit/10;</p><p><b>  }</b></p><p&

102、gt;<b>  }</b></p><p>  dat[5]=10;</p><p>  dat[2]=10;</p><p>  dat[0]=dat2[0];</p><p>  dat[1]=dat2[1];</p><p>  dat[3]=dat2[3];</p><

103、;p>  dat[4]=dat2[4];</p><p>  dat[6]=dat2[6];</p><p>  dat[7]=dat2[7];</p><p><b>  EA=1</b></p><p>  四 課程設計結果分析</p><p>  此時鐘設計是利用protues仿真軟件

104、進行仿真,基本上實現(xiàn)了課程設計要求實現(xiàn)的功能。</p><p>  硬件部分設置了的六個按鍵。當按鍵一按下時,進入秒表顯示狀態(tài),秒表開始計時,當按鍵六按下時,秒表暫停;當按鍵四按下時恢復到時間顯示功能;當按鍵二按下時,進入調分狀態(tài),按一次,分加一,60一循環(huán);按鍵三按下時,進入調時狀態(tài),按一次,時加一,60一循環(huán);按鍵五按下時,進入鬧鈴設置功能,緊接著按下按鍵二和按鍵三進行時和分的設置,再按下按鍵4恢復顯示時間,

105、當顯示的時間和定時設置的時間一致時,蜂鳴器發(fā)出蜂鳴聲,蜂鳴時間我們設置為10秒。</p><p>  另外,鬧鈴電路有音樂鬧鐘的擴展的功能(可以將蜂鳴器換成揚聲器再加一段音樂程序即可實現(xiàn))。</p><p>  調試階段,出現(xiàn)一些問題。比如,實際小時顯示到29才歸零,分鐘顯示到60才進一……經過軟件調試,以上問題均一一排除,結果達到預期目標。但時間有限,部分擴展功能不能及時實現(xiàn),比如音樂鬧

106、鈴。 </p><p><b>  五 結論</b></p><p><b>  5.1.結論</b></p><p> 

107、 單片機多功能定時系統(tǒng)理論上能很好的達到了學校教學要求,發(fā)揮了單片機在智能化方面的應用。該系統(tǒng)的設計很好的滿足當前學校教學的需要,是一個理想的智能化的設計。它具有一個走時精確的實時鐘,可以任意設置時間,可以控制時間表的轉換,時鐘的顯示功能等??梢酝ㄟ^按鍵操作和數字顯示。該系統(tǒng)規(guī)模小,但是功能較多,操作簡單,造價低,應用非常廣泛。該系統(tǒng)的設計為向家庭數字化方向發(fā)展又前進了一步。同時又擴大了單片機的應用領域。</p><

108、p>  5.2. 單片機的發(fā)展趨勢</p><p>  自單片機出現(xiàn)至今,單片機技術已走過了幾十年的發(fā)展路程??v觀幾十年來單片機發(fā)展歷程可以看出,單片機技術的發(fā)展以微處理器(MPU)技術及超大規(guī)模集成電路技術的發(fā)展為先導,拉動廣泛的應用領域,表現(xiàn)出比微處理器更具個性的發(fā)展趨勢:</p><p>  1.采用先進結構以實現(xiàn)高性能</p><p>  在過去的一段

109、時間內,單片機的指令運行速度一直在10MIPS以下,這對于應用在工業(yè)控制領域內的單片機來說是足夠了,但當單片機被應用在通訊及DSP領域作為高速運算、編碼或解碼時,就會出現(xiàn)因指令運行速度不夠而限制單片機應用的情形,因此提高單片機指令運行速度已經成為迫切需要解決的問題。</p><p>  2.進一步降低功耗、</p><p>  基于80C51的飛利浦低功率、低系統(tǒng)成本微控制器51LPC系列

110、是業(yè)界推動單片機向低功耗方向發(fā)展的主導單片機系列之一。51LPC系列單片機采用以下三種方法降低功耗:</p><p> ?。?)使系統(tǒng)進入空閑模式,在空閑模式下,只有外圍器件在工作,任意的復位及中斷均可結束空閑模式;</p><p> ?。?)使系統(tǒng)進入低功耗模式,在低功耗模式下,振蕩器停止工作,是功耗降到最小</p><p> ?。?)使系統(tǒng)進入低電壓EPROM操

111、作;EPROM包含了模擬電路,當Vcc高于4V時,可通過軟件使這些模擬電路掉電以降低功耗,在上電情況下可使系統(tǒng)退出該模式。</p><p>  3.采用Flash Memory</p><p>  隨著半導體工藝技術的不斷進步,MPU的Flash版本逐漸替代了原有的OTP版本。Flash MPU具有以下優(yōu)點:與多次可編程的窗口式EPROM相比,F(xiàn)lash MPU的成本要低得多;在系統(tǒng)編程能

112、力以及產品生產方面提供了靈活性,因為Flash MPU可在編程后面再次以新代碼重新編程;可減少已編程器件的報廢和庫存;有助于生產廠商縮短設計周期,使終端用戶產品和、更具有競爭力。</p><p>  4.集成更多功能及兼容性</p><p>  目前單片機的另一個發(fā)展趨勢是在芯片上集成更多的功能。如模擬功能,包括模擬比較器、A/D和D/A轉換器等。具體表現(xiàn)在:兼容性作為設計的第一考慮;額外

113、的新的特點是透明的;使用同一種編程器;OTP使器件快速提升及標準化成為可能。</p><p><b>  5.強抗干擾能力</b></p><p>  不斷加強抗干擾能力是單片機進一步發(fā)展的必然趨勢。ST Microelectronics公司推出的ST62系列單片機在這方面是佼佼者,其優(yōu)良的抗干擾能力使得許多大公司將其應用在系統(tǒng)中的關鍵部件上。許多單片機開發(fā)商也正朝著

114、這個方向努力。</p><p>  6.朝系列化、全面化方向發(fā)展</p><p>  各大單片機開發(fā)商在增加產品功能的同時效力于形成產品的系列化=全面化,以滿足各種控制領域的要求,這也是單片機發(fā)展的趨勢之一。日本TOSHBA公司開發(fā)了從4位到64位的多系列單片機,日立公司也有從4.位到32位的單片機,目前還沒有哪個廠家生產的單片機比東芝公司的種類多。</p><p>

115、;  隨著單片機性能的不斷提高,不斷的克服和彌補自身的不足。在各種控制領域,單片機將擁有更加廣闊的使用天地。在很長的一段時間內,它將一直是工程設計人員的首選控制芯片之一。</p><p><b>  總結</b></p><p>  電氣自動化這個專業(yè)使我了解到許多從沒有知道過得知識,電氣自動化這門技術包括了很多專業(yè)的知識,然而,我在這里寫的也只是這門技術所包含的一部

116、分的專業(yè)知識,這門技術用在很多的工作崗位上。在畢業(yè)設計的制作過程中 ,我通過查閱大量相關資料以及向指導老師請教,是我所學到的知識得到鞏固 ,又學到了不少新的知識,也經歷了許多艱辛。畢業(yè)設計不到培養(yǎng)了我獨立完成任務的能力,樹立了克服和困難戰(zhàn)勝的信心,而且大大提高了我獨立思考的能力,是我充分體會到了在設計過程中,探索的艱難和成功的喜悅。</p><p>  通過本次設計使我深深體會到任何理論如果沒有在實踐中得到應用,

117、那它只是一些凌亂的文字而已。本次設計使我懂得了理論與實踐相結合的重要性;也讓我意識到拓展知識面,培養(yǎng)思維創(chuàng)新能力的重要性;當然團隊合作精神也很重要。我只有通過不斷地學習,在實踐中鍛煉才能提高自己的能力。 </p><p>  所以,通過寫論文使我學習到了很多東西,學習到電氣自動化包括很多專業(yè)的知識,電氣自動化這個專業(yè)應用的

118、很廣泛,在許多的工業(yè)上,用到很多電氣自動化的專業(yè)知識,所以我會在以后的實踐中學習更多的有關于電氣自動化方面的知識,會在以后的生活實踐中把這個專業(yè)的知識很好的運用到這里面。</p><p><b>  致謝</b></p><p>  本課題在選題及進行過程中得到了張加云老師的悉心指導。在硬件電路設計當中張老師幫助分析思路,開拓視角;在軟件設計中張老師幫助調試及修改程序

119、。張老師嚴謹求實的治學態(tài)度,踏實堅韌的工作精神將使我們終身受益。再多華麗的言語也顯得蒼白。在此,謹向張加云老師致以誠摯的謝意和崇高的敬意!</p><p><b>  參考文獻</b></p><p>  [1] 李葉紫.王喜斌.胡輝.孫東輝.編著MCS_51單片機應用教程清華大學出版社.2008.6.</p><p>  [2] 陸劍.單

120、片機應用技術指導書 河南工業(yè)職業(yè)技術學院2005.12.[3] 汪道輝.單片機系統(tǒng)設計與實踐.電子工業(yè)出版社 </p><p> ?。?50頁 時、分、秒計時器設計,59頁 鍵盤及接口技術).</p><p>  [4] 第二版.51系列單片機設計實例.北京航空航天大學出版社(81—89頁 數碼管時鐘電路的設計).</p><p>  [5] 辛友順、胡永生

121、、薛小玲.單片機應用系統(tǒng)設計與實現(xiàn).福建科學技術出版社(184-186頁 LED顯示接口,190-193頁 鍵盤接口).</p><p>  [6] 黃慶華、張永格.單片機開發(fā) 與實例.電子工業(yè)出版社(127-162頁 數字式電子時鐘的設計).</p><p>  [7] 閆玉德、俞紅.MCS-51單片機原理與應用(C語言版).機械工業(yè)出版社(49-104頁 單片機的C程序設計).&l

122、t;/p><p>  [8] 求是科技.單片機典型模塊設計實例導航.人民郵電出版社(85-90頁 單片機數字時鐘).</p><p>  [9] 劉守義,王靜霞?!秵纹瑱C應用技術》.西安電子科技大學出版社,2002</p><p><b>  三峽電力職業(yè)學院</b></p><p><b>  畢 業(yè) 論 文

123、</b></p><p>  標 題 工程測量技術 </p><p>  學 院 三峽電力職業(yè)學院 </p><p>  專 業(yè) 測量工程技術

124、 </p><p>  班 級 2010383226 </p><p>  姓 名 趙雪伊 </p><p>  指導教師 張桂榮

125、 </p><p>  2016年 5月 20 日</p><p><b>  摘要</b></p><p>  本文介紹了工程測量測量的應用;介紹了工程測量的發(fā)展和應用;然后結合具體工程項目,案例分析工程測量應用。例如控制測量、工程放樣、垂直度測量、建筑標高測量、變形監(jiān)測;并借助案例施工放樣,介紹了全站儀的使用知

126、識,并進行實際的放樣工作;最后展望了測量在工程中的發(fā)展。</p><p>  關鍵詞:工程測量 放樣 全站儀</p><p><b>  目錄</b></p><p>  工程測量學的發(fā)展沿革············&#

溫馨提示

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

評論

0/150

提交評論