![畢業(yè)論文:智能定時(shí)器設(shè)計(jì)_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-4/7/6035168b-ac70-4234-8da3-c9e164b3d0a1/6035168b-ac70-4234-8da3-c9e164b3d0a11.gif)
![畢業(yè)論文:智能定時(shí)器設(shè)計(jì)_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-4/7/6035168b-ac70-4234-8da3-c9e164b3d0a1/6035168b-ac70-4234-8da3-c9e164b3d0a12.gif)
![畢業(yè)論文:智能定時(shí)器設(shè)計(jì)_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-4/7/6035168b-ac70-4234-8da3-c9e164b3d0a1/6035168b-ac70-4234-8da3-c9e164b3d0a13.gif)
![畢業(yè)論文:智能定時(shí)器設(shè)計(jì)_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-4/7/6035168b-ac70-4234-8da3-c9e164b3d0a1/6035168b-ac70-4234-8da3-c9e164b3d0a14.gif)
![畢業(yè)論文:智能定時(shí)器設(shè)計(jì)_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-4/7/6035168b-ac70-4234-8da3-c9e164b3d0a1/6035168b-ac70-4234-8da3-c9e164b3d0a15.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、畢業(yè)設(shè)計(jì)(論文)專 業(yè) aaaaaaa 班 次 aaaaa 姓 名 aaa 指導(dǎo)老師 aaa 成都工業(yè)學(xué)院二0一 五 年 智能定時(shí)器設(shè)計(jì) 摘要:定時(shí)器的數(shù)字化給人們生產(chǎn)生活帶來(lái)了極大的方便,同時(shí)定時(shí)器的集成化受廣大消費(fèi)的喜愛(ài), 因此得到了廣泛的使用。定時(shí)器是采用數(shù)字電路實(shí)現(xiàn)對(duì)“時(shí)”、“分”、“秒”數(shù)字顯示的計(jì)時(shí)裝置。定時(shí)器的精度、穩(wěn)定度遠(yuǎn)遠(yuǎn)超過(guò)老式定時(shí)器。在這次設(shè)計(jì)中,我們采用led數(shù)碼管顯示時(shí)、分、秒,以24 小時(shí)計(jì)時(shí)方式,根據(jù)數(shù)碼管動(dòng)態(tài)顯示原理來(lái)進(jìn)行顯示,用12mhz的晶振產(chǎn)生振蕩脈沖,定時(shí)器計(jì)數(shù)。在此次設(shè)計(jì)中,電路具有顯示時(shí)間的其本功能,還可以實(shí)現(xiàn)對(duì)時(shí)間的調(diào)整。 本次設(shè)計(jì)定時(shí)器主要通過(guò)單
2、片機(jī)系統(tǒng)將傳輸?shù)臄?shù)據(jù)顯示在數(shù)碼顯示管和led燈上,從而實(shí)現(xiàn)的鬧鐘、整點(diǎn)報(bào)時(shí)、時(shí)間顯示、校對(duì)時(shí)間等一系列的的操作。關(guān)鍵詞: 定時(shí)器; 單片機(jī); stc89c52目 錄摘 要11 引 言11.定時(shí)器的背景11.2定時(shí)器的意義11.3定時(shí)器的應(yīng)用11.4主要設(shè)計(jì)任務(wù)22 整體設(shè)計(jì)方案32.1 定時(shí)器的功能及設(shè)計(jì)要求32.2 定時(shí)器的實(shí)現(xiàn)形式32.3 實(shí)現(xiàn)定時(shí)器計(jì)時(shí)的基本方法43 定時(shí)器硬件系統(tǒng)的設(shè)計(jì)63.1 定時(shí)器主控電路cpu的選擇63.2 定時(shí)器主控電路最小應(yīng)用系統(tǒng)103.3 鍵盤(pán)及其接口113.3.1按鍵的去抖處理113.3.2定時(shí)器按鍵電路113.4 蜂鳴器電路123.5 數(shù)碼管顯示電路13
3、4 定時(shí)器軟件系統(tǒng)的設(shè)計(jì)164.1 主程序流程圖164.2 中斷流程圖174.3 定時(shí)程序設(shè)計(jì)195 定時(shí)器的系統(tǒng)調(diào)試仿真與測(cè)試205.1 調(diào)試205.2 仿真215.3 測(cè)試236 總 結(jié)25致 謝26參考文獻(xiàn)27附件一:定時(shí)器電路圖28附件二:元器件清單29附件三:源程序31第1章 引 言1.1數(shù)字定時(shí)器的背景 20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動(dòng)下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會(huì)的各個(gè)領(lǐng)域,有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來(lái)越快。時(shí)間對(duì)人們來(lái)說(shuō)總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時(shí)間。忘記
4、了要做的事情,當(dāng)事情不是很重要的時(shí)候,這種遺忘無(wú)傷大雅。但是,一旦重要事情,一時(shí)的耽誤可能釀成大禍。目前,單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢(shì)將是進(jìn)一步向著cmos化、低功耗、小體積、大容量、高性能、低價(jià)格和外圍電路內(nèi)裝化等幾個(gè)方面發(fā)展。單片機(jī)應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能,現(xiàn)在已能用單片機(jī)通過(guò)軟件方法來(lái)實(shí)現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。單片機(jī)模塊中最常見(jiàn)的是數(shù)字鐘,數(shù)字鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無(wú)
5、機(jī)械裝置,具有更更長(zhǎng)的使用壽命,因此得到了廣泛的使用。1.2數(shù)字定時(shí)器的意義定時(shí)器是采用數(shù)字電路實(shí)現(xiàn)對(duì)時(shí)、分、秒。數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭、車站,、碼頭辦公室等公共場(chǎng)所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過(guò)老式定時(shí)器, 定時(shí)器的數(shù)字化給人們生產(chǎn)生活帶來(lái)了極大的方便,而且大大地?cái)U(kuò)展了定時(shí)器原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)起閉路燈、定時(shí)開(kāi)關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以定時(shí)器數(shù)字化為基礎(chǔ)的。因此,研究定時(shí)器及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)
6、實(shí)的意義。1.3數(shù)字定時(shí)器的應(yīng)用 數(shù)字定時(shí)器已成為人們?nèi)粘I钪械谋匦杵?,廣泛用于個(gè)人家庭以及車站、碼頭、劇場(chǎng)、辦公室等公共場(chǎng)所,給人們的生活、學(xué)習(xí)、工作、娛樂(lè)帶來(lái)極大的方便。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),使定時(shí)器具有走時(shí)準(zhǔn)確、性能穩(wěn)定、攜帶方便等優(yōu)點(diǎn),它還用于計(jì)時(shí)、自動(dòng)報(bào)時(shí)及自動(dòng)控制等各個(gè)領(lǐng)域。 1.4主要設(shè)計(jì)任務(wù)本次設(shè)計(jì)需要完成的設(shè)計(jì)不僅僅是完成畢業(yè)設(shè)計(jì)而已,更主要的是通過(guò)本次本次的設(shè)計(jì)更好的來(lái)回顧三年所學(xué)的知識(shí),老師們的辛勤奉獻(xiàn)自己究竟學(xué)到了什么,同時(shí)也是自己對(duì)自己即將結(jié)束的大學(xué)生活畫(huà)個(gè)句號(hào),為即將來(lái)到的工作作出了是實(shí)際性的準(zhǔn)備,不僅僅是以往那種只學(xué)習(xí)書(shū)面知識(shí)而已,更
7、多的是鍛煉自己實(shí)際操作的能力,也算是在進(jìn)入工作前給自己的一個(gè)啟發(fā)。然而就本次設(shè)計(jì)的定時(shí)器而言要完成的任務(wù)有:(1) 完成硬件電路的設(shè)計(jì),包括數(shù)字鐘最小系統(tǒng)設(shè)計(jì)、按鍵電路、電源電路、 蜂鳴器電路、二極管指示燈和led數(shù)碼管顯示電路。(2)完成軟件程序的編寫(xiě)和編譯,使系統(tǒng)具備如下功能:時(shí)間顯示、校對(duì) 時(shí)間、鬧鈴、報(bào)時(shí)等功能。(3)完成電路的模擬仿真。(4)完成實(shí)物的焊接及測(cè)試。第2章 整體設(shè)計(jì)方案2.1 定時(shí)器的功能及設(shè)計(jì)要求(1)通過(guò)單片機(jī)內(nèi)定時(shí)器控制走時(shí),準(zhǔn)確持續(xù)走時(shí),調(diào)時(shí)不影響走時(shí)。(2)在六個(gè)數(shù)碼管上顯示時(shí)、分、秒及兩個(gè)小數(shù)點(diǎn)。(3)含有鬧鐘功能,可以選擇鬧鐘開(kāi)關(guān),可以設(shè)定鬧鈴時(shí)間。(4)
8、到達(dá)鬧鐘時(shí)刻蜂鳴器警報(bào),可以關(guān)掉警報(bào)。(5)當(dāng)時(shí)間到整點(diǎn)時(shí),蜂鳴器會(huì)短響一聲,可以關(guān)掉報(bào)時(shí)。2.2 定時(shí)器的實(shí)現(xiàn)形式 利用單片機(jī)的智能性,可方便的實(shí)現(xiàn)具有智能定時(shí)器的設(shè)計(jì)。而且,微處理系統(tǒng)具有時(shí)鐘振蕩系統(tǒng),利用系統(tǒng)時(shí)鐘并借助微處理器的定時(shí)/計(jì)數(shù)器功能可以實(shí)現(xiàn)數(shù)字定時(shí)器的功能。定時(shí)器電路主要由單片機(jī)(stc89c52)主控電路、電源電路、按鍵控制電路、數(shù)碼管顯示電路、蜂鳴器電路、以及二極管指示燈等幾個(gè)部分組成,它主要實(shí)現(xiàn)時(shí)鐘的顯示,以及對(duì)時(shí)、分、秒進(jìn)行調(diào)整,即實(shí)現(xiàn)調(diào)時(shí)的功能,其數(shù)字定時(shí)器系統(tǒng)整體結(jié)構(gòu)如圖2-1所示。圖2-1 數(shù)字定時(shí)器的系統(tǒng)框架(1)顯示方案 方案一:靜態(tài)顯示就是cpu將要顯示的
9、字或字段碼送到輸出口,顯示器就可以顯示出所要顯示的字符,如果cpu不去改寫(xiě)它,它將一直保持下去;靜態(tài)顯示硬件開(kāi)銷大,電路復(fù)雜,信息刷新速度慢。 方案二:動(dòng)態(tài)顯示則是一位一位的輪流點(diǎn)亮顯示器的各個(gè)位(掃描)。對(duì)于顯示器的每一位而言,每隔一段時(shí)間點(diǎn)亮一次;動(dòng)態(tài)顯示耗能較小,但編寫(xiě)程序較復(fù)雜。動(dòng)態(tài)顯示硬件連接簡(jiǎn)單,信息刷新速度快。由于本次設(shè)計(jì)是對(duì)時(shí)間進(jìn)行顯示,所以在此選擇的是方案二,采用動(dòng)態(tài)顯示。(2) 鍵盤(pán)方案方案一:獨(dú)立式鍵盤(pán)。獨(dú)立式鍵盤(pán)的各個(gè)按鍵相互獨(dú)立,每個(gè)按鍵獨(dú)立的與一根數(shù)據(jù)輸入線(單片機(jī)并行接口或其他芯片的并行接口)連接。獨(dú)立式鍵盤(pán)配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單。但每個(gè)按鍵必須占用一根接口線,在
10、按鍵數(shù)量不多時(shí),接口占用多。所以,獨(dú)立式按鍵常用于按鍵數(shù)量不多的場(chǎng)合。方案二:矩陣式鍵盤(pán)。矩陣式鍵盤(pán)采用的是行列式結(jié)構(gòu),按鍵設(shè)置在行列的交點(diǎn)上。(當(dāng)數(shù)量接口為8時(shí),可以將4根接口定義為行線,另4根定義為列線,形成4*4鍵盤(pán),可以配置16個(gè)按鍵。)由于本設(shè)計(jì)只用了6個(gè)按鍵,不需要采用矩陣式鍵盤(pán),所以選擇第一種方案,采用獨(dú)立式鍵盤(pán)。(3)計(jì)時(shí)方案 采用軟件控制: 利用單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器進(jìn)行定時(shí),配合軟件定時(shí)實(shí)現(xiàn)時(shí)、分、秒的計(jì)時(shí),該方案能夠使設(shè)計(jì)者在設(shè)計(jì)過(guò)程中容易實(shí)現(xiàn),且節(jié)省硬件成本,因此本系統(tǒng)將采用軟件方法實(shí)現(xiàn)計(jì)時(shí)。2.3 實(shí)現(xiàn)定時(shí)器計(jì)時(shí)的基本方法用stc89c52單片機(jī)的定時(shí)/計(jì)數(shù)器t0產(chǎn)
11、生一秒的定時(shí)時(shí)間,作為秒計(jì)數(shù)時(shí)間,當(dāng)一秒產(chǎn)生時(shí),秒計(jì)數(shù)加1。stc89c52單片機(jī)的內(nèi)部16位定時(shí)/計(jì)數(shù)器是一個(gè)可編程定時(shí)/計(jì)數(shù)器,它既可以工作在13位定時(shí)方式,也可以工作在16位定時(shí)方式和8位定時(shí)方式。只要通過(guò)設(shè)置特殊功能寄存器tmod,即可完成。定時(shí)/計(jì)數(shù)器何時(shí)工作也是通過(guò)tcon特殊功能寄存器來(lái)設(shè)置的。在此設(shè)計(jì)中,選擇16位定時(shí)工作方式。對(duì)于t0來(lái)說(shuō),系統(tǒng)時(shí)鐘為12mhz,最大定時(shí)也只有65536us,即65.536ms,無(wú)法達(dá)到我們所需要的1秒的定時(shí),因此,必須通過(guò)軟件來(lái)處理這個(gè)問(wèn)題,假設(shè)取t0的最大定時(shí)為50ms,即要定時(shí)1秒需要經(jīng)過(guò)20次的50ms的定時(shí)。對(duì)于這20次計(jì)數(shù),就可以采
12、用軟件的方法來(lái)統(tǒng)計(jì)了。設(shè)定tmod00000001b,即tmod01h,設(shè)置定時(shí)/計(jì)數(shù)器0工作在方式1。下面我們要給t0定時(shí)/計(jì)數(shù)器的th0,tl0裝入預(yù)置初值,通過(guò)下面的公式可以計(jì)算出:th0(21650000)/256tl0(21650000)mod取摸256這樣,當(dāng)定時(shí)/計(jì)數(shù)器0計(jì)滿50ms時(shí),產(chǎn)生一個(gè)中斷,我們可以在中斷服務(wù)程序中,對(duì)中斷次數(shù)加以統(tǒng)計(jì),以實(shí)現(xiàn)數(shù)字鐘的邏輯功能。第3章 定時(shí)器硬件系統(tǒng)的設(shè)計(jì) 3.1 定時(shí)器主控電路cpu的選擇主控電路cpu是系統(tǒng)的核心單元,在執(zhí)行程序中其關(guān)鍵作用,它的優(yōu)劣直接關(guān)系到系統(tǒng)的性能。本次設(shè)計(jì)主要以stc89c52單片機(jī)為研究核心,分析其內(nèi)部結(jié)構(gòu),
13、硬件資源分配等,下面是對(duì)stc89c52單片機(jī)的介紹: stc89c52rc單片機(jī)是新一代高速、低功耗、超強(qiáng)抗干擾的單片機(jī),指令代碼完全兼容傳統(tǒng)8051單片機(jī),12時(shí)鐘/機(jī)器周期和6時(shí)鐘/機(jī)器周期可以任意選擇。主要特性如下: (1)增強(qiáng)型8051單片機(jī),6時(shí)鐘/機(jī)器周期和12時(shí)鐘/機(jī)器周期可以任意選擇,指令代碼完全兼容傳統(tǒng)8051 (2)工作電壓:5.5v3.3v(5v單片機(jī))/3.8v2.0v(3v單片機(jī)) (3)工作頻率范圍:040mhz,相當(dāng)于普通8051的080mhz,實(shí)際工作頻率可達(dá)48mhz (4)用戶應(yīng)用程序空間為8k字節(jié) (5)片上集成512字節(jié)ram (6)通用i/o口(32
14、個(gè)),復(fù)位后為:p1/p2/p3/p4是準(zhǔn)雙向口/弱上拉,p0口是漏極開(kāi)路輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為i/o口用時(shí),需加上拉電阻。 (7)isp(在系統(tǒng)可編程)/iap(在應(yīng)用可編程),無(wú)需專用編程器,無(wú)需專用仿真器,可通過(guò)串口(rxd/p3.0,txd/p3.1)直接下載用戶程序,數(shù)秒即可完成一片 (8)具有eeprom功能 (9)具有看門(mén)狗功能 (10)共3個(gè)16位定時(shí)器/計(jì)數(shù)器。即定時(shí)器t0、t1、t2 (11)外部中斷4路,下降沿中斷或低電平觸發(fā)電路,power down模式可由外部中斷低電平觸發(fā)中斷方式喚醒 (12)通用異步串行口(uart),還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè)
15、uart (13)工作溫度范圍:-40+85(工業(yè)級(jí))/075(商業(yè)級(jí))(14)pdip封裝stc89c52rc單片機(jī)的工作模式:l 掉電模式:典型功耗0.1a,可由外部中斷喚醒,中斷返回后,繼續(xù)執(zhí)行原程序l 空閑模式:典型功耗2mal 正常工作模式:典型功耗4ma7mal 掉電模式可由外部中斷喚醒,適用于水表、氣表等電池供電系統(tǒng)及便攜設(shè)備stc89c52單片機(jī)引腳圖如圖3-1所示。 圖3-1 stc89c52引腳圖stc89c52引腳功能說(shuō)明 :vcc(40引腳):電源電壓vss(20引腳):接地p0端口(p0.0p0.7,3932引腳):p0口是一個(gè)漏極開(kāi)路的8位雙向i/o口。作為輸出端口
16、,每個(gè)引腳能驅(qū)動(dòng)8個(gè)ttl負(fù)載,對(duì)端口p0寫(xiě)入“1”時(shí),可以作為高阻抗輸入。在訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),p0口也可以提供低8位地址和8位數(shù)據(jù)的復(fù)用總線。此時(shí),p0口內(nèi)部上拉電阻有效。在flash rom編程時(shí),p0端口接收指令字節(jié);而在校驗(yàn)程序時(shí),則輸出指令字節(jié)。驗(yàn)證時(shí),要求外接上拉電阻。p1端口(p1.0p1.7,18引腳):p1口是一個(gè)帶內(nèi)部上拉電阻的8位雙向i/o口。p1的輸出緩沖器可驅(qū)動(dòng)(吸收或者輸出電流方式)4個(gè)ttl輸入。對(duì)端口寫(xiě)入1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這是可用作輸入口。p1口作輸入口使用時(shí),因?yàn)橛袃?nèi)部上拉電阻,那些被外部拉低的引腳會(huì)輸出一個(gè)電流(in)此外,
17、p1.0和p1.1還可以作為定時(shí)器/計(jì)數(shù)器2的外部技術(shù)輸入(p1.0/t2)和定時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(p1.1/t2ex),具體參見(jiàn)下表3-1所示。在對(duì)flash rom編程和程序校驗(yàn)時(shí),p1接收低8位地址。表3-1 p1.0和p1.1引腳復(fù)用功能引腳號(hào)功能特性p1.0t2(定時(shí)器/計(jì)數(shù)器2外部計(jì)數(shù)輸入),時(shí)鐘輸出p1.1t2ex(定時(shí)器/計(jì)數(shù)器2捕獲/重裝觸發(fā)和方向控制)p2端口(p2.0p2.7,2128引腳):p2口是一個(gè)帶內(nèi)部上拉電阻的8位雙向i/o端口。p2的輸出緩沖器可以驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)ttl輸入。對(duì)端口寫(xiě)入1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,這時(shí)可用作輸入
18、口。p2作為輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流(in)在訪問(wèn)外部程序存儲(chǔ)器和16位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行“movx dptr”指令)時(shí),p2送出高8位地址。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行“movx r1”指令)時(shí),p2口引腳上的內(nèi)容(就是專用寄存器(sfr)區(qū)中的p2寄存器的內(nèi)容),在整個(gè)訪問(wèn)期間不會(huì)改變。在對(duì)flash rom編程和程序校驗(yàn)期間,p2也接收高位地址和一些控制信號(hào)。p3端口(p3.0p3.7,1017引腳):p3是一個(gè)帶內(nèi)部上拉電阻的8位雙向i/o端口。p3的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)ttl輸入。對(duì)端口寫(xiě)入1
19、時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。p3做輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸入一個(gè)電流(in)在對(duì)flash rom編程或程序校驗(yàn)時(shí),p3還接收一些控制信號(hào)。p3口除作為一般i/o口外,還有其他一些復(fù)用功能,如下表所示3-2所示。表3-2 p3口引腳復(fù)用功能引腳號(hào)復(fù)用功能p3.0rxd(串行輸入口)p3.1txd(串行輸出口)p3.2(外部中斷0)p3.3(外部中斷1)續(xù)表3-2引腳號(hào)復(fù)用功能p3.4t0(定時(shí)器0的外部輸入)p3.5t1(定時(shí)器1的外部輸入)p3.6wr(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通) p3.7rd(外部數(shù)據(jù)存儲(chǔ)器讀選通)rst(9
20、引腳):復(fù)位輸入。當(dāng)輸入連續(xù)兩個(gè)機(jī)器周期以上高電平時(shí)為有效,用來(lái)完成單片機(jī)單片機(jī)的復(fù)位初始化操作??撮T(mén)狗計(jì)時(shí)完成后,rst引腳輸出96個(gè)晶振周期的高電平。特殊寄存器auxr(地址8eh)上的disrto位可以使此功能無(wú)效。disrto默認(rèn)狀態(tài)下,復(fù)位高電平有效。(30引腳):地址鎖存控制信號(hào)(ale)是訪問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低8位地址的輸出脈沖。在flash編程時(shí),此引腳()也用作編程輸入脈沖。在一般情況下,ale以晶振六分之一的固定頻率輸出脈沖,可用來(lái)作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),ale脈沖將會(huì)跳過(guò)。如果需要,通過(guò)將地址位8eh的sfr的第0位置“
21、1”,ale操作將無(wú)效。這一位置“1”,ale僅在執(zhí)行movx或mov指令時(shí)有效。否則,ale將被微弱拉高。這個(gè)ale使能標(biāo)志位(地址位8eh的sfr的第0位)的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無(wú)效。pesn(29引腳):外部程序存儲(chǔ)器選通信號(hào)pesn是外部程序存儲(chǔ)器選通信號(hào)。當(dāng)at89c51rc從外部程序存儲(chǔ)器執(zhí)行外部代碼碼pesn在每個(gè)機(jī)器周期被激活兩次,而訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),pesn將不被激活。/vpp(31引腳):訪問(wèn)外部程序存儲(chǔ)器控制信號(hào)。為使能從0000h到ffffh的外部程序存儲(chǔ)器讀取指令,ea必須接gnd。注意加密方式1時(shí),ea將內(nèi)部鎖定位reset。為了執(zhí)行內(nèi)部程序指令,e
22、a應(yīng)該接vcc。在flash編程期間,ea也接收12伏vpp電壓。xtal1(19引腳):振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。xtal2(18引腳):振蕩器反相放大器的輸入端。3.2定時(shí)器主控電路最小應(yīng)用系統(tǒng)時(shí)鐘電路和復(fù)位電路是主控電路最小應(yīng)用系統(tǒng)中必不可少的。定時(shí)器時(shí)鐘電路原理圖如圖3-2所示:xtal1和xtal2分別為反向放大器的輸入和輸出。該反向放大器可以配置為內(nèi)部振蕩器。石英振蕩和陶瓷振蕩均可采用。如采外部時(shí)鐘源驅(qū)動(dòng)器件,xtal2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。圖3-2 數(shù)字鐘時(shí)鐘
23、電路 復(fù)位是使單片機(jī)或系統(tǒng)中的其他部件處于某種確定的初始狀態(tài)。單片機(jī)的工作就是從復(fù)位開(kāi)始的,當(dāng)在單片機(jī)的rst引腳引入高電平并保持2個(gè)機(jī)器周期時(shí),單片機(jī)內(nèi)部就執(zhí)行復(fù)位操作(若該引腳持續(xù)保持高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài))。本次設(shè)計(jì)定時(shí)器主控電路最小系統(tǒng)原理圖如圖3-3所示。圖3-3 主控電路最小系統(tǒng)原理圖3.3 鍵盤(pán)及其接口3.3.1按鍵的去抖處理 按鍵就是一個(gè)簡(jiǎn)單的開(kāi)關(guān)。當(dāng)按鍵按下時(shí),相當(dāng)于開(kāi)關(guān)閉合;當(dāng)按鍵松開(kāi)時(shí),相當(dāng)于開(kāi)關(guān)斷開(kāi)。按鍵在閉合和斷開(kāi)時(shí),觸點(diǎn)會(huì)存在抖動(dòng)現(xiàn)象。按鍵抖動(dòng)時(shí)間一般為5ms10ms,抖動(dòng)可能造成一次按鍵的多次處理問(wèn)題。應(yīng)采取措施消除抖動(dòng)的影響。消除的方法很多,本設(shè)計(jì)采用
24、軟件延時(shí)的方法來(lái)消除抖動(dòng)。當(dāng)單片機(jī)檢測(cè)到有按鍵按下時(shí)先定時(shí),然后再檢測(cè)按鍵的狀態(tài),若仍是閉合狀態(tài)則認(rèn)為真的有按鍵按下。當(dāng)檢測(cè)到按鍵釋放時(shí),亦需要做同樣的處理。3.3.2 定時(shí)器按鍵電路 定時(shí)器單片機(jī)控制系統(tǒng)中,往往只需要幾個(gè)功能鍵,此時(shí),可采用獨(dú)立式按鍵結(jié)構(gòu)。獨(dú)立式按鍵是直接用i/o口線構(gòu)成的單個(gè)按鍵電路,其特點(diǎn)是每個(gè)按鍵單獨(dú)占用一根i/o口線,每個(gè)按鍵的工作不會(huì)影響其它i/o口線的狀態(tài)。獨(dú)立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單,但每個(gè)按鍵必須占用一根i/o口線,因此,在按鍵較多時(shí),i/o口線浪費(fèi)較大,不宜采用。本次設(shè)計(jì)按鍵電路的原理圖如3-4所示。圖3-4 按鍵電路原理圖 其中,p1.0,p1.
25、1,p1.2,p3.1,p3.2,p3.3均為單片機(jī)的i/o口。3.4 蜂鳴器電路 蜂鳴器發(fā)聲原理是電流通過(guò)電磁線圈,使電磁線圈產(chǎn)生磁場(chǎng)來(lái)驅(qū)動(dòng)振動(dòng)膜發(fā)聲的,因此需要一定的電流才能驅(qū)動(dòng)它,單片機(jī)io口引腳輸出的電流較小,單片機(jī)輸出的ttl電平基本上驅(qū)動(dòng)不了蜂鳴器,因此需要增加一個(gè)電流放大的電路。stc89c52增強(qiáng)型單片機(jī)實(shí)驗(yàn)板通過(guò)一個(gè)三極管來(lái)放大驅(qū)動(dòng)蜂鳴器,原理圖如圖3-5所示。 圖3-5 蜂鳴器原理圖 如圖所示,三極管的基極b經(jīng)過(guò)限流電阻r12后由單片機(jī)的p3.7引腳控制,當(dāng)p3.7輸出高電平時(shí),三極管q7截止,沒(méi)有電流流過(guò)線圈,蜂鳴器不發(fā)聲;當(dāng)p3.7輸出低電平時(shí),三極管導(dǎo)通,這樣蜂鳴器的
26、電流形成回路,發(fā)出聲音。因此,我們可以通過(guò)程序控制p3.7腳的電平來(lái)使蜂鳴器發(fā)出聲音和關(guān)閉。3.5 數(shù)碼管顯示電路數(shù)碼管顯示器是單片機(jī)應(yīng)用系統(tǒng)常用的設(shè)備,包括led、lcd等。led顯示器由若干個(gè)發(fā)光的二極管組成。七段led通常構(gòu)成字型“8”,還有一個(gè)發(fā)光二極管用來(lái)顯示小數(shù)點(diǎn)。每段led分別引出一個(gè)電極,電極的名為a、b、c、d、e、f、g、dp,其中dp是小數(shù)點(diǎn)段引出的電極。當(dāng)發(fā)光二極管導(dǎo)通時(shí),相應(yīng)的一個(gè)筆畫(huà)或一個(gè)點(diǎn)就發(fā)光。控制相應(yīng)的二極管導(dǎo)通,就能顯示出對(duì)應(yīng)的字符。 數(shù)碼管有兩種接法即共陽(yáng)極接法和共陰極接法(如圖3-6所示)。所有發(fā)光二極管的陽(yáng)極連接在一起稱為共陽(yáng)極;陰極連接在一起的稱為共
27、陰極。當(dāng)選用共陰極的顯示器時(shí),所有發(fā)光二極管的陰極連接在一起接地,當(dāng)某個(gè)發(fā)光二極管的陽(yáng)極接高電平時(shí),對(duì)應(yīng)的二極管點(diǎn)亮(led數(shù)碼管每段需要10ma20ma的驅(qū)動(dòng)電流)。當(dāng)選用共陽(yáng)極的顯示器時(shí),所有的發(fā)光二極管的陽(yáng)極連在一起接高電平,當(dāng)某個(gè)發(fā)光二極管的陰極接低電平時(shí),對(duì)應(yīng)的二極管點(diǎn)亮。 圖 3-6 led數(shù)碼管結(jié)構(gòu)原理圖眾所周知,led顯示數(shù)碼管通常由硬件7段譯碼集成電路,完成從數(shù)字到顯示碼的譯碼驅(qū)動(dòng)。本系統(tǒng)采用軟件譯碼,以減小體積,降低成本和功耗,軟件譯碼的另一優(yōu)勢(shì)還在于比硬件譯碼有更大的靈活性。所謂軟件譯碼,即由單片機(jī)軟件完成從數(shù)字到顯示碼的轉(zhuǎn)換。從led數(shù)碼管結(jié)構(gòu)原理可知,為了顯示字符,要
28、為led顯示數(shù)碼管提供顯示段碼,組成一個(gè)“8”字形字符的7段,再加上1個(gè)小數(shù)點(diǎn)位,共計(jì)8段,因此提供給led數(shù)碼管的顯示段碼為1個(gè)字節(jié)。各段碼位與顯示段的對(duì)應(yīng)關(guān)系如表3-3。 表3-3段碼位d7d6d5d4d3d2d1d0顯示段dpgfedcba需說(shuō)明的是當(dāng)用數(shù)據(jù)口連接led數(shù)碼管adp引腳時(shí),不同的連接方法,各段碼位與顯示段有不同的對(duì)應(yīng)關(guān)系。通常數(shù)據(jù)口的d0位與a段連接,d1位與b段連接,d7位與dp段連接,如表1所示,表3-4為用于led數(shù)碼管顯示的十六進(jìn)制數(shù)和空白字符與p的顯示段碼。本次設(shè)計(jì)采用的是一個(gè)兩位共陽(yáng)極數(shù)碼管和一個(gè)四位共陽(yáng)極數(shù)碼管。表3-4字型共陽(yáng)極段碼字型共陽(yáng)極段碼0c0h9
29、90h1f9ha88h2a4hb83h3bohcc6h499hda1h592he86h682hf84h7f8h空白ffh880hp8ch將stc89c52的p0.0p0.7分別與四位共陽(yáng)極碼管的ag及dp相連,低電平位對(duì)應(yīng)的led數(shù)碼管的段暗,高電平的位對(duì)應(yīng)的led數(shù)碼管的段亮,這樣,當(dāng)p2口輸出不同的段碼,就可以控制數(shù)碼管顯示不同的字符。 本次設(shè)計(jì)的數(shù)碼管顯示電路原理圖如圖3-7所示。圖3-7 數(shù)碼管顯示電路原理圖第4章 定時(shí)器軟件系統(tǒng)的設(shè)計(jì)4.1 主程序流程圖(1) 主程序流程圖如圖4-1所示。圖4-1 主程序流程圖4.2 中斷流程圖在這里,我們有必要介紹一下單片機(jī)的中斷系統(tǒng),以利于我們的
30、學(xué)習(xí)。中斷的概念:cpu在處理某一事件a時(shí),發(fā)生了另一事件b請(qǐng)求cpu迅速去處理(中斷發(fā)生);cpu暫時(shí)中斷當(dāng)前的工作,轉(zhuǎn)去處理事件b(中斷響應(yīng)和中斷服務(wù));待cpu將事件b處理完畢后,再回到原來(lái)事件a被中斷的地方繼續(xù)處理事件a(中斷返回),這一過(guò)程稱為中斷。中斷技術(shù)在單片系統(tǒng)中有著十分重要的作用,它不僅可以提高單片機(jī)cpu的效率,也可以對(duì)突發(fā)事件處理。所謂中斷就是當(dāng)cpu正在執(zhí)行程序a時(shí),發(fā)生了另一個(gè)急需處理的事件b,這是cpu暫停當(dāng)前執(zhí)行的程序a,立即轉(zhuǎn)去執(zhí)行處理事件b的程序,處理完事件b后,再返回到程序a繼續(xù)執(zhí)行,這個(gè)過(guò)程被叫做中斷。關(guān)于中斷的概念有下列幾個(gè)名詞:(1)程序a稱為主程序,
31、(2)處理事件b的程序稱為中斷服務(wù)程序,(3)主程序中轉(zhuǎn)向中斷服務(wù)程序的地方稱為斷點(diǎn),(4)引起中斷的原因即事件b稱為中斷源,(5)轉(zhuǎn)去執(zhí)行中斷服務(wù)程序稱為中斷響應(yīng)。關(guān)于中斷的概念可以打個(gè)如下的比喻。領(lǐng)導(dǎo)(cpu)在自己的房間辦公(執(zhí)行主程序),下屬(外設(shè))有問(wèn)題打電話來(lái)請(qǐng)示(中斷源),領(lǐng)導(dǎo)停下正在進(jìn)行的工作,通過(guò)電話給下屬做指示(執(zhí)行中斷服務(wù)程序),指示完后,領(lǐng)導(dǎo)掛斷電話,繼續(xù)做自己的工作(返回主程序繼續(xù)執(zhí)行)。中斷是一個(gè)過(guò)程,當(dāng)中央處理器cpu在處理某件事情時(shí),外部又發(fā)生了另一緊急事件,請(qǐng)求cpu暫停當(dāng)前的工作而去迅速處理該緊急事件。處理結(jié)束后,再回到原來(lái)被中斷的地方,繼續(xù)原來(lái)的工作。引起
32、中斷的原因或發(fā)出中斷請(qǐng)求的來(lái)源,稱為中斷源。單片機(jī)一般允許有多個(gè)中斷源,當(dāng)幾個(gè)中斷源同時(shí)向cpu請(qǐng)求中斷時(shí),就存在cpu優(yōu)先響應(yīng)哪一個(gè)中斷請(qǐng)求源的問(wèn)題(優(yōu)先級(jí)問(wèn)題),一般根據(jù)中斷源的輕重緩急排隊(duì),優(yōu)先處理最緊急事件的中斷請(qǐng)求,于是便規(guī)定每一個(gè)中斷源都有一個(gè)中斷優(yōu)先級(jí)別,并且cpu總是響應(yīng)級(jí)別最高的中斷請(qǐng)求。當(dāng)cpu正在處理一個(gè)中斷源請(qǐng)求的時(shí)候,又發(fā)生了另一個(gè)優(yōu)先級(jí)比它高的中斷源請(qǐng)求,如果cpu能夠暫時(shí)中止對(duì)原來(lái)中斷處理程序的執(zhí)行,轉(zhuǎn)而去處理優(yōu)先級(jí)更高的中斷源請(qǐng)求,待處理完以后,再繼續(xù)執(zhí)行原來(lái)的低級(jí)中斷處理程序,這樣的過(guò)程稱為中斷嵌套。定時(shí)器中斷服務(wù)子程序流程圖如圖4-2所示。圖4-2 中斷服務(wù)
33、子程序流程4.3 定時(shí)程序設(shè)計(jì)定時(shí)器的定時(shí)功能是通過(guò)單片機(jī)計(jì)數(shù)器的計(jì)數(shù)來(lái)實(shí)現(xiàn)的,此時(shí)的計(jì)數(shù)脈沖來(lái)自單片機(jī)的內(nèi)部,即每個(gè)機(jī)器周期產(chǎn)生一個(gè)計(jì)數(shù)脈沖,也就是每經(jīng)過(guò)1個(gè)機(jī)器周期的時(shí)間,計(jì)數(shù)器加1。本設(shè)計(jì)采用的是12mhz晶體,則計(jì)數(shù)頻率為1mhz,即每過(guò)1us的時(shí)間計(jì)數(shù)器加1。這樣可以根據(jù)計(jì)數(shù)值計(jì)算出定時(shí)時(shí)間,也可以根據(jù)定時(shí)時(shí)間的要求計(jì)算出計(jì)數(shù)器的初值。stc89c52單片機(jī)的定時(shí)器/計(jì)數(shù)器具有4種工作方式,其控制字均在相應(yīng)的特殊功能寄存器中,通過(guò)對(duì)特殊功能寄存器的編程,可以方便的選擇定時(shí)器/計(jì)數(shù)器兩種工作模式和4種工作方式。定時(shí)器/計(jì)數(shù)器工作在方式0時(shí),為13位的計(jì)數(shù)器,由tlx(x=0、1)的低5
34、位和thx的高8位所構(gòu)成。tlx低5位溢出則向thx進(jìn)位,thx計(jì)數(shù)溢出則置位tcon中的溢出標(biāo)志位tfx。當(dāng)定時(shí)器/計(jì)數(shù)器工作于方式1,為16位的計(jì)數(shù)器。本次設(shè)計(jì)單片機(jī)多功能定時(shí)器,所以stc89c52內(nèi)部的定時(shí)器/計(jì)數(shù)器被選定為定時(shí)器工作模式,計(jì)數(shù)輸入信號(hào)是內(nèi)部時(shí)鐘脈沖,每個(gè)機(jī)器周期產(chǎn)生一個(gè)脈沖使計(jì)數(shù)器增1。第五章 定時(shí)器的系統(tǒng)調(diào)試仿真與測(cè)試5.1 調(diào)試單片機(jī)控制系統(tǒng)的調(diào)試包括硬件調(diào)試和軟件調(diào)試。調(diào)試工作的主要任務(wù)是排除硬件故障,包括設(shè)計(jì)錯(cuò)誤和工藝性故障。由于條件限制,硬件調(diào)試主要是進(jìn)行脫機(jī)檢查:用萬(wàn)用表筆逐步按照邏輯圖檢查各器件的電源及各引腳的連接是否正確,檢查數(shù)據(jù)總線、地址總線和控制總
35、線是否短路。為保護(hù)芯片,對(duì)各底座的電位進(jìn)行檢查,確定無(wú)誤后再插入芯片檢查。軟件調(diào)試是使用keil c51進(jìn)行編程,生成.hex文件,在proteus中進(jìn)行仿真。 本系統(tǒng)的軟件程序調(diào)試是在keil c51的環(huán)境下編譯的,keil c51是美國(guó)keil software公司出品的51系列兼容單片機(jī)c語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),軟件提供了豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全windows界面。c51允許用戶使用c語(yǔ)言編寫(xiě)中斷服務(wù)程序,快速進(jìn)、寄存器和出代碼區(qū)的轉(zhuǎn)換功能使c語(yǔ)言中斷功能更加高效,可載入功能是用關(guān)鍵字來(lái)定義的。多任務(wù),中斷或非中斷的代碼要求必須具備可再入功能。c51提供了高效靈活的指針,通
36、用指針用3個(gè)字節(jié)來(lái)存儲(chǔ)存儲(chǔ)器類型及目標(biāo)地址,可以在8051的任意存儲(chǔ)區(qū)內(nèi)存取任何變量,在聲明特殊指針的同時(shí)已指定了存儲(chǔ)器類型,指向了某一特定的存儲(chǔ)區(qū)域。由于地址存儲(chǔ)只需12字節(jié),因此,指針存取非常靈活迅速。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到keil c51軟件生成的目標(biāo)代碼效率之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì),c語(yǔ)言有以下特點(diǎn):1、運(yùn)算符豐富。c語(yǔ)言的運(yùn)算符包含的范圍很廣泛,共有34種運(yùn)算符,使得c語(yǔ)言的表達(dá)式類型多樣化,運(yùn)算類型極其豐富,靈活使用各種運(yùn)算符可以實(shí)現(xiàn)在其他高級(jí)語(yǔ)言中難以實(shí)現(xiàn)的運(yùn)算。2、語(yǔ)言緊湊、簡(jiǎn)潔、靈
37、活、使用方便。c語(yǔ)言只有9種控制語(yǔ)句,32個(gè)關(guān)鍵字,程序書(shū)寫(xiě)自由,主要用小寫(xiě)字母表示,壓縮了一切不必要的成分。3、用函數(shù)作為程序的模塊單位,具有結(jié)構(gòu)化的控制語(yǔ)句,便于程序?qū)崿F(xiàn)模塊化。4、數(shù)據(jù)結(jié)構(gòu)豐富,具有現(xiàn)代化語(yǔ)言的各種數(shù)據(jù)結(jié)構(gòu),能用來(lái)實(shí)現(xiàn)各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)運(yùn)算。5、c語(yǔ)言能處理位操作,能實(shí)現(xiàn)匯編語(yǔ)言的大部分功能,可以直接對(duì)硬件進(jìn)行操作。因此,c語(yǔ)言既具有高級(jí)語(yǔ)言的功能,又具有低級(jí)語(yǔ)言的許多功能,可用來(lái)寫(xiě)系統(tǒng)軟件。c語(yǔ)言的這種雙重性,使它既是系統(tǒng)描述語(yǔ)言,又是通用的程序設(shè)計(jì)語(yǔ)言。6、程序設(shè)計(jì)自由空間大,語(yǔ)法限制不太嚴(yán)格。7、用c語(yǔ)言寫(xiě)的程序可移植性好,基本上不用修改就能用于各種型號(hào)的計(jì)算機(jī)和各
38、種操作系統(tǒng)。8、生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。5.2 仿真 本系統(tǒng)采用的是proteus進(jìn)行仿真。proteus軟件是英國(guó)lab center electronics公司出版的eda工具軟件。它不僅具有其它eda工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前比較好的仿真單片機(jī)及外圍器件的工具。proteus是世界上著名的eda工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到pcb設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、pcb設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、hc11、pic10/12
39、/16/18/24/30/dspic33、avr、arm、8086和msp430等,2010年又增加了cortex和dsp系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持iar、keil和matlab等多種編譯器。在 proteus繪制好原理圖后,調(diào)入已編譯好的目標(biāo)代碼文件:*.hex,可以在 proteus的原理圖中看到模擬的實(shí)物運(yùn)行狀態(tài)和過(guò)程。 proteus是單片機(jī)課堂教學(xué)的先進(jìn)助手。proteus不僅可將許多單片機(jī)實(shí)例功能形象化,也可將許多單片機(jī)實(shí)例運(yùn)行過(guò)程形象化。前者可在相當(dāng)程度上得到實(shí)物演示實(shí)驗(yàn)的效果,后者則是實(shí)物演示實(shí)驗(yàn)難以達(dá)到的效果。它的元器件、連接線路等卻和傳統(tǒng)
40、的單片機(jī)實(shí)驗(yàn)硬件高度對(duì)應(yīng)。這在相當(dāng)程度上替代了傳統(tǒng)的單片機(jī)實(shí)驗(yàn)教學(xué)的功能,例:元器件選擇、電路連接、電路檢測(cè)、電路修改、軟件調(diào)試、運(yùn)行結(jié)果等。課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)是學(xué)生走向就業(yè)的重要實(shí)踐環(huán)節(jié)。由于 proteus提供了實(shí)驗(yàn)室無(wú)法相比的大量的元器件庫(kù),提供了修改電路設(shè)計(jì)的靈活性、提供了實(shí)驗(yàn)室在數(shù)量、質(zhì)量上難以相比的虛擬儀器、儀表,因而也提供了培養(yǎng)學(xué)生實(shí)踐精神、創(chuàng)造精神的平臺(tái)。本次設(shè)計(jì)的仿真圖如圖5-1所示。 圖5-1 定時(shí)器的電路仿真結(jié)果 通過(guò)電路仿真,我們可以得到預(yù)期的電路功能,即實(shí)現(xiàn)了時(shí)、分、秒的顯示功能。5.3 測(cè)試(1) 給系統(tǒng)上電后,系統(tǒng)開(kāi)始工作,默認(rèn)當(dāng)前時(shí)間為12.00.00,如圖5-
41、2所示。 圖5-2 上電后測(cè)試圖(2)按下調(diào)整時(shí)間功能鍵:首次按下,進(jìn)入調(diào)整小時(shí)模式;二次按下,進(jìn)入調(diào)整分鐘模式;三次按下,退出調(diào)整時(shí)間功能,并顯示正常走時(shí)。如圖5-3所示。圖5-3 調(diào)整時(shí)間功能測(cè)試(3)按下調(diào)整鬧鐘時(shí)間功能鍵:首次按下,進(jìn)入調(diào)整鬧鐘時(shí)間,走時(shí)指示燈會(huì)以一秒的頻率閃爍,并顯示當(dāng)前鬧鐘時(shí)間。二次按下,進(jìn)入調(diào)整鬧鐘小時(shí)模式;三次按下,進(jìn)入調(diào)整鬧鐘分鐘模式;四次按下,退出調(diào)整鬧鐘時(shí)間功能,走時(shí)指示燈會(huì)熄滅,并顯示正常走時(shí)。打開(kāi)鬧鐘開(kāi)關(guān),鬧鐘指示燈會(huì)點(diǎn)亮,當(dāng)下的時(shí)間到設(shè)定的鬧鐘時(shí)間后,蜂鳴器會(huì)發(fā)出“滴-滴-滴.”聲音。若關(guān)閉鬧鐘,鬧鐘指示燈會(huì)熄滅。系統(tǒng)默認(rèn)鬧鐘時(shí)間為06.00.00。
42、如圖5-4所示。圖5-4 鬧鐘功能測(cè)試(4) 整點(diǎn)報(bào)時(shí)開(kāi)關(guān):按下后,打開(kāi)或關(guān)閉整點(diǎn)報(bào)時(shí)功能。若打開(kāi)該功能,整點(diǎn)報(bào)時(shí)指示燈會(huì)點(diǎn)亮。當(dāng)下的時(shí)間到整點(diǎn)時(shí)(比如12點(diǎn)整,1點(diǎn)整,2點(diǎn)整.),蜂鳴器會(huì)短響一聲。若關(guān)閉該功能,整點(diǎn)報(bào)時(shí)指示燈會(huì)熄滅。如圖5-5所示。圖5-5 整點(diǎn)報(bào)時(shí)測(cè)試第6章 總 結(jié)通過(guò)本次畢業(yè)論文的設(shè)計(jì)與制作,我較為全面地回顧了自己在大學(xué)四年時(shí)間里所學(xué)的知識(shí),并充分對(duì)所學(xué)知識(shí)的理解和把所學(xué)的知識(shí)用到實(shí)際當(dāng)中去,理論聯(lián)系實(shí)際。這也為自己今后進(jìn)一步深化學(xué)習(xí),積累了一定寶貴的經(jīng)驗(yàn)。尤其單片機(jī)原理與應(yīng)用及電子技術(shù)方面的相關(guān)知識(shí),在這次畢業(yè)設(shè)計(jì)中得到了較好地實(shí)踐。在這次畢業(yè)設(shè)計(jì)當(dāng)中,我遇到很多自己
43、不理解的問(wèn)題及書(shū)本上或是我以前沒(méi)有看見(jiàn)過(guò)的知識(shí)點(diǎn)。在面對(duì)這些問(wèn)題時(shí),我首先采用的是上網(wǎng)搜尋的方法,在根據(jù)別人的提示,想想自己的問(wèn)題出在哪里,該怎么解決。當(dāng)我還是無(wú)法想到解決的辦法時(shí),我就帶著自己的問(wèn)題到圖書(shū)館查閱資料或找同學(xué)互相交流,采用這樣的方法,我的很多問(wèn)題都迎刃而解了!其次,我不但努力解決自己遇到的問(wèn)題,還幫助同學(xué)解決他們遇到的問(wèn)題。這樣一來(lái),我的知識(shí)得到了進(jìn)一步的鞏固,同學(xué)的問(wèn)題也得到了相應(yīng)的解決,我達(dá)到了一舉雙收的效果,我為此而感到高興。讓我覺(jué)得本次畢業(yè)設(shè)計(jì)的最大成果是:知道了將理論用到實(shí)際當(dāng)中時(shí),會(huì)遇到很多的問(wèn)題。需要我們一個(gè)一個(gè)地把它解決,根據(jù)自己所學(xué)的專業(yè)基礎(chǔ)知識(shí)分析具體原因,
44、具體問(wèn)題具體分析,再逐一把它克服掉。知道理論與實(shí)際的差距,所以以后要多加強(qiáng)實(shí)際動(dòng)手的能力。因此,學(xué)習(xí)就應(yīng)該采取理論與實(shí)踐相結(jié)合的方式,理論的問(wèn)題,也就是實(shí)踐性的課題。這種做法既有助于完成理論知識(shí)的鞏固,又有助于帶動(dòng)實(shí)踐,解決實(shí)際問(wèn)題,加強(qiáng)我們的動(dòng)手能力和解決問(wèn)題的能力。最后,我相信以后不管遇到什么困難和挫折,不要畏懼,要敢于向前探索,這樣問(wèn)題才能迎刃而解,這樣我們才能成功。致 謝 通過(guò)這幾個(gè)月來(lái)的忙碌和學(xué)習(xí),本次畢業(yè)論文設(shè)計(jì)已接近尾聲,在這里衷心感謝指導(dǎo)老師王飛老師的督促指導(dǎo),以及一起學(xué)習(xí)的同學(xué)們的支持,讓我按時(shí)完成了這次畢業(yè)設(shè)計(jì)。 在畢業(yè)論文設(shè)計(jì)過(guò)程中,我遇到了許許多多的困難。在此我要感謝我
45、的指導(dǎo)老師王飛老師給我悉心的幫助和對(duì)我耐心而細(xì)致的指導(dǎo),除了敬佩王飛老師的專業(yè)水平以外,他的治學(xué)嚴(yán)謹(jǐn)和科學(xué)研究的精神也是我永遠(yuǎn)學(xué)習(xí)的榜樣,并將積極影響我今后的學(xué)習(xí)和工作,我才得以解決畢業(yè)設(shè)計(jì)中遇到的種種問(wèn)題。同時(shí)感謝大學(xué)四年傳授我們專業(yè)知識(shí)的所有老師,謝謝你們嘔心瀝血的教導(dǎo)。還有謝謝我周圍的同窗朋友,他們給了我無(wú)數(shù)的關(guān)心和鼓勵(lì),也讓我的大學(xué)生活充滿了溫暖和歡樂(lè)。如果沒(méi)有他們的幫助,此次畢業(yè)論文的完成將變得困難。他們?cè)谖以O(shè)計(jì)中給了我許多寶貴的意見(jiàn)和建議。同時(shí)也要感謝自己遇到困難的時(shí)候沒(méi)有一蹶不振,取而代之的是找到了最好的方法來(lái)解決問(wèn)題。在本次畢業(yè)設(shè)計(jì)完成之際,我以誠(chéng)摯的心情再次向王飛老師和幫助過(guò)
46、我的同學(xué)表示衷心的感謝,感謝在這段時(shí)間里對(duì)我的關(guān)懷、鼓勵(lì)和悉心的指導(dǎo)。參考文獻(xiàn)1 鐘 睿.單片機(jī)原理及應(yīng)用開(kāi)發(fā)技術(shù).北京航空航天大學(xué)出版社,20012 李朝青.單片機(jī)原理及接口技術(shù).北京:北京航天航空大學(xué)出版社,19983 賈宗,許合利.c語(yǔ)言程序設(shè)計(jì).北京:人民郵電出版社,2010.94 艾永樂(lè),付子義.電子技術(shù)基礎(chǔ)(模擬部分,數(shù)字部分).北京:中國(guó)電力出 版社,20085 余家春.protel 99se電路設(shè)計(jì)使用教程.北京:中國(guó)鐵通出版社,20036 徐江海.單片機(jī)實(shí)用教程.北京:機(jī)械工業(yè)出版社,2006.12 7 唐勇.基于單片機(jī)的電子鐘的設(shè)計(jì).湖南:湖南工學(xué)院,20078 邢小杰.單
47、片機(jī)電子時(shí)鐘設(shè)計(jì).中國(guó)科技博覽,2009 9 吳金戎,沈慶陽(yáng),郭庭吉.單片機(jī)實(shí)踐與應(yīng)用,m.北京:清華大學(xué)出版社, 200110 康華光.電子技術(shù)基礎(chǔ)(數(shù)字部分,模擬部分).北京:高等教育出版社,200811 李建忠. 單片機(jī)原理及應(yīng)用m. 西安:西安電子科技大學(xué)出版社,2002附件一:定時(shí)器數(shù)字鐘電路圖 附件二:元器件清單定時(shí)器元器件清單數(shù)量1、usb接頭12、自鎖開(kāi)關(guān)13、電解電容10u14、電阻10k15、瓷片電容30p26、晶振12m17、電阻4.7k78、電阻470(貼片)119、三極管8550710、4位共陽(yáng)數(shù)碼管111、2位共陽(yáng)數(shù)碼管112、二極管(發(fā)紅)313、有源蜂鳴器114
48、、單片機(jī)stc89c52115、按鍵616、萬(wàn)能板117、連接導(dǎo)線若干附件三:源程序#include #define uint unsigned int#define uchar unsigned char/*定義數(shù)碼管*/#definesmg_xsp0/數(shù)碼管數(shù)據(jù)顯示#definesmg_kzp2/數(shù)碼管控制顯示#define speakp3_7/定義蜂鳴器接口#defineled1p3_4/定義led1接口(走時(shí)提示指示燈)#define led2p3_5/定義led2接口(鬧鐘指示燈亮)#define led3p3_6/定義led3接口(整點(diǎn)報(bào)時(shí)指示燈) #define key1p1_0
49、/時(shí)間調(diào)整允許 按鍵#define key2p1_1/時(shí)、分加 按鍵 #define key3p1_2/時(shí)、分減 按鍵#define key4p3_1/鬧鐘時(shí)間調(diào)整允許 按鍵#define key5p3_2/開(kāi)/關(guān)鬧鐘 按鍵#define key6p3_3/開(kāi)/關(guān)整點(diǎn)報(bào)時(shí) 按鍵uchar code data=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf;/沒(méi)有小數(shù)點(diǎn)/定義數(shù)組 數(shù)碼管 0 1 2 3 4 5 6 7 8 9 -uchar code data1=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0
50、x78,0x00,0x10,0x3f;/帶小數(shù)點(diǎn)/定義數(shù)組 數(shù)碼管 0 1 2 3 4 5 6 7 8 9 -uchar hour=12,min=0,sec=0;/系統(tǒng)上電默認(rèn)時(shí)間是 12.00.00uchar hour1=6,min1=0,sec1=0;/系統(tǒng)上電默認(rèn)鬧鈴是 06.00.00char num=0;/時(shí)間基數(shù) numuint t=3;/數(shù)碼管動(dòng)態(tài)掃描延時(shí)時(shí)間基數(shù) 源數(shù)據(jù)3uchar flag=0;/顯示標(biāo)志位(0:走時(shí)正常 1:調(diào)整時(shí)鐘 2:調(diào)整分鐘)uint i=0;j=0;/循環(huán)變量i,jbit nao_z=0;/鬧鐘標(biāo)志位(0:關(guān)閉鬧鐘 1:開(kāi)啟鬧鐘)uchar flag
51、_nao_z=0;/鬧鐘顯示模式(0:顯示正常走時(shí)時(shí)間 1:顯示鬧鐘時(shí)間 2:調(diào)整鬧鐘時(shí)鐘 3:調(diào)整鬧鐘分鐘)bit bao_shi=0;/整點(diǎn)報(bào)時(shí)標(biāo)志位(0:不允許整點(diǎn)報(bào)時(shí) 1:允許整點(diǎn)報(bào)時(shí))void delay(uint time)/掃描延時(shí)函數(shù)uint x,y;for(x=time;x0;x-)for(y=110;y0;y-);void delay_fmq(uint time)/延時(shí)函數(shù)(蜂鳴器)uint x,y;for(x=time;x0;x-)for(y=5;y0;y-);void fmq()/蜂鳴器函數(shù)(按鍵提示)for(i=0;i100;i+)speak=0;delay_fmq(
52、10);speak=1;void time0_init()/定時(shí)器0初始化函數(shù)tmod=0x01;/定時(shí)器0為方式1tl0=(65536-50000)%256;th0=(65536-50000)/256;/12m晶振 定時(shí)時(shí)間50mset0=1;/開(kāi)定時(shí)器0中斷ea=1;/開(kāi)總中斷tr0=0;/先不啟動(dòng)定時(shí)器0void time0() interrupt 1/定時(shí)器0中斷服務(wù)函數(shù)th0=(65536-50000)/256;/重新載裝初值,設(shè)置50ms中斷一次tl0=(65536-50000)%256;num+;/時(shí)間基數(shù)加1while(num=20)/1秒時(shí)間到num=0;/num清0sec+;/秒加1if(flag_nao_z!=0)/鬧鐘顯示模式不等于0(不顯示正常走時(shí)時(shí)間,即顯示鬧鐘時(shí)間
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 全英文租房合同范例
- 債權(quán)投資轉(zhuǎn)讓合同范本
- 乙方租屋合同范本
- 會(huì)計(jì)付款合同范本
- 課程培訓(xùn)合作合同范本
- 不過(guò)戶購(gòu)車合同范本
- 2025年度住宅小區(qū)車位租賃市場(chǎng)調(diào)查與分析合同
- 購(gòu)房抵押貸款合同范本
- 兼職保姆聘用合同范本
- 公司策劃服務(wù)合同范例
- 2025年上半年?yáng)|莞望牛墩鎮(zhèn)事業(yè)單位招考(10人)易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年度茶葉品牌加盟店加盟合同及售后服務(wù)協(xié)議
- 氧氣、乙炔工安全操作規(guī)程(3篇)
- 建筑廢棄混凝土處置和再生建材利用措施計(jì)劃
- 集裝箱知識(shí)培訓(xùn)課件
- 某縣城區(qū)地下綜合管廊建設(shè)工程項(xiàng)目可行性實(shí)施報(bào)告
- JJF(京) 92-2022 激光標(biāo)線儀校準(zhǔn)規(guī)范
- 普惠金融政策解讀
- 2024年疾控中心支部工作計(jì)劃范本
- 《無(wú)菌檢查培訓(xùn)》課件
- 2024-2030年中國(guó)香菇行業(yè)銷售狀況及供需前景預(yù)測(cè)報(bào)告
評(píng)論
0/150
提交評(píng)論