單片機(jī)電子時(shí)鐘 畢業(yè)設(shè)計(jì)論文
《單片機(jī)電子時(shí)鐘 畢業(yè)設(shè)計(jì)論文》由會(huì)員分享,可在線閱讀,更多相關(guān)《單片機(jī)電子時(shí)鐘 畢業(yè)設(shè)計(jì)論文(33頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、 設(shè)計(jì)題目: 單片機(jī)電子時(shí)鐘 系 別: 應(yīng)用電子與通信技術(shù) 班 級(jí): 0991321 學(xué)生姓名: 王逸塵 指導(dǎo)教師: 孫平、徐秋景、姜濱、劉洋 成 績: 2012年9月7日 摘 要 單片機(jī) 即單片微型計(jì)算機(jī)。(Single-Chip Microco
2、mputer ),是 集 CPU ,RAM ,ROM ,定時(shí),計(jì)數(shù)和多種接口于一體的微控制器。他體積小,成本低,功能強(qiáng),廣泛應(yīng)用于工業(yè)自動(dòng)化上和智能產(chǎn)品。時(shí)鐘,自從它被發(fā)明的那天起,就成為了人類的好朋友,但隨著時(shí)間的推移,科學(xué)技術(shù)的不斷發(fā)展,時(shí)鐘的應(yīng)用越來越廣范,人們對時(shí)間計(jì)量的精度要求也越來越高。怎樣讓時(shí)鐘更好的為人民服務(wù),怎樣讓我們的老朋友再次煥發(fā)青春呢?這就要求我們不斷設(shè)計(jì)出新型的時(shí)鐘,來不斷滿足人們的日常生活需要。然而市場上的時(shí)鐘便宜的比較笨重,簡單實(shí)用的又比較昂貴。那么,有沒有一款既簡單實(shí)用價(jià)格又便宜的時(shí)鐘呢? 我們課程設(shè)計(jì)小組設(shè)想:可不可以利用單片機(jī)功能集成化高,價(jià)格又便宜的特點(diǎn)
3、設(shè)計(jì)一款結(jié)構(gòu)既簡單,價(jià)格又便宜的單片機(jī)電子時(shí)鐘呢? 基于這種情況,我們課程設(shè)計(jì)小組成員多方查閱資料,反復(fù)論證設(shè)計(jì)出了這款既簡單實(shí)用,又價(jià)格便宜的——單片機(jī)電子時(shí)鐘。 關(guān)鍵詞:單片機(jī) ; 時(shí)鐘 ; 計(jì)時(shí) 目 錄 第一章 緒 論………………………………………………1 1.1課題背景……………………………………………………1 1.2課題來源……………………………………………………1 第二章 MCS-51單片機(jī)的結(jié)構(gòu)………………………………3 2.1 控制器………………………………………………………3 2.2
4、 存儲(chǔ)器的結(jié)構(gòu)………………………………………………3 2.3 并行I/O口…………………………………………………4 2.4 時(shí)鐘電路與時(shí)序…………………………………………4 2.5單片機(jī)的應(yīng)用領(lǐng)域…………………………………………5 第三章 系統(tǒng)設(shè)計(jì)要求………………………………………6 3.1基本功能……………………………………………………6 3.2 擴(kuò)展功能……………………………………………………6 第四章 硬件總體設(shè)計(jì)方案………………………………….7 4.1系統(tǒng)功能實(shí)現(xiàn)總體設(shè)計(jì)思想………………………………7 44.2各部分功能實(shí)現(xiàn)…………………………………………8
5、 4.3系統(tǒng)工作原理………………………………………………8 4.4時(shí)鐘各功能分析及圖解……………………………………9 4.5電路功能使用說明…………………………………………12 第五章 軟件總體設(shè)計(jì)方案………………………………13 5.1 主程序流程圖……………………………………………13 5.2總中斷程序流程…………………………………………14 5.3控制電路的C語言源程序………………………………18 第六章 課程設(shè)計(jì)結(jié)果分析………………………………22 第七章 結(jié)論與展望………………………………………23 7.1 結(jié)論………………………………………………………23
6、 7.2 單片機(jī)的發(fā)展趨勢………………………………………23 致謝……………………………………………………………25 參考文獻(xiàn) ……………………………………………………26 緒 論 1.1課題背景 單片機(jī)自1976年由Intel公司推出MCS-48開始,迄今已有二十多年了。由于單片機(jī)集成度高、功能強(qiáng)、可靠性高、體積小、功耗地、使用方便、價(jià)格低廉等一系列優(yōu)點(diǎn),目前已經(jīng)滲入到人們工作和生活的方方面面,幾乎“無處不在,無所不為”。單片機(jī)的應(yīng)用領(lǐng)域已從面向工業(yè)控制、通訊、交通、智能儀表等迅速發(fā)展到家用消費(fèi)產(chǎn)品、辦公自動(dòng)化、汽車電子、PC機(jī)外圍以及網(wǎng)絡(luò)通訊等廣大領(lǐng)域。 單
7、片機(jī)有兩種基本結(jié)構(gòu)形式:一種是在通用微型計(jì)算機(jī)中廣泛采用的,將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器合用一個(gè)存儲(chǔ)器空間的結(jié)構(gòu),稱為普林斯頓結(jié)構(gòu)。另一種是將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器截然分開,分別尋址的結(jié)構(gòu),一般需要較大的程序存儲(chǔ)器,目前的單片機(jī)以采用程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器截然分開的結(jié)構(gòu)為多。 本文討論的單片機(jī)多功能定時(shí)器的核心是目前應(yīng)用極為廣泛的51系列單片機(jī),配置了外圍設(shè)備,構(gòu)成了一個(gè)可編程的計(jì)時(shí)定時(shí)系統(tǒng),具有體積小,可靠性高,功能強(qiáng)等特點(diǎn)。不僅能滿足所需要求而且還有很多功能可供開發(fā),有著廣泛的應(yīng)用領(lǐng)域。 20世紀(jì)80年代中期以后,Intel公司以專利轉(zhuǎn)讓的形式把8051內(nèi)核技術(shù)轉(zhuǎn)讓給許多半導(dǎo)體芯片生產(chǎn)廠家
8、,如ATMEL、PHILIPS、ANALOG、DEVICES、DALLAS等。這些廠家生產(chǎn)的芯片是MCS-51系列的兼容產(chǎn)品,準(zhǔn)確地說是與MCS-51指令系統(tǒng)兼容的單片機(jī)。這些兼容機(jī)與8051的系統(tǒng)結(jié)構(gòu)(主要是指令系統(tǒng))相同,采用CMOS工藝,因而,常用80C51系列來稱呼所有具有8051指令系統(tǒng)的單片機(jī),它們對8051單片機(jī)一般都作了一些擴(kuò)充,更有特點(diǎn)。其功能和市場競爭力更強(qiáng),不該把它們直接稱呼為MCS-51系列單片機(jī),因?yàn)镸CS只是Intel公司專用的單片機(jī)系列型號(hào)。MCS-51系列及80C51單片機(jī)有多種品種。它們的引腳及指令系統(tǒng)相互兼容,主要在內(nèi)部結(jié)構(gòu)上有些區(qū)別。目前使用的MCS-51
9、系列單片機(jī)及其兼容產(chǎn)品通常分成以下幾類:基本型、增強(qiáng)型、低功耗型、專用型、超8位型、片內(nèi)閃爍存儲(chǔ)器型。 1.2課題來源 在日常生活和工作中,我們常常用到定時(shí)控制,如擴(kuò)印過程中的曝光定時(shí)等。早期常用的一些時(shí)間控制單元都使用模擬電路設(shè)計(jì)制作的,其定時(shí)準(zhǔn)確性和重復(fù)精度都不是很理想,現(xiàn)在基本上都是基于數(shù)字技術(shù)的新一代產(chǎn)品,隨著單片機(jī)性能價(jià)格比的不斷提高,新一代產(chǎn)品的應(yīng)用也越來越廣泛,大可構(gòu)成復(fù)雜的工業(yè)過程控制系統(tǒng),完成復(fù)雜的控制功能。小則可以用于家電控制,甚至可以用于兒童電子玩具。它功能強(qiáng)大,體積小,質(zhì)量輕,靈活好用,配以適當(dāng)?shù)慕涌谛酒?,可以?gòu)造各種各樣、功能各異的微電子產(chǎn)品。 隨著電子技術(shù)的飛
10、速發(fā)展,家用電器和辦公電子設(shè)備逐漸增多,不同的設(shè)備都有自己的控制器,使用起來很不方便。根據(jù)這種實(shí)際情況,設(shè)計(jì)了一個(gè)單片機(jī)多功能定時(shí)系統(tǒng),它可以避免多種控制器的混淆,利用一個(gè)控制器對多路電器進(jìn)行控制,同時(shí)又可以進(jìn)行時(shí)鐘校準(zhǔn)和定點(diǎn)打鈴。它可以執(zhí)行不同的時(shí)間表(考試時(shí)間和日常作息時(shí)間)的打鈴,可以任意設(shè)置時(shí)間。這種具有人們所需要的智能化特性的產(chǎn)品減輕了人的勞動(dòng),擴(kuò)大了數(shù)字化的范圍,為家庭數(shù)字化提供了可能。 第二章 MCS-51單片機(jī)的結(jié)構(gòu) MCS-51單片機(jī)是把那些作為控制應(yīng)用所必需的基本內(nèi)容都集成在一個(gè)尺寸有限的集成電路芯片上。如果按功
11、能劃分,它由如下功能部件組成,即微處理器(CPU)、數(shù)據(jù)存儲(chǔ)器(RAM)、程序存儲(chǔ)器(ROM/EPROM)、并行I/O口、串行口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)及特殊功能寄存器(SFR)。它們都是通過片內(nèi)單一總線連接而成,其基本結(jié)構(gòu)依舊是CPU加上外圍芯片的傳統(tǒng)結(jié)構(gòu)模式。但對各種功能部件的控制是采用特殊功能寄存器(SFR)的集中控制方式。 2.1 控制器 控制器是單片機(jī)的指揮控制部件,控制器的主要任務(wù)是識(shí)別指令,并根據(jù)指令的性質(zhì)控制單片機(jī)各功能部件,從而保證單片機(jī)各部分能自動(dòng)而協(xié)調(diào)地工作。 單片機(jī)執(zhí)行指令是在控制器的控制下進(jìn)行的。首先從程序存儲(chǔ)器中讀出指令,送指令寄存器保存,然后送至指令譯碼器
12、進(jìn)行譯碼,譯碼結(jié)果送定時(shí)控制邏輯電路,由定時(shí)控制邏輯產(chǎn)生各種定時(shí)信號(hào)和控制信號(hào),再送到單片機(jī)的各個(gè)部件去進(jìn)行相應(yīng)的操作。這就是執(zhí)行一條指令的全過程,執(zhí)行程序就是不斷重復(fù)這一過程??刂破髦饕ǔ绦蛴?jì)數(shù)器、程序地址寄存器、指令寄存器IR、指令譯碼器、條件轉(zhuǎn)移邏輯電路及時(shí)序控制邏輯電路。 2.2 存儲(chǔ)器的結(jié)構(gòu) MCS-51單片機(jī)存儲(chǔ)器采用的是哈佛結(jié)構(gòu),即程序存儲(chǔ)器空間和數(shù)據(jù)存儲(chǔ)器空間截然分開,程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器各有自己的尋址方式,尋址空間和控制系統(tǒng)。 這種結(jié)構(gòu)對于單片機(jī)面向控制的實(shí)際應(yīng)用極為方便,有利.在8051/8751彈片擊中,不僅在片內(nèi)集成了一定容量的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器及眾多的
13、特殊功能寄存器,而且還具有極強(qiáng)的外存儲(chǔ)器的擴(kuò)展能力,尋址能力分別可達(dá)64KB,尋址和操作簡單方便.MCS-51的存儲(chǔ)器空間可劃分為如下幾類: 1. 程序存儲(chǔ)器 單片機(jī)系統(tǒng)之所以能夠按照一定的次序進(jìn)行工作,主要是程序存儲(chǔ)器中存放了經(jīng)調(diào)試正確的應(yīng)用程序和表格之類的固定常數(shù)。程序?qū)嶋H上是一串二進(jìn)制碼,程序存儲(chǔ)器可以分為片內(nèi)和片外兩部分。8031由于無內(nèi)部存儲(chǔ)器,所以只能外擴(kuò)程序存儲(chǔ)器來存放程序。 MCS-51單片機(jī)復(fù)位后,程序存儲(chǔ)器PC的內(nèi)容為0000H,故系統(tǒng)必須從0000H單元開始取指令,執(zhí)行程序.程序存儲(chǔ)器中的0000H地址是系統(tǒng)程序的啟動(dòng)地址.一般在該單元存放一條絕對跳轉(zhuǎn)指令,跳向用戶
14、設(shè)計(jì)的主程序的起始地址。 2. 內(nèi)部數(shù)據(jù)存儲(chǔ)器 MCS-51單片機(jī)內(nèi)部有128個(gè)字節(jié)的隨機(jī)存取存儲(chǔ)器RAM,作為用戶的數(shù)據(jù)寄存器,它能滿足大多數(shù)控制型應(yīng)用場合的需要,用作處理問題的數(shù)據(jù)緩沖器。 MCS-51單片機(jī)的片內(nèi)存儲(chǔ)器的字節(jié)地址為00H-7FH.MCS-51單片機(jī)對其內(nèi)部RAM的存儲(chǔ)器有很豐富的操作指令,從而使得用戶在設(shè)計(jì)程序時(shí)非常方便。地址為00H-1FH的32個(gè)單元是4組通用工作寄存器區(qū),每個(gè)區(qū)含8個(gè)8位寄存器,編號(hào)為R7-R0。用戶可以通過指令改變PSW中的RS1,RS0這二位來切換當(dāng)前的工作寄存器區(qū),這種功能給軟件設(shè)計(jì)帶來極大的方便,特別是在中斷嵌套時(shí),為實(shí)現(xiàn)工作寄存器現(xiàn)場
15、內(nèi)容保護(hù)提供了極大的方便。 3. 特殊功能寄存器(SFR-Special Function Register) 特殊功能寄存器反映了MCS-51單片機(jī)的狀態(tài),實(shí)際上是MCS-51單片機(jī)各功能部件的狀態(tài)及控制寄存器.SFR綜合的,實(shí)際的反應(yīng)了整個(gè)單片機(jī)基本系統(tǒng)內(nèi)部的工作狀態(tài)及工作方式.SFR實(shí)質(zhì)上是一些具有特殊功能的片內(nèi)RAM單元,字節(jié)地址范圍為80H-FFH.特殊功能寄存器的總數(shù)為21個(gè),離散的分布在該區(qū)域中,其中]有些SFR還可以進(jìn)行位尋址.128個(gè)字節(jié)的SFR塊中僅有21個(gè)字節(jié)是由定義的.對于尚未定義的字節(jié)地址單元,用戶不能作寄存器使用,若訪問沒有定義的單元,則將得到一個(gè)不確定的隨機(jī)數(shù)
16、. 2.3 并行I/O口 MCS-51單片機(jī)共有4個(gè)雙向的8位并行I/O端口(Port),分別記作P0-P3,共有32根口線,各口的每一位均由鎖存器、輸出驅(qū)動(dòng)器和輸入緩沖器所組成。實(shí)際上P0-P3已被歸入特殊功能寄存器之列。這四個(gè)口除了按字節(jié)尋址以外,還可以按位尋址。由于它們在結(jié)構(gòu)上有一些差異,故各口的性質(zhì)和功能有一些差異。 P0口是雙向8位三態(tài)I/O口,此口為地址總線(低8位)及數(shù)據(jù)總線分時(shí)復(fù)用口,可驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。P1口是8位準(zhǔn)雙向I/O口,可驅(qū)動(dòng)4個(gè)LS 型負(fù)載。P2口是8位準(zhǔn)雙向I/O口,與地址總線(高8位)復(fù)用,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。P3口是8位準(zhǔn)雙向I/O口
17、,是雙功能復(fù)用口,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。P1口、P2口、P3口各I/O口線片內(nèi)均有固定的上拉電阻,當(dāng)這3個(gè)準(zhǔn)雙向I/O口做輸入口使用時(shí),要向該口先寫“1”,另外準(zhǔn)雙向I/O口無高阻的“浮空”狀態(tài),故稱為雙向三態(tài)I/O 口。 2.4 時(shí)鐘電路與時(shí)序 時(shí)鐘電路用于產(chǎn)生MCS-51單片機(jī)工作時(shí)所必需的時(shí)鐘信號(hào)。MCS-51單片機(jī)本身就是一個(gè)復(fù)雜的同步時(shí)序電路,為保證同步工作方式的實(shí)現(xiàn),MCS-51單片機(jī)應(yīng)在唯一的時(shí)鐘信號(hào)控制下,嚴(yán)格地按時(shí)序執(zhí)行進(jìn)行工作,而時(shí)序所研究的是指令執(zhí)行中各個(gè)信號(hào)的關(guān)系。 在執(zhí)行指令時(shí),CPU首先要到程序存儲(chǔ)器中取出需要執(zhí)行的指令操作碼,然后譯碼,并由時(shí)序電路產(chǎn)
18、生一系列控制信號(hào)去完成指令所規(guī)定的操作。CPU發(fā)出的時(shí)序信號(hào)有兩類,一類用于片內(nèi)對各個(gè)功能部件的控制,這列信號(hào)很多。另一類用于片外存儲(chǔ)器或I/O端口的控制,這部分時(shí)序?qū)τ诜治觥⒃O(shè)計(jì)硬件接口電路至關(guān)重要。這也是單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)者普遍關(guān)心的問題。 2.5 單片機(jī)的應(yīng)用領(lǐng)域 單片機(jī)應(yīng)用領(lǐng)域可以歸納為以下幾個(gè)方面。 1.智能儀表 用單片機(jī)系統(tǒng)取代老式的測量、控制儀表,實(shí)現(xiàn)從模擬儀表向數(shù)字化、智能化儀表的轉(zhuǎn)化,如各種溫度儀表、壓力儀表、流量儀表、電能計(jì)量儀表等。 2. 測控系統(tǒng) 用單片機(jī)取代原有的復(fù)雜的模擬數(shù)字電路,完成各種工業(yè)控制、數(shù)據(jù)采集系統(tǒng)等工作。 3.電能
19、變換 應(yīng)用單片機(jī)設(shè)計(jì)變頻調(diào)速控制電路。 4.通信 用單片機(jī)開發(fā)通信模塊、通信器材等。 5.機(jī)電產(chǎn)品 應(yīng)用單片機(jī)檢測、控制傳統(tǒng)的機(jī)械產(chǎn)品,使傳統(tǒng)的機(jī)械產(chǎn)品結(jié)構(gòu)簡化,控制智能化,提高了機(jī)電產(chǎn)品的可靠性,增強(qiáng)了產(chǎn)品的功能。 6.智能接口 在數(shù)據(jù)傳輸中,用單片機(jī)實(shí)現(xiàn)外部設(shè)備與微機(jī)通信。 第三章 系統(tǒng)設(shè)計(jì)要求 3.1基本功能 (1)能夠顯示時(shí)分秒 (2)能夠調(diào)整時(shí)分秒 3.2 擴(kuò)展功能 (1)能夠任意設(shè)置定時(shí)時(shí)間 (2)定時(shí)時(shí)間到鬧鈴能夠報(bào)警 (3)實(shí)現(xiàn)了秒表功能
20、 第四章 硬件總體設(shè)計(jì)方案 用一揚(yáng)聲器來本次設(shè)計(jì)時(shí)鐘電路,使用了AT89C51單片機(jī)芯片控制電路,單片機(jī)控制電路簡單且省去了很多復(fù)雜的線路,使得電路簡明易懂,使用鍵盤鍵上的按鍵來調(diào)整時(shí)鐘的時(shí)、分、秒,進(jìn)行定時(shí)提醒,同時(shí)使用C語言程序來控制整個(gè)時(shí)鐘顯示,使得編程變得更容易,這樣通過四個(gè)模塊:鍵盤、芯片、揚(yáng)聲器、顯示屏即可滿足設(shè)計(jì)要求。 4.1系統(tǒng)功能實(shí)現(xiàn)總體設(shè)計(jì)思路 如圖4-10 所示為AT89S51芯片的引腳圖 此設(shè)計(jì)原理框圖如圖4-11所示,此電路包括以下四個(gè)部分:單片機(jī),鍵盤,鬧鈴電路及顯示電路。 圖4-11 設(shè)計(jì)原理框圖 經(jīng)多方論證硬件
21、我們小組采用AT89C51單片機(jī)和7SED八位共陽極數(shù)碼管等來實(shí)現(xiàn)單片機(jī)電子時(shí)鐘的功能。 詳細(xì)元器件列表如表4.12所示: 表4.12 詳細(xì)元器件列表 AT89c51 1片 7SED八位共陽極數(shù)碼管 1片 NPN三極管 1個(gè) 104p電容 6個(gè) 30p電容 2個(gè) 10K電阻 6個(gè) 560歐姆電阻 8個(gè) 200歐姆電阻 1個(gè) 100歐姆電阻 6個(gè) 4.2各部分功能實(shí)現(xiàn) (1) 單片機(jī)發(fā)送的信號(hào)通過程序控制最終在數(shù)碼管上顯示出來。 (2) 單片機(jī)通過輸出各種電脈沖信號(hào)來驅(qū)動(dòng)控制各部分正常工作。 (3) 為使時(shí)鐘走時(shí)與標(biāo)準(zhǔn)時(shí)間一致,校時(shí)電路
22、是必不可少的,鍵盤用來校正數(shù)碼管上顯示的時(shí)間。 單片機(jī)通過控制鬧鈴電路來完成 定時(shí)鬧鐘的功能 4.3系統(tǒng)工作原理 設(shè)計(jì)的電路主要由四模塊構(gòu)成:單片機(jī)控制電路,顯示電路、鬧鈴電路以及校正電路。 詳細(xì)電路功能圖如圖4-30: 詳細(xì)電路功能圖如圖4-30 本設(shè)計(jì)采用C語言程序設(shè)計(jì),使單片機(jī)控制數(shù)碼管顯示時(shí)、分、秒,當(dāng)秒計(jì)數(shù)計(jì)滿60時(shí)就向分進(jìn)位,分計(jì)數(shù)器計(jì)滿60后向時(shí)計(jì)數(shù)器進(jìn)位,小時(shí)計(jì)數(shù)器按“23翻0”規(guī)律計(jì)數(shù)。時(shí)、分、秒的計(jì)數(shù)結(jié)果經(jīng)過數(shù)據(jù)處理可直接送顯示器顯示。當(dāng)計(jì)時(shí)發(fā)生誤差的時(shí)候可以用校時(shí)電路進(jìn)行校正。設(shè)計(jì)采用的
23、是時(shí)、分、秒顯示,單片機(jī)對數(shù)據(jù)進(jìn)行處理同時(shí)在數(shù)碼管上顯示。 4.4時(shí)鐘各功能分析及圖解 (1) 時(shí)鐘運(yùn)行圖 仿真開始運(yùn)行時(shí),或按下key4鍵時(shí),時(shí)鐘從12:00:00開始運(yùn)行,其中key2鍵對分進(jìn)行調(diào)整,key3對小時(shí)進(jìn)行調(diào)整,key6可以讓時(shí)鐘暫停。 時(shí)鐘運(yùn)行圖如圖 4-41 所示: (2)秒表計(jì)時(shí)圖 當(dāng)按下key1鍵進(jìn)入秒表計(jì)時(shí)狀態(tài),key6是秒表暫停鍵,可按key4鍵跳出秒表計(jì)時(shí)狀態(tài)。 秒表計(jì)時(shí)圖如圖 4-42所示: 圖4-41 時(shí)鐘運(yùn)行圖 圖4-42 秒表計(jì)時(shí)圖 (3)鬧鈴設(shè)置
24、圖及運(yùn)行圖 當(dāng)按下key5,開始定時(shí),分別按key2調(diào)分,key3調(diào)時(shí)設(shè)置鬧鈴時(shí)間,然后按下key4鍵恢復(fù)時(shí)鐘運(yùn)行狀態(tài)(圖4-43)當(dāng)鬧鈴設(shè)置時(shí)間到時(shí),蜂鳴器將發(fā)出10秒中蜂鳴聲(圖4-44)。 圖4-43 鬧鈴時(shí)間設(shè)置圖 該數(shù)字鐘是用一片AT89C51單片機(jī)通過編程去驅(qū)動(dòng)8個(gè)數(shù)碼管實(shí)現(xiàn)的。通過6個(gè)開關(guān)控制,從上到下6個(gè)開關(guān)KEY1-KEY6的功能分別為:KEY1,切換至秒表;KEY2,調(diào)節(jié)時(shí)間,每調(diào)一次時(shí)加1;KEY3, 調(diào)節(jié)時(shí)間,每調(diào)一次分加1;KEY4,從其它狀態(tài)切換至?xí)r鐘狀態(tài);KEY5,切換至鬧鐘設(shè)置狀態(tài),也可以
25、對秒表清零;KEY6,秒表暫停.控制鍵分別與P1.0~P1.5口連接.其中: A通過P2口和P3口去控制數(shù)碼管的顯示如圖所示P2口接數(shù)碼管的a——g端,是控制輸出編碼,P3口接數(shù)碼管的1——8端,是控制動(dòng)態(tài)掃描輸出. B從P0.0輸出一個(gè)信號(hào)使二極管發(fā)光,二極管在設(shè)置的鬧鐘時(shí)間到了時(shí)候發(fā)光,若有樂曲可以去驅(qū)動(dòng)揚(yáng)聲器實(shí)現(xiàn)。 圖4-44 鬧鈴運(yùn)行圖 4.5電路功能使用說明 (1) 各個(gè)控制鍵的功能:可對時(shí)間進(jìn)行校準(zhǔn)調(diào)節(jié)(只能加1);按下設(shè)置鍵數(shù)字時(shí)鐘進(jìn)入鬧鐘設(shè)置狀態(tài),設(shè)置鬧鐘的時(shí)間;時(shí)加1、分加1鍵是在校
26、準(zhǔn)時(shí)間時(shí)或設(shè)置鬧鐘時(shí)間對小時(shí)數(shù)或分鐘數(shù)調(diào)節(jié)而設(shè)置的;按下秒切換鍵就可以進(jìn)入秒表模式,同時(shí)秒表也開始計(jì)時(shí),按下秒表暫停、復(fù)位鍵就暫停、歸零,如果要重新對秒計(jì)時(shí)則可以按秒表開始、復(fù)位;清零鍵可以對鬧鐘清零。 (2) AT89C51單片機(jī),通過編寫程序?qū)?shù)碼顯示進(jìn)行控制。 (3) 八個(gè)7段數(shù)碼管顯示時(shí)鐘和秒表信號(hào) 第五章 軟件總體設(shè)計(jì)方案 5.1 主程序流程圖 軟件程序從開始執(zhí)行,先通過初始化各個(gè)寄存器,經(jīng)過掃描按鍵來決定是否設(shè)定參數(shù)來執(zhí)行相應(yīng)功能的程序,進(jìn)而在數(shù)碼管上顯示。如圖5-10:
27、 圖3-1 主程序流程圖 5.2總中斷程序流程 圖5-20 中斷流程圖 時(shí)間的顯示通過此中斷程序來控制,并且通過與設(shè)定的時(shí)間進(jìn)行比較來判斷是否讓鬧鈴工作。程序中包含時(shí)間的設(shè)定,如設(shè)定tcount來使秒等工作,進(jìn)而來控制分和時(shí)。如上圖圖5-20。 A. 秒表中斷程序流程 秒表功能通過另一個(gè)程序來實(shí)現(xiàn)。通
28、過保護(hù)主程序的數(shù)據(jù)來進(jìn)行秒表功能。程序中需要設(shè)置秒表的具體顯示方法。如圖5-3: N
29、 N 圖5-3秒表中斷程序流程圖 B.按鍵程序流程 圖5-4為時(shí)鐘和鬧鐘的調(diào)節(jié),程序中通過掃描來判斷按鍵是否按下進(jìn)行時(shí)間和鬧鐘的調(diào)節(jié)。 圖5-4按鍵程序流程圖 圖5-5為進(jìn)入中斷和
30、清零圖,程序中通過掃描來判斷按鍵是否按下進(jìn)行執(zhí)行相應(yīng)的中斷來事實(shí)現(xiàn)相應(yīng)的功能。
圖5-5 中斷和清零程序流程圖
5.3控制電路的C語言源程序
根據(jù)流程圖,經(jīng)過認(rèn)真分析得出控制電路的源程序如下:
#include
31、 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 SEG7[11]={0xC0,/*0*/ 0xF9,/*1*/ 0xA4,/*2*/
32、 0xB0,/*3*/ 0x99,/*4*/ 0x92,/*5*/ 0x82,/*6*/ 0xF8,/*7*/ 0x80,/*8*/ 0x90,/*9*/ 0xBF,/*-*/ };/*數(shù)字顯示數(shù)組*/ sbit miaobiao1=P1^0; s
33、bit tminute=P1^1; sbit thour=P1^2; sbit miaobiao2=P1^3; sbit alarm=P1^4; sbit P0_0=P0^0; sbit P1_5=P1^5; sbit P1_6=P1^6; sbit P1_7=P1^7;/*端口定義*/ uchar ms=0; uchar flag=0; uchar sec=0; uchar minit=0; struct time{uchar second;uchar minute;uchar hour;}time1; uchar n,i; void delay(n)
34、{while(n--) { for(i=120;i>0;i--); } } /*延時(shí)子程序*/ void modify(void) { EA=0; if(thour==0) { if(flag==0) { dat1[6]++;delay(280); if(dat1[6]>9) { dat1[6]=0; dat1[7]++; } else if((dat1[7]>1)&&(dat1[6]>3)) {dat1[7]=0; dat1[6]=0; } } if
35、(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
36、]>=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]; }
37、 } 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; sec=0; minit=0; } if(P1_5==0) { TR0=0;ET0=0;TR1=0;ET1=0;
38、} 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; }/*按鍵掃描*/ void init(void) { TMOD = 0x11; TH0 = 0xDB; TL0 =0xFF; TH1=0xDB; TL1=0xFF; ET0 = 1; //10m
39、s ET1=1; // TR1=1; TR0=1; tcount=0; ms=0; sec=0; minit=0; EA = 1; }/*初始化*/ void test(void){ for(k=0;k<8;k++) { P3=dis_bit[k]; P2=SEG7[dat[k]]; delay(1); P3=0X00; } }/*數(shù)字顯示*/ void main() {init(); delay(10); while(1) { modify(); test();
40、 } }/*主函數(shù)*/ Void diplay() interrupt 1 { ET0=0; TR0=0; TH0 = 0xDB; TL0 = 0xff; TR0=1; tcount++; if(tcount==100) { time1.second++; tcount=0; dat1[0]=(time1.second)%10; dat1[1]=(time1.second)/10; } if(time1.second==60) { dat1[0]=0;
41、 dat1[1]=0; time1.second=0; time1.minute++; dat1[3]=(time1.minute)%10; dat1[4]=(time1.minute)/10; } if(time1.minute==60) { time1.minute=0; time1.hour++; dat1[6]=time1.hour%10; dat1[7]=time1.hour/10; } if(time1.hour>23) { time1.hour=
42、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)) {
43、 P0=0x00; } ET0=1; } void time_2(void)interrupt 3 { EA=0; TR0=0; TH1=0xDB; TL1=0xFF; TR1=1; ms++; dat2[0]=ms%10; dat2[1]=ms/10; if(ms>=100) { ms=0; sec++; dat2[3]=sec%10; dat2[4]=sec/10; if(sec>=60) { sec=
44、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 第六章 課程設(shè)計(jì)結(jié)果分析 此時(shí)鐘設(shè)計(jì)是利用protues仿真軟件進(jìn)行仿真,基本上實(shí)現(xiàn)了課程設(shè)
45、計(jì)要求實(shí)現(xiàn)的功能。 硬件部分設(shè)置了的六個(gè)按鍵。當(dāng)按鍵一按下時(shí),進(jìn)入秒表顯示狀態(tài),秒表開始計(jì)時(shí),當(dāng)按鍵六按下時(shí),秒表暫停;當(dāng)按鍵四按下時(shí)恢復(fù)到時(shí)間顯示功能;當(dāng)按鍵二按下時(shí),進(jìn)入調(diào)分狀態(tài),按一次,分加一,60一循環(huán);按鍵三按下時(shí),進(jìn)入調(diào)時(shí)狀態(tài),按一次,時(shí)加一,60一循環(huán);按鍵五按下時(shí),進(jìn)入鬧鈴設(shè)置功能,緊接著按下按鍵二和按鍵三進(jìn)行時(shí)和分的設(shè)置,再按下按鍵4恢復(fù)顯示時(shí)間,當(dāng)顯示的時(shí)間和定時(shí)設(shè)置的時(shí)間一致時(shí),蜂鳴器發(fā)出蜂鳴聲,蜂鳴時(shí)間我們設(shè)置為10秒。 另外,鬧鈴電路有音樂鬧鐘的擴(kuò)展的功能(可以將蜂鳴器換成揚(yáng)聲器再加一段音樂程序即可實(shí)現(xiàn))。 調(diào)試階段,出現(xiàn)一些問題。比如,實(shí)際小時(shí)顯示到29才歸零
46、,分鐘顯示到60才進(jìn)一……經(jīng)過軟件調(diào)試,以上問題均一一排除,結(jié)果達(dá)到預(yù)期目標(biāo)。但時(shí)間有限,部分?jǐn)U展功能不能及時(shí)實(shí)現(xiàn),比如音樂鬧鈴。 第七章 結(jié)論與展望 7.1 結(jié)論 單片機(jī)多功能定時(shí)系統(tǒng)理論上能很好的達(dá)到了學(xué)校教學(xué)要求,發(fā)揮了單片機(jī)在智能化方面的應(yīng)用。該系統(tǒng)的設(shè)計(jì)很好的滿足當(dāng)前學(xué)校教學(xué)的需要,是一個(gè)理想的智能化的
47、設(shè)計(jì)。它具有一個(gè)走時(shí)精確的實(shí)時(shí)鐘,可以任意設(shè)置時(shí)間,可以控制時(shí)間表的轉(zhuǎn)換,時(shí)鐘的顯示功能等。可以通過按鍵操作和數(shù)字顯示。該系統(tǒng)規(guī)模小,但是功能較多,操作簡單,造價(jià)低,應(yīng)用非常廣泛。該系統(tǒng)的設(shè)計(jì)為向家庭數(shù)字化方向發(fā)展又前進(jìn)了一步。同時(shí)又?jǐn)U大了單片機(jī)的應(yīng)用領(lǐng)域。 7.2 單片機(jī)的發(fā)展趨勢 自單片機(jī)出現(xiàn)至今,單片機(jī)技術(shù)已走過了幾十年的發(fā)展路程??v觀幾十年來單片機(jī)發(fā)展歷程可以看出,單片機(jī)技術(shù)的發(fā)展以微處理器(MPU)技術(shù)及超大規(guī)模集成電路技術(shù)的發(fā)展為先導(dǎo),拉動(dòng)廣泛的應(yīng)用領(lǐng)域,表現(xiàn)出比微處理器更具個(gè)性的發(fā)展趨勢: 1.采用先進(jìn)結(jié)構(gòu)以實(shí)現(xiàn)高性能 在過去的一段時(shí)間內(nèi),單片機(jī)的指令運(yùn)行速度一直
48、在10MIPS以下,這對于應(yīng)用在工業(yè)控制領(lǐng)域內(nèi)的單片機(jī)來說是足夠了,但當(dāng)單片機(jī)被應(yīng)用在通訊及DSP領(lǐng)域作為高速運(yùn)算、編碼或解碼時(shí),就會(huì)出現(xiàn)因指令運(yùn)行速度不夠而限制單片機(jī)應(yīng)用的情形,因此提高單片機(jī)指令運(yùn)行速度已經(jīng)成為迫切需要解決的問題。 2.進(jìn)一步降低功耗、 基于80C51的飛利浦低功率、低系統(tǒng)成本微控制器51LPC系列是業(yè)界推動(dòng)單片機(jī)向低功耗方向發(fā)展的主導(dǎo)單片機(jī)系列之一。51LPC系列單片機(jī)采用以下三種方法降低功耗: (1)使系統(tǒng)進(jìn)入空閑模式,在空閑模式下,只有外圍器件在工作,任意的復(fù)位及中斷均可結(jié)束空閑模式; (2)使系統(tǒng)進(jìn)入低功耗模式,在低功耗模式下,振蕩器停止工作,是功耗降到最小
49、 (3)使系統(tǒng)進(jìn)入低電壓EPROM操作;EPROM包含了模擬電路,當(dāng)Vcc高于4V時(shí),可通過軟件使這些模擬電路掉電以降低功耗,在上電情況下可使系統(tǒng)退出該模式。 3.采用Flash Memory 隨著半導(dǎo)體工藝技術(shù)的不斷進(jìn)步,MPU的Flash版本逐漸替代了原有的OTP版本。Flash MPU具有以下優(yōu)點(diǎn):與多次可編程的窗口式EPROM相比,F(xiàn)lash MPU的成本要低得多;在系統(tǒng)編程能力以及產(chǎn)品生產(chǎn)方面提供了靈活性,因?yàn)镕lash MPU可在編程后面再次以新代碼重新編程;可減少已編程器件的報(bào)廢和庫存;有助于生產(chǎn)廠商縮短設(shè)計(jì)周期,使終端用戶產(chǎn)品和、更具有競爭力。 4.集成更多功能及兼容性
50、 目前單片機(jī)的另一個(gè)發(fā)展趨勢是在芯片上集成更多的功能。如模擬功能,包括模擬比較器、A/D和D/A轉(zhuǎn)換器等。具體表現(xiàn)在:兼容性作為設(shè)計(jì)的第一考慮;額外的新的特點(diǎn)是透明的;使用同一種編程器;OTP使器件快速提升及標(biāo)準(zhǔn)化成為可能。 5.強(qiáng)抗干擾能力 不斷加強(qiáng)抗干擾能力是單片機(jī)進(jìn)一步發(fā)展的必然趨勢。ST Microelectronics公司推出的ST62系列單片機(jī)在這方面是佼佼者,其優(yōu)良的抗干擾能力使得許多大公司將其應(yīng)用在系統(tǒng)中的關(guān)鍵部件上。許多單片機(jī)開發(fā)商也正朝著這個(gè)方向努力。 6.朝系列化、全面化方向發(fā)展 各大單片機(jī)開發(fā)商在增加產(chǎn)品功能的同時(shí)效力于形成產(chǎn)品的系列化=全面化,以滿足各種控制
51、領(lǐng)域的要求,這也是單片機(jī)發(fā)展的趨勢之一。日本TOSHBA公司開發(fā)了從4位到64位的多系列單片機(jī),日立公司也有從4.位到32位的單片機(jī),目前還沒有哪個(gè)廠家生產(chǎn)的單片機(jī)比東芝公司的種類多。 隨著單片機(jī)性能的不斷提高,不斷的克服和彌補(bǔ)自身的不足。在各種控制領(lǐng)域,單片機(jī)將擁有更加廣闊的使用天地。在很長的一段時(shí)間內(nèi),它將一直是工程設(shè)計(jì)人員的首選控制芯片之一。 致 謝 本課題在選題及進(jìn)行過程中得到了席東河老師的悉心指導(dǎo)。在硬件電路設(shè)計(jì)當(dāng)中席老師幫助分析思路,開拓視角;在軟件設(shè)計(jì)中席老師幫助調(diào)試及修改程序。席老師嚴(yán)謹(jǐn)求實(shí)的治學(xué)態(tài)度,踏實(shí)堅(jiān)韌的工作精神將使我們終身受
52、益。再多華麗的言語也顯得蒼白。在此,謹(jǐn)向席東河老師致以誠摯的謝意和崇高的敬意! 參考文獻(xiàn) [1] 李葉紫.王喜斌.胡輝.孫東輝.編著MCS_51單片機(jī)應(yīng)用教程清華大學(xué)出版社.2008.6. [2] 陸劍.單片機(jī)應(yīng)用技術(shù)指導(dǎo)書 河南工業(yè)職業(yè)技術(shù)學(xué)院2005.12. [3] 汪道輝.單片機(jī)系統(tǒng)設(shè)計(jì)與實(shí)踐.電子工業(yè)
53、出版社 ( 50頁 時(shí)、分、秒計(jì)時(shí)器設(shè)計(jì),59頁 鍵盤及接口技術(shù)). [4] 第二版.51系列單片機(jī)設(shè)計(jì)實(shí)例.北京航空航天大學(xué)出版社(81—89頁 數(shù)碼管時(shí)鐘電路的設(shè)計(jì)). [5] 辛友順、胡永生、薛小玲.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).福建科學(xué)技術(shù)出版社(184-186頁 LED顯示接口,190-193頁 鍵盤接口). [6] 黃慶華、張永格.單片機(jī)開發(fā) 與實(shí)例.電子工業(yè)出版社(127-162頁 數(shù)字式電子時(shí)鐘的設(shè)計(jì)). [7] 閆玉德、俞紅.MCS-51單片機(jī)原理與應(yīng)用(C語言版).機(jī)械工業(yè)出版社(49-104頁 單片機(jī)的C程序設(shè)計(jì)). [8] 求是科技.單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航.人民郵電出版社(85-90頁 單片機(jī)數(shù)字時(shí)鐘). [9] 劉守義,王靜霞?!秵纹瑱C(jī)應(yīng)用技術(shù)》.西安電子科技大學(xué)出版社,2002.
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025《增值稅法》高質(zhì)量發(fā)展的增值稅制度規(guī)范增值稅的征收和繳納
- 深入學(xué)習(xí)《中華人民共和國科學(xué)技術(shù)普及法》推進(jìn)實(shí)現(xiàn)高水平科技自立自強(qiáng)推動(dòng)經(jīng)濟(jì)發(fā)展和社會(huì)進(jìn)步
- 激揚(yáng)正氣淬煉本色踐行使命廉潔從政黨課
- 加強(qiáng)廉潔文化建設(shè)夯實(shí)廉政思想根基培育風(fēng)清氣正的政治生態(tài)
- 深入學(xué)習(xí)2024《突發(fā)事件應(yīng)對法》全文提高突發(fā)事件預(yù)防和應(yīng)對能力規(guī)范突發(fā)事件應(yīng)對活動(dòng)保護(hù)人民生命財(cái)產(chǎn)安全
- 2023年四年級(jí)數(shù)學(xué)上冊第一輪單元滾動(dòng)復(fù)習(xí)第10天平行四邊形和梯形作業(yè)課件新人教版
- 2023年四年級(jí)數(shù)學(xué)上冊第14單元階段性綜合復(fù)習(xí)作業(yè)課件新人教版
- 2023年四年級(jí)數(shù)學(xué)上冊易錯(cuò)清單十五課件新人教版
- 2023年四年級(jí)數(shù)學(xué)上冊易錯(cuò)清單七課件西師大版
- 2023年五年級(jí)數(shù)學(xué)下冊易錯(cuò)清單六作業(yè)課件北師大版
- 2023年五年級(jí)數(shù)學(xué)下冊易錯(cuò)清單二作業(yè)課件北師大版
- 2023年五年級(jí)數(shù)學(xué)下冊四分?jǐn)?shù)的意義和性質(zhì)第10課時(shí)異分母分?jǐn)?shù)的大小比較作業(yè)課件蘇教版
- 2023年五年級(jí)數(shù)學(xué)下冊周周練四作業(yè)課件北師大版
- 2023年五年級(jí)數(shù)學(xué)下冊六折線統(tǒng)計(jì)圖單元復(fù)習(xí)卡作業(yè)課件西師大版
- 2023年四年級(jí)數(shù)學(xué)上冊6除數(shù)是兩位數(shù)的除法單元易錯(cuò)集錦一作業(yè)課件新人教版