2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)設(shè)計(論文)</b></p><p>  設(shè)計題目 單片機電子時鐘 </p><p>  學(xué) 院 </p><p>  系 部 機械工程系 </p><p>  專 業(yè) 電氣自動化專業(yè) </p

2、><p>  班 級 </p><p><b>  摘 要</b></p><p>  單片機 即單片微型計算機。(Single-Chip Microcomputer ),是 集 CPU ,RAM ,ROM ,定時,計數(shù)和多種接口于一體的微控制器。他體積小,成本低,功能強,廣泛應(yīng)用于工業(yè)自動化上和智能

3、產(chǎn)品。時鐘,自從它被發(fā)明的那天起,就成為了人類的好朋友,但隨著時間的推移,科學(xué)技術(shù)的不斷發(fā)展,時鐘的應(yīng)用越來越廣范,人們對時間計量的精度要求也越來越高。怎樣讓時鐘更好的為人民服務(wù),怎樣讓我們的老朋友再次煥發(fā)青春呢?這就要求我們不斷設(shè)計出新型的時鐘,來不斷滿足人們的日常生活需要。然而市場上的時鐘便宜的比較笨重,簡單實用的又比較昂貴。那么,有沒有一款既簡單實用價格又便宜的時鐘呢?</p><p>  我們課程設(shè)計小組

4、設(shè)想:可不可以利用單片機功能集成化高,價格又便宜的特點設(shè)計一款結(jié)構(gòu)既簡單,價格又便宜的單片機電子時鐘呢? </p><p>  基于這種情況,我們課程設(shè)計小組成員多方查閱資料,反復(fù)論證設(shè)計出了這款既簡單實用,又價格便宜的——單片機電子時鐘。</p><p>  關(guān)鍵詞:單片機 ; 時鐘 ; 計時</p><p><b>  前言</b><

5、/p><p>  電氣自動化是高等院校開設(shè)的一門工科專業(yè)。培養(yǎng)德、智、體全面發(fā)展,具有良好的科學(xué)素養(yǎng)和創(chuàng)新精神,培養(yǎng)能夠從事與電氣工程有關(guān)的系統(tǒng)運行、自動控制、電力電子技術(shù)、信息處理、試驗分析、研制開發(fā)以及電子與計算機應(yīng)用等領(lǐng)域工作的寬口徑復(fù)合型高級工程技術(shù)人才。本專業(yè)主要學(xué)習(xí)電子技術(shù)、電工技術(shù)、信息控制、電氣測量、計算機技術(shù)等方面較寬廣的工程技術(shù)基礎(chǔ)和專業(yè)知識。本專業(yè)主要特點是強電弱電結(jié)合、電工技術(shù)與電子技

6、術(shù)相結(jié)合、軟件與硬件結(jié)合、元件與系統(tǒng)結(jié)合,學(xué)生受到電工電子、信息控制及計算機技術(shù)方面的基本訓(xùn)練,具有解決電氣工程與自動化領(lǐng)域技術(shù)問題的基本能力。該專業(yè)是強電和弱電、計算機技術(shù)與電氣控制技術(shù)交叉滲透的綜合型專業(yè)學(xué)科。電氣工程及其自動化專業(yè)培養(yǎng)出的畢業(yè)生,以理論基礎(chǔ)扎實、專業(yè)知識面寬廣、實踐動手能力強、適應(yīng)性強在國內(nèi)有較好的聲譽主干課程電路原理、電子技術(shù)基礎(chǔ)、計算機技術(shù)(語言、軟件基礎(chǔ)、硬件基礎(chǔ)、單片機)、信號與系統(tǒng)、電磁場理論與應(yīng)

7、用、自動控制原理、電機學(xué)、電力電子技術(shù)、電氣測量、電力拖動與控制等。就業(yè)方向適合到國民經(jīng)濟(jì)各部門從事與電氣工程有關(guān)的系統(tǒng)運行、自動控制、電力電子技術(shù)、信息</p><p><b>  目錄</b></p><p>  目錄 …………………………………………………………………1</p><p>  緒論 …………………………………………………

8、………………2</p><p>  一   MCS-51單片機的結(jié)構(gòu)</p><p>  (一) 控制器 …………………………………………………………3</p><p> ?。ǘ?存儲器的結(jié)構(gòu)……………………………………………………4</p><p>  1程序存儲器……………………………………………………4

9、</p><p>  2內(nèi)部數(shù)據(jù)存器…………………………………………………4</p><p>  3特殊功能寄存器………………………………………………5</p><p>  (三) 并行I/O口………………………………………………………5</p><p> ?。ㄋ?)時鐘電路與時序…………………………………………………5</p>

10、<p>  (五) 單片機的應(yīng)用領(lǐng)域………………………………………………5</p><p><b>  二 系統(tǒng)設(shè)計要求</b></p><p> ?。ㄒ?)基本功能…………………………………………………………6</p><p> ?。ǘ?)擴展功能…………………………………………………………6</p><p&g

11、t;  三 硬件總體設(shè)計方案</p><p> ?。ㄒ唬?系統(tǒng)功能實現(xiàn)總體設(shè)計思路……………………………………6</p><p> ?。ǘ?各部分功能實現(xiàn)…………………………………………………8</p><p> ?。ㄈ?系統(tǒng)工作原理……………………………………………………8</p><p>  (四) 時鐘各功能分析及圖解…………………

12、………………………8</p><p> ?。ㄎ澹?電路功能使用說明………………………………………………12</p><p>  (六) 控制電路的C語言源程序………………………………………13</p><p>  四 課程設(shè)計結(jié)果分析</p><p><b>  五 結(jié)論與展望</b></p><p&

13、gt; ?。ㄒ?) 結(jié)論……………………………………………………………17</p><p>  (二) 單片機的發(fā)展趨勢……………………………………………17</p><p>  小結(jié)………………………………………………………………20</p><p>  參考文獻(xiàn) ……………………………………………………21</p><p><b&

14、gt;  緒 論</b></p><p><b>  1.1課題背景</b></p><p>  單片機自1976年由Intel公司推出MCS-48開始,迄今已有二十多年了。由于單片機集成度高、功能強、可靠性高、體積小、功耗地、使用方便、價格低廉等一系列優(yōu)點,目前已經(jīng)滲入到人們工作和生活的方方面面,幾乎“無處不在,無所不為”。單片機的應(yīng)用領(lǐng)域已從面向工業(yè)控

15、制、通訊、交通、智能儀表等迅速發(fā)展到家用消費產(chǎn)品、辦公自動化、汽車電子、PC機外圍以及網(wǎng)絡(luò)通訊等廣大領(lǐng)域。</p><p>  單片機有兩種基本結(jié)構(gòu)形式:一種是在通用微型計算機中廣泛采用的,將程序存儲器和數(shù)據(jù)存儲器合用一個存儲器空間的結(jié)構(gòu),稱為普林斯頓結(jié)構(gòu)。另一種是將程序存儲器和數(shù)據(jù)存儲器截然分開,分別尋址的結(jié)構(gòu),一般需要較大的程序存儲器,目前的單片機以采用程序存儲器和數(shù)據(jù)存儲器截然分開的結(jié)構(gòu)為多。</p&

16、gt;<p>  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)的單片機

17、,它們對8051單片機一般都作了一些擴充,更有特點。其功能和市場競爭力更強,不該把它們直接稱呼為MCS-51系列單片機,因為MCS只是Intel公司專用的單片機系列型號。MCS-51系列及80C51單片機有多種品種。它們的引腳及指令系統(tǒng)相互兼容,主要在內(nèi)部結(jié)構(gòu)上有些區(qū)別。目前使用的MCS-51系列單片機及其兼容產(chǎn)品通常分成以下幾類:基本型、增強型、低功耗型、專用型、超8位型、片內(nèi)閃爍存儲器型。</p><p>&

18、lt;b>  1.2課題來源</b></p><p>  在日常生活和工作中,我們常常用到定時控制,如擴印過程中的曝光定時等。早期常用的一些時間控制單元都使用模擬電路設(shè)計制作的,其定時準(zhǔn)確性和重復(fù)精度都不是很理想,現(xiàn)在基本上都是基于數(shù)字技術(shù)的新一代產(chǎn)品,隨著單片機性能價格比的不斷提高,新一代產(chǎn)品的應(yīng)用也越來越廣泛,大可構(gòu)成復(fù)雜的工業(yè)過程控制系統(tǒng),完成復(fù)雜的控制功能。小則可以用于家電控制,甚至可以

19、用于兒童電子玩具。它功能強大,體積小,質(zhì)量輕,靈活好用,配以適當(dāng)?shù)慕涌谛酒?,可以?gòu)造各種各樣、功能各異的微電子產(chǎn)品。</p><p>  隨著電子技術(shù)的飛速發(fā)展,家用電器和辦公電子設(shè)備逐漸增多,不同的設(shè)備都有自己的控制器,使用起來很不方便。根據(jù)這種實際情況,設(shè)計了一個單片機多功能定時系統(tǒng),它可以避免多種控制器的混淆,利用一個控制器對多路電器進(jìn)行控制,同時又可以進(jìn)行時鐘校準(zhǔn)和定點打鈴。它可以執(zhí)行不同的時間表(考試時

20、間和日常作息時間)的打鈴,可以任意設(shè)置時間。這種具有人們所需要的智能化特性的產(chǎn)品減輕了人的勞動,擴大了數(shù)字化的范圍,為家庭數(shù)字化提供了可能。</p><p>  一 MCS-51單片機的結(jié)構(gòu)</p><p>  MCS-51單片機是把那些作為控制應(yīng)用所必需的基本內(nèi)容都集成在一個尺寸有限的集成電路芯片上。如果按功能劃分,它由如下功能部件組成,即微處理器(CPU)、數(shù)據(jù)存儲器(RAM)、程序

21、存儲器(ROM/EPROM)、并行I/O口、串行口、定時器/計數(shù)器、中斷系統(tǒng)及特殊功能寄存器(SFR)。它們都是通過片內(nèi)單一總線連接而成,其基本結(jié)構(gòu)依舊是CPU加上外圍芯片的傳統(tǒng)結(jié)構(gòu)模式。但對各種功能部件的控制是采用特殊功能寄存器(SFR)的集中控制方式。</p><p><b> ?。ㄒ唬┛刂破?lt;/b></p><p>  控制器是單片機的指揮控制部件,控制器的主要

22、任務(wù)是識別指令,并根據(jù)指令的性質(zhì)控制單片機各功能部件,從而保證單片機各部分能自動而協(xié)調(diào)地工作。</p><p>  單片機執(zhí)行指令是在控制器的控制下進(jìn)行的。首先從程序存儲器中讀出指令,送指令寄存器保存,然后送至指令譯碼器進(jìn)行譯碼,譯碼結(jié)果送定時控制邏輯電路,由定時控制邏輯產(chǎn)生各種定時信號和控制信號,再送到單片機的各個部件去進(jìn)行相應(yīng)的操作。這就是執(zhí)行一條指令的全過程,執(zhí)行程序就是不斷重復(fù)這一過程??刂破髦饕ǔ绦?/p>

23、計數(shù)器、程序地址寄存器、指令寄存器IR、指令譯碼器、條件轉(zhuǎn)移邏輯電路及時序控制邏輯電路。</p><p> ?。ǘ?)存儲器的結(jié)構(gòu)</p><p>  MCS-51單片機存儲器采用的是哈佛結(jié)構(gòu),即程序存儲器空間和數(shù)據(jù)存儲器空間截然分開,程序存儲器和數(shù)據(jù)存儲器各有自己的尋址方式,尋址空間和控制系統(tǒng)。</p><p>  這種結(jié)構(gòu)對于單片機面向控制的實際應(yīng)用極為方便,有

24、利.在8051/8751彈片擊中,不僅在片內(nèi)集成了一定容量的程序存儲器和數(shù)據(jù)存儲器及眾多的特殊功能寄存器,而且還具有極強的外存儲器的擴展能力,尋址能力分別可達(dá)64KB,尋址和操作簡單方便.MCS-51的存儲器空間可劃分為如下幾類:</p><p><b>  程序存儲器</b></p><p>  單片機系統(tǒng)之所以能夠按照一定的次序進(jìn)行工作,主要是程序存儲器中存放了經(jīng)

25、調(diào)試正確的應(yīng)用程序和表格之類的固定常數(shù)。程序?qū)嶋H上是一串二進(jìn)制碼,程序存儲器可以分為片內(nèi)和片外兩部分。8031由于無內(nèi)部存儲器,所以只能外擴程序存儲器來存放程序。</p><p>  MCS-51單片機復(fù)位后,程序存儲器PC的內(nèi)容為0000H,故系統(tǒng)必須從0000H單元開始取指令,執(zhí)行程序.程序存儲器中的0000H地址是系統(tǒng)程序的啟動地址.一般在該單元存放一條絕對跳轉(zhuǎn)指令,跳向用戶設(shè)計的主程序的起始地址。<

26、/p><p><b>  內(nèi)部數(shù)據(jù)存儲器</b></p><p>  MCS-51單片機內(nèi)部有128個字節(jié)的隨機存取存儲器RAM,作為用戶的數(shù)據(jù)寄存器,它能滿足大多數(shù)控制型應(yīng)用場合的需要,用作處理問題的數(shù)據(jù)緩沖器。</p><p>  MCS-51單片機的片內(nèi)存儲器的字節(jié)地址為00H-7FH.MCS-51單片機對其內(nèi)部RAM的存儲器有很豐富的操作指

27、令,從而使得用戶在設(shè)計程序時非常方便。地址為00H-1FH的32個單元是4組通用工作寄存器區(qū),每個區(qū)含8個8位寄存器,編號為R7-R0。用戶可以通過指令改變PSW中的RS1,RS0這二位來切換當(dāng)前的工作寄存器區(qū),這種功能給軟件設(shè)計帶來極大的方便,特別是在中斷嵌套時,為實現(xiàn)工作寄存器現(xiàn)場內(nèi)容保護(hù)提供了極大的方便。</p><p>  特殊功能寄存器(SFR-Special Function Register)<

28、;/p><p>  特殊功能寄存器反映了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還可以進(jìn)行位尋址.128個字節(jié)的SFR塊中僅有21個字節(jié)是由定義的.對于尚未定義的

29、字節(jié)地址單元,用戶不能作寄存器使用,若訪問沒有定義的單元,則將得到一個不確定的隨機數(shù).</p><p> ?。ㄈ?并行I/O口</p><p>  MCS-51單片機共有4個雙向的8位并行I/O端口(Port),分別記作P0-P3,共有32根口線,各口的每一位均由鎖存器、輸出驅(qū)動器和輸入緩沖器所組成。實際上P0-P3已被歸入特殊功能寄存器之列。這四個口除了按字節(jié)尋址以外,還可以按位尋址。

30、由于它們在結(jié)構(gòu)上有一些差異,故各口的性質(zhì)和功能有一些差異。</p><p>  P0口是雙向8位三態(tài)I/O口,此口為地址總線(低8位)及數(shù)據(jù)總線分時復(fù)用口,可驅(qū)動8個LS型TTL負(fù)載。P1口是8位準(zhǔn)雙向I/O口,可驅(qū)動4個LS 型負(fù)載。P2口是8位準(zhǔn)雙向I/O口,與地址總線(高8位)復(fù)用,可驅(qū)動4個LS型TTL負(fù)載。P3口是8位準(zhǔn)雙向I/O口,是雙功能復(fù)用口,可驅(qū)動4個LS型TTL負(fù)載。P1口、P2口、P3口各I

31、/O口線片內(nèi)均有固定的上拉電阻,當(dāng)這3個準(zhǔn)雙向I/O口做輸入口使用時,要向該口先寫“1”,另外準(zhǔn)雙向I/O口無高阻的“浮空”狀態(tài),故稱為雙向三態(tài)I/O 口。</p><p> ?。ㄋ模? 時鐘電路與時序</p><p>  時鐘電路用于產(chǎn)生MCS-51單片機工作時所必需的時鐘信號。MCS-51單片機本身就是一個復(fù)雜的同步時序電路,為保證同步工作方式的實現(xiàn),MCS-51單片機應(yīng)在唯一的時鐘信

32、號控制下,嚴(yán)格地按時序執(zhí)行進(jìn)行工作,而時序所研究的是指令執(zhí)行中各個信號的關(guān)系。</p><p>  在執(zhí)行指令時,CPU首先要到程序存儲器中取出需要執(zhí)行的指令操作碼,然后譯碼,并由時序電路產(chǎn)生一系列控制信號去完成指令所規(guī)定的操作。CPU發(fā)出的時序信號有兩類,一類用于片內(nèi)對各個功能部件的控制,這列信號很多。另一類用于片外存儲器或I/O端口的控制,這部分時序?qū)τ诜治?、設(shè)計硬件接口電路至關(guān)重要。這也是單片機應(yīng)用系統(tǒng)設(shè)計

33、者普遍關(guān)心的問題。</p><p>  (五).單片機的應(yīng)用領(lǐng)域</p><p>  單片機應(yīng)用領(lǐng)域可以歸納為以下幾個方面。</p><p><b>  1.智能儀表</b></p><p>  用單片機系統(tǒng)取代老式的測量、控制儀表,實現(xiàn)從模擬儀表向數(shù)字化、智能化儀表的轉(zhuǎn)化,如各種溫度儀表、壓力儀表、流量儀表、電能計量儀

34、表等。</p><p><b>  2. 測控系統(tǒng)</b></p><p>  用單片機取代原有的復(fù)雜的模擬數(shù)字電路,完成各種工業(yè)控制、數(shù)據(jù)采集系統(tǒng)等工作。</p><p><b>  3.電能變換</b></p><p>  應(yīng)用單片機設(shè)計變頻調(diào)速控制電路。</p><p>

35、;<b>  4.通信</b></p><p>  用單片機開發(fā)通信模塊、通信器材等。</p><p><b>  5.機電產(chǎn)品</b></p><p>  應(yīng)用單片機檢測、控制傳統(tǒng)的機械產(chǎn)品,使傳統(tǒng)的機械產(chǎn)品結(jié)構(gòu)簡化,控制智能化,提高了機電產(chǎn)品的可靠性,增強了產(chǎn)品的功能。</p><p><

36、b>  6.智能接口</b></p><p>  在數(shù)據(jù)傳輸中,用單片機實現(xiàn)外部設(shè)備與微機通信。</p><p><b>  二 系統(tǒng)設(shè)計要求</b></p><p><b> ?。ㄒ唬?基本功能</b></p><p><b>  1能夠顯示時分秒</b>&

37、lt;/p><p><b>  2能夠調(diào)整時分秒</b></p><p><b>  (二). 擴展功能</b></p><p>  1能夠任意設(shè)置定時時間</p><p>  2定時時間到鬧鈴能夠報警</p><p><b>  3實現(xiàn)了秒表功能</b>&

38、lt;/p><p>  三 硬件總體設(shè)計方案</p><p>  用一揚聲器來本次設(shè)計時鐘電路,使用了AT89C51單片機芯片控制電路,單片機控制電路簡單且省去了很多復(fù)雜的線路,使得電路簡明易懂,使用鍵盤鍵上的按鍵來調(diào)整時鐘的時、分、秒,進(jìn)行定時提醒,同時使用C語言程序來控制整個時鐘顯示,使得編程變得更容易,這樣通過四個模塊:鍵盤、芯片、揚聲器、顯示屏即可滿足設(shè)計要求。</p>

39、<p> ?。ㄒ唬?系統(tǒng)功能實現(xiàn)總體設(shè)計思路</p><p>  如圖4-10 所示為AT89S51芯片的引腳圖</p><p>  此設(shè)計原理框圖如圖4-11所示,此電路包括以下四個部分:單片機,鍵盤,鬧鈴電路及顯示電路。</p><p>  圖4-11 設(shè)計原理框圖</p><p>  經(jīng)多方論證硬件我們小組采用AT89C51

40、單片機和7SED八位共陽極數(shù)碼管等來實現(xiàn)單片機電子時鐘的功能。</p><p>  詳細(xì)元器件列表如表4.12所示:</p><p>  表4.12 詳細(xì)元器件列表</p><p> ?。ǘ?各部分功能實現(xiàn)</p><p>  1單片機發(fā)送的信號通過程序控制最終在數(shù)碼管上顯示出來。</p><p>  2單片機通過輸

41、出各種電脈沖信號來驅(qū)動控制各部分正常工作。</p><p>  3為使時鐘走時與標(biāo)準(zhǔn)時間一致,校時電路是必不可少的,鍵盤用來校正數(shù)碼管上顯示的時間。</p><p>  單片機通過控制鬧鈴電路來完成 定時鬧鐘的功能</p><p>  (三).系統(tǒng)工作原理</p><p>  設(shè)計的電路主要由四模塊構(gòu)成:單片機控制電路,顯示電路、鬧鈴電路以及

42、校正電路。</p><p>  詳細(xì)電路功能圖如圖4-30:</p><p>  詳細(xì)電路功能圖如圖4-30</p><p>  本設(shè)計采用C語言程序設(shè)計,使單片機控制數(shù)碼管顯示時、分、秒,當(dāng)秒計數(shù)計滿60時就向分進(jìn)位,分計數(shù)器計滿60后向時計數(shù)器進(jìn)位,小時計數(shù)器按“23翻0”規(guī)律計數(shù)。時、分、秒的計數(shù)結(jié)果經(jīng)過數(shù)據(jù)處理可直接送顯示器顯示。當(dāng)計時發(fā)生誤差的時候可以用校

43、時電路進(jìn)行校正。設(shè)計采用的是時、分、秒顯示,單片機對數(shù)據(jù)進(jìn)行處理同時在數(shù)碼管上顯示。</p><p> ?。ㄋ模?時鐘各功能分析及圖解</p><p><b>  1 時鐘運行圖</b></p><p>  仿真開始運行時,或按下key4鍵時,時鐘從12:00:00開始運行,其中key2鍵對分進(jìn)行調(diào)整,key3對小時進(jìn)行調(diào)整,key6可以讓時鐘

44、暫停。</p><p>  時鐘運行圖如圖 4-41 所示:</p><p><b>  2秒表計時圖</b></p><p>  當(dāng)按下key1鍵進(jìn)入秒表計時狀態(tài),key6是秒表暫停鍵,可按key4鍵跳出秒表計時狀態(tài)。</p><p>  秒表計時圖如圖 4-42所示:</p><p>  圖4

45、-41 時鐘運行圖</p><p>  圖4-42 秒表計時圖</p><p>  3鬧鈴設(shè)置圖及運行圖</p><p>  當(dāng)按下key5,開始定時,分別按key2調(diào)分,key3調(diào)時設(shè)置鬧鈴時間,然后按下key4鍵恢復(fù)時鐘運行狀態(tài)(圖4-43)當(dāng)鬧鈴設(shè)置時間到時,蜂鳴器將發(fā)出10秒中蜂鳴聲(圖4-44)。</p><p>  圖4-43 鬧

46、鈴時間設(shè)置圖</p><p>  該數(shù)字鐘是用一片AT89C51單片機通過編程去驅(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.0~P1.5口連接.其中:&l

47、t;/p><p>  A通過P2口和P3口去控制數(shù)碼管的顯示如圖所示P2口接數(shù)碼管的a——g端,是控制輸出編碼,P3口接數(shù)碼管的1——8端,是控制動態(tài)掃描輸出.</p><p>  B從P0.0輸出一個信號使二極管發(fā)光,二極管在設(shè)置的鬧鐘時間到了時候發(fā)光,若有樂曲可以去驅(qū)動揚聲器實現(xiàn)。</p><p>  圖4-44 鬧鈴運行圖</p><p>

48、 ?。ㄎ澹?電路功能使用說明</p><p>  1 各個控制鍵的功能:可對時間進(jìn)行校準(zhǔn)調(diào)節(jié)(只能加1);按下設(shè)置鍵數(shù)字時鐘進(jìn)入鬧鐘設(shè)置狀態(tài),設(shè)置鬧鐘的時間;時加1、分加1鍵是在校準(zhǔn)時間時或設(shè)置鬧鐘時間對小時數(shù)或分鐘數(shù)調(diào)節(jié)而設(shè)置的;按下秒切換鍵就可以進(jìn)入秒表模式,同時秒表也開始計時,按下秒表暫停、復(fù)位鍵就暫停、歸零,如果要重新對秒計時則可以按秒表開始、復(fù)位;清零鍵可以對鬧鐘清零。</p><p

49、>  2 AT89C51單片機,通過編寫程序?qū)?shù)碼顯示進(jìn)行控制。</p><p>  3 八個7段數(shù)碼管顯示時鐘和秒表信號</p><p> ?。?控制電路的C語言源程序</p><p>  根據(jù)流程圖,經(jīng)過認(rèn)真分析得出控制電路的源程序如下:</p><p>  #include<reg51.h></p>

50、<p>  #define 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 t

51、count,t,u;</p><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,0

52、x40,0x20,0x10,0x08,0x04,0x02,0x01};</p><p>  unsigned char code SEG7[11]={0xC0,/*0*/ 0xF9,/*1*/ 0xA4,/*2*/ 0xB0,/*3*/

53、 0x99,/*4*/ 0x92,/*5*/ 0x82,/*6*/ 0xF8,/*7*/ 0x80,/*8*/ 0x90,/*9*/ 0xBF,/*

54、-*/</p><p>  };/*數(shù)字顯示數(shù)組*/</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><

55、p>  sbit alarm=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;<

56、;/p><p>  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;<

57、;/p><p>  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>

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

59、>  if(thour==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]>

60、;9)</p><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]&

61、gt;3))</p><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

62、);</p><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><

63、;/p><p>  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>&

64、lt;b>  }</b></p><p><b>  }</b></p><p>  if(tminute==0)</p><p><b>  { </b></p><p>  if(flag==0)</p><p><b>  {</b&g

65、t;</p><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>

66、<p><b>  {</b></p><p>  dat1[4]=0;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if

67、(flag==1)</p><p><b>  {</b></p><p>  alarms[3]++;delay(300);</p><p>  if(alarms[3]>9)</p><p><b>  {</b></p><p>  alarms[4]++;al

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

69、p><p>  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>

70、;  {TR0=0;ET0=0;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&g

71、t;  dat2[0]=0;</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;<

72、/b></p><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

73、></p><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;

74、flag=1;</p><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&

75、gt;  dat[4]=0;</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&

76、gt;<b>  EA=1;</b></p><p><b>  }/*按鍵掃描*/</b></p><p>  void init(void)</p><p><b>  {</b></p><p>  TMOD = 0x11; </p><p>  

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

78、 ET1=1;</b></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

79、><p><b>  sec=0;</b></p><p><b>  minit=0;</b></p><p><b>  EA = 1;</b></p><p><b>  }/*初始化*/</b></p><p>  void t

80、est(void){</p><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

81、;</b></p><p><b>  }</b></p><p><b>  }/*數(shù)字顯示*/</b></p><p>  void main()</p><p><b>  {init();</b></p><p>  delay(10

82、);</p><p><b>  while(1)</b></p><p><b>  {</b></p><p><b>  modify();</b></p><p><b>  test();</b></p><p><

83、b>  }</b></p><p><b>  }/*主函數(shù)*/</b></p><p>  Void diplay() interrupt 1</p><p><b>  { </b></p><p><b>  ET0=0;</b></p>

84、<p><b>  TR0=0;</b></p><p>  TH0 = 0xDB;</p><p>  TL0 = 0xff;</p><p><b>  TR0=1;</b></p><p><b>  tcount++;</b></p><

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

86、p>  dat1[1]=(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><

87、p>  time1.minute++;</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>&

88、lt;p><b>  {</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><

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

90、;/p><p>  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];

91、</p><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])&&a

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

93、><p><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; <

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

95、;p><b>  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

96、=0;</b></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><

97、;/p><p><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>&l

98、t;/p><p><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]

99、;</p><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>  四 課程設(shè)計結(jié)果分析</p><p>  此時鐘

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

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

102、擴展功能不能及時實現(xiàn),比如音樂鬧鈴。 </p><p><b>  五 結(jié)論與展望</b></p><p><b> ?。ㄒ唬?結(jié)論</b><

103、;/p><p>  單片機多功能定時系統(tǒng)理論上能很好的達(dá)到了學(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ā)展又前進(jìn)了一步。同時又?jǐn)U大了單片機的應(yīng)用

104、領(lǐng)域。</p><p> ?。ǘ? 單片機的發(fā)展趨勢</p><p>  自單片機出現(xiàn)至今,單片機技術(shù)已走過了幾十年的發(fā)展路程??v觀幾十年來單片機發(fā)展歷程可以看出,單片機技術(shù)的發(fā)展以微處理器(MPU)技術(shù)及超大規(guī)模集成電路技術(shù)的發(fā)展為先導(dǎo),拉動廣泛的應(yīng)用領(lǐng)域,表現(xiàn)出比微處理器更具個性的發(fā)展趨勢:</p><p>  1.采用先進(jìn)結(jié)構(gòu)以實現(xiàn)高性能</p>

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

106、功率、低系統(tǒng)成本微控制器51LPC系列是業(yè)界推動單片機向低功耗方向發(fā)展的主導(dǎo)單片機系列之一。51LPC系列單片機采用以下三種方法降低功耗:</p><p> ?。?)使系統(tǒng)進(jìn)入空閑模式,在空閑模式下,只有外圍器件在工作,任意的復(fù)位及中斷均可結(jié)束空閑模式;</p><p>  (2)使系統(tǒng)進(jìn)入低功耗模式,在低功耗模式下,振蕩器停止工作,是功耗降到最小</p><p>

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

108、h MPU的成本要低得多;在系統(tǒng)編程能力以及產(chǎn)品生產(chǎn)方面提供了靈活性,因為Flash MPU可在編程后面再次以新代碼重新編程;可減少已編程器件的報廢和庫存;有助于生產(chǎn)廠商縮短設(shè)計周期,使終端用戶產(chǎn)品和、更具有競爭力。</p><p>  4.集成更多功能及兼容性</p><p>  目前單片機的另一個發(fā)展趨勢是在芯片上集成更多的功能。如模擬功能,包括模擬比較器、A/D和D/A轉(zhuǎn)換器等。具體

109、表現(xiàn)在:兼容性作為設(shè)計的第一考慮;額外的新的特點是透明的;使用同一種編程器;OTP使器件快速提升及標(biāo)準(zhǔn)化成為可能。</p><p><b>  5.強抗干擾能力</b></p><p>  不斷加強抗干擾能力是單片機進(jìn)一步發(fā)展的必然趨勢。ST Microelectronics公司推出的ST62系列單片機在這方面是佼佼者,其優(yōu)良的抗干擾能力使得許多大公司將其應(yīng)用在系統(tǒng)中

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

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

112、我在這里寫的也只是這門技術(shù)所包含的一部分的專業(yè)知識,這門技術(shù)用在很多的工作崗位上。在畢業(yè)設(shè)計的制作過程中 ,我通過查閱大量相關(guān)資料以及向指導(dǎo)老師請教,是我所學(xué)到的知識得到鞏固 ,又學(xué)到了不少新的知識,也經(jīng)歷了許多艱辛。畢業(yè)設(shè)計不到培養(yǎng)了我獨立完成任務(wù)的能力,樹立了克服和困難戰(zhàn)勝的信心,而且大大提高了我獨立思考的能力,是我充分體會到了在設(shè)計過程中,探索的艱難和成功的喜悅。</p><p>  通過本次設(shè)計使我深深體

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

114、多專業(yè)的知識,電氣自動化這個專業(yè)應(yīng)用的很廣泛,在許多的工業(yè)上,用到很多電氣自動化的專業(yè)知識,所以我會在以后的實踐中學(xué)習(xí)更多的有關(guān)于電氣自動化方面的知識,會在以后的生活實踐中把這個專業(yè)的知識很好的運用到這里面。</p><p><b>  致謝</b></p><p>  本課題在選題及進(jìn)行過程中得到了xx老師的悉心指導(dǎo)。在硬件電路設(shè)計當(dāng)中xx老師幫助分析思路,開拓視角

115、;在軟件設(shè)計中陳老師幫助調(diào)試及修改程序。xx老師嚴(yán)謹(jǐn)求實的治學(xué)態(tài)度,踏實堅韌的工作精神將使我們終身受益。再多華麗的言語也顯得蒼白。在此,謹(jǐn)向xx老師致以誠摯的謝意和崇高的敬意!</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 李葉紫.王喜斌.胡輝.孫東輝.編著MCS_51單片機應(yīng)用教程清華大學(xué)出版社.2008.6.</p>&

116、lt;p>  [2] 陸劍.單片機應(yīng)用技術(shù)指導(dǎo)書 河南工業(yè)職業(yè)技術(shù)學(xué)院2005.12.[3] 汪道輝.單片機系統(tǒng)設(shè)計與實踐.電子工業(yè)出版社 </p><p> ?。?50頁 時、分、秒計時器設(shè)計,59頁 鍵盤及接口技術(shù)).</p><p>  [4] 第二版.51系列單片機設(shè)計實例.北京航空航天大學(xué)出版社(81—89頁 數(shù)碼管時鐘電路的設(shè)計).</p><

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

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論