版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 智能定時(shí)器設(shè)計(jì)</b></p><p> 摘要:定時(shí)器的數(shù)字化給人們生產(chǎn)生活帶來(lái)了極大的方便,同時(shí)定時(shí)器的集成化受廣大消費(fèi)的喜愛(ài), 因此得到了廣泛的使用。</p><p> 定時(shí)器是采用數(shù)字電路實(shí)現(xiàn)對(duì)“時(shí)”、“分”、“秒”數(shù)字顯示的計(jì)時(shí)裝置。定時(shí)器的精度、穩(wěn)定度遠(yuǎn)遠(yuǎn)超過(guò)老式定時(shí)器。在這次設(shè)計(jì)中,我們采用LED數(shù)碼管顯示時(shí)、分、秒,以2
2、4 小時(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)整。 </p><p> 本次設(shè)計(jì)定時(shí)器主要通過(guò)單片機(jī)系統(tǒng)將傳輸?shù)臄?shù)據(jù)顯示在數(shù)碼顯示管和LED燈上,從而實(shí)現(xiàn)的鬧鐘、整點(diǎn)報(bào)時(shí)、時(shí)間顯示、校對(duì)時(shí)間等一系列的的操作。</p><p> 關(guān)鍵詞: 定時(shí)器; 單片機(jī); STC8
3、9C52</p><p><b> 目 錄</b></p><p><b> 摘 要1</b></p><p><b> 1 引 言1</b></p><p> 1.定時(shí)器的背景1</p><p> 1.2定時(shí)器的意義1</
4、p><p> 1.3定時(shí)器的應(yīng)用1</p><p> 1.4主要設(shè)計(jì)任務(wù)2</p><p> 2 整體設(shè)計(jì)方案3</p><p> 2.1 定時(shí)器的功能及設(shè)計(jì)要求3</p><p> 2.2 定時(shí)器的實(shí)現(xiàn)形式3</p><p> 2.3 實(shí)現(xiàn)定時(shí)器計(jì)時(shí)的基本方法4</
5、p><p> 3 定時(shí)器硬件系統(tǒng)的設(shè)計(jì)6</p><p> 3.1 定時(shí)器主控電路CPU的選擇6</p><p> 3.2 定時(shí)器主控電路最小應(yīng)用系統(tǒng)10</p><p> 3.3 鍵盤(pán)及其接口11</p><p> 3.3.1按鍵的去抖處理11</p><p> 3.3.2
6、定時(shí)器按鍵電路11</p><p> 3.4 蜂鳴器電路12</p><p> 3.5 數(shù)碼管顯示電路13</p><p> 4 定時(shí)器軟件系統(tǒng)的設(shè)計(jì)16</p><p> 4.1 主程序流程圖16</p><p> 4.2 中斷流程圖17</p><p> 4.3 定
7、時(shí)程序設(shè)計(jì)19</p><p> 5 定時(shí)器的系統(tǒng)調(diào)試仿真與測(cè)試20</p><p><b> 5.1 調(diào)試20</b></p><p><b> 5.2 仿真21</b></p><p><b> 5.3 測(cè)試23</b></p><p
8、><b> 6 總 結(jié)25</b></p><p><b> 致 謝26</b></p><p><b> 參考文獻(xiàn)27</b></p><p> 附件一:定時(shí)器電路圖28</p><p> 附件二:元器件清單29</p><p
9、> 附件三:源程序31</p><p><b> 第1章 引 言</b></p><p> 1.1數(shù)字定時(shí)器的背景 </p><p> 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代
10、的節(jié)奏也越來(lái)越快。時(shí)間對(duì)人們來(lái)說(shuō)總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時(shí)間。忘記了要做的事情,當(dāng)事情不是很重要的時(shí)候,這種遺忘無(wú)傷大雅。但是,一旦重要事情,一時(shí)的耽誤可能釀成大禍。</p><p> 目前,單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢(shì)將是進(jìn)一步向著CMOS化、低功耗、小體積、大容量、高性能、低價(jià)格和外圍電路內(nèi)裝化等幾個(gè)方面發(fā)展。單片機(jī)應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)
11、計(jì)思想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能,現(xiàn)在已能用單片機(jī)通過(guò)軟件方法來(lái)實(shí)現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。</p><p> 單片機(jī)模塊中最常見(jiàn)的是數(shù)字鐘,數(shù)字鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無(wú)機(jī)械裝置,具有更更長(zhǎng)的使用壽命,因此得到了廣泛的使用。</p><p>
12、; 1.2數(shù)字定時(shí)器的意義</p><p> 定時(shí)器是采用數(shù)字電路實(shí)現(xiàn)對(duì)時(shí)、分、秒。數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭、車(chē)站,、碼頭辦公室等公共場(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)控制、定
13、時(shí)廣播、自動(dòng)起閉路燈、定時(shí)開(kāi)關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以定時(shí)器數(shù)字化為基礎(chǔ)的。因此,研究定時(shí)器及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。[出售10元2000個(gè)財(cái)富值,足夠大學(xué)4年的使用。+威信(mk6689866)。]</p><p> 感謝您對(duì)我們的信任.已幫助1800多名畢業(yè)生完成畢業(yè)設(shè)計(jì),順利通過(guò)畢業(yè).</p><p> 在本工作室定做,請(qǐng)認(rèn)真閱讀
14、以下注意事項(xiàng):</p><p> 1.承接畢業(yè)設(shè)計(jì)/論文類型[專科/本科/工碩]</p><p> 1.1 PLC畢業(yè)設(shè)計(jì),單片機(jī)畢業(yè)設(shè)計(jì)</p><p> 1.2.電子|通信|電力|電氣|機(jī)電|自動(dòng)化類</p><p> 1.3.圖像處理類/地理信息GIS類</p><p> 2.認(rèn)真如實(shí)填寫(xiě)論文定做報(bào)表。
15、因?yàn)槲覀兪歉鶕?jù)你的定做需求收費(fèi),并按此需求,作為畢業(yè)設(shè)計(jì)制作完成時(shí)驗(yàn)收的依據(jù).</p><p> 3.填寫(xiě)完成后。+qq或發(fā)郵箱</p><p> 請(qǐng)發(fā)至郵箱:1046908547@qq.com 我們將在一日之內(nèi)回復(fù)你,并與你聯(lián)系.</p><p> 1.3數(shù)字定時(shí)器的應(yīng)用 </p><p> 數(shù)字定時(shí)器已成為人們?nèi)粘I钪械谋匦杵罚?/p>
16、廣泛用于個(gè)人家庭以及車(chē)站、碼頭、劇場(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)域。 </p><p><b> 1.4主要設(shè)計(jì)任務(wù)</b></p><p> 本次設(shè)計(jì)需要完成的設(shè)計(jì)不僅僅是完成畢業(yè)設(shè)
17、計(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í)而已,更多的是鍛煉自己實(shí)際操作的能力,也算是在進(jìn)入工作前給自己的一個(gè)啟發(fā)。然而就本次設(shè)計(jì)的定時(shí)器而言要完成的任務(wù)有:</p><p> 完成硬件電路的設(shè)計(jì),包括數(shù)字鐘最小系統(tǒng)設(shè)計(jì)、按鍵電路、電源電路、
18、</p><p> 蜂鳴器電路、二極管指示燈和LED數(shù)碼管顯示電路。</p><p> ?。?)完成軟件程序的編寫(xiě)和編譯,使系統(tǒng)具備如下功能:時(shí)間顯示、校對(duì) </p><p> 時(shí)間、鬧鈴、報(bào)時(shí)等功能。</p><p> ?。?)完成電路的模擬仿真。</p><p> ?。?)完成實(shí)物的焊接及測(cè)試。</p&g
19、t;<p> 第2章 整體設(shè)計(jì)方案</p><p> 2.1 定時(shí)器的功能及設(shè)計(jì)要求</p><p> ?。?)通過(guò)單片機(jī)內(nèi)定時(shí)器控制走時(shí),準(zhǔn)確持續(xù)走時(shí),調(diào)時(shí)不影響走時(shí)。</p><p> (2)在六個(gè)數(shù)碼管上顯示時(shí)、分、秒及兩個(gè)小數(shù)點(diǎn)。</p><p> (3)含有鬧鐘功能,可以選擇鬧鐘開(kāi)關(guān),可以設(shè)定鬧鈴時(shí)間。<
20、;/p><p> (4)到達(dá)鬧鐘時(shí)刻蜂鳴器警報(bào),可以關(guān)掉警報(bào)。</p><p> ?。?)當(dāng)時(shí)間到整點(diǎn)時(shí),蜂鳴器會(huì)短響一聲,可以關(guān)掉報(bào)時(shí)。</p><p> 2.2 定時(shí)器的實(shí)現(xiàn)形式</p><p> 利用單片機(jī)的智能性,可方便的實(shí)現(xiàn)具有智能定時(shí)器的設(shè)計(jì)。而且,微處理系統(tǒng)具有時(shí)鐘振蕩系統(tǒng),利用系統(tǒng)時(shí)鐘并借助微處理器的定時(shí)/計(jì)數(shù)器功能可以實(shí)現(xiàn)
21、數(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所示。</p><p> 圖2-1 數(shù)字定時(shí)器的系統(tǒng)框架</p><p><b> ?。?)顯示方案</b>&l
22、t;/p><p> 方案一:靜態(tài)顯示就是CPU將要顯示的字或字段碼送到輸出口,顯示器就可以顯示出所要顯示的字符,如果CPU不去改寫(xiě)它,它將一直保持下去;靜態(tài)顯示硬件開(kāi)銷(xiāo)大,電路復(fù)雜,信息刷新速度慢。</p><p> 方案二:動(dòng)態(tài)顯示則是一位一位的輪流點(diǎn)亮顯示器的各個(gè)位(掃描)。對(duì)于顯示器的每一位而言,每隔一段時(shí)間點(diǎn)亮一次;動(dòng)態(tài)顯示耗能較小,但編寫(xiě)程序較復(fù)雜。動(dòng)態(tài)顯示硬件連接簡(jiǎn)單,信息刷新
23、速度快。</p><p> 由于本次設(shè)計(jì)是對(duì)時(shí)間進(jìn)行顯示,所以在此選擇的是方案二,采用動(dòng)態(tài)顯示。</p><p><b> 鍵盤(pán)方案</b></p><p> 方案一:獨(dú)立式鍵盤(pán)。獨(dú)立式鍵盤(pán)的各個(gè)按鍵相互獨(dú)立,每個(gè)按鍵獨(dú)立的與一根數(shù)據(jù)輸入線(單片機(jī)并行接口或其他芯片的并行接口)連接。獨(dú)立式鍵盤(pán)配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單。但每個(gè)按鍵必須占用一根
24、接口線,在按鍵數(shù)量不多時(shí),接口占用多。所以,獨(dú)立式按鍵常用于按鍵數(shù)量不多的場(chǎng)合。</p><p> 方案二:矩陣式鍵盤(pán)。矩陣式鍵盤(pán)采用的是行列式結(jié)構(gòu),按鍵設(shè)置在行列的交點(diǎn)上。(當(dāng)數(shù)量接口為8時(shí),可以將4根接口定義為行線,另4根定義為列線,形成4*4鍵盤(pán),可以配置16個(gè)按鍵。)</p><p> 由于本設(shè)計(jì)只用了6個(gè)按鍵,不需要采用矩陣式鍵盤(pán),所以選擇第一種方案,采用獨(dú)立式鍵盤(pán)。<
25、/p><p><b> (3)計(jì)時(shí)方案</b></p><p><b> 采用軟件控制:</b></p><p> 利用單片機(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í)。</p><p>
26、 2.3 實(shí)現(xiàn)定時(shí)器計(jì)時(shí)的基本方法</p><p> 用STC89C52單片機(jī)的定時(shí)/計(jì)數(shù)器T0產(chǎn)生一秒的定時(shí)時(shí)間,作為秒計(jì)數(shù)時(shí)間,當(dāng)一秒產(chǎn)生時(shí),秒計(jì)數(shù)加1。</p><p> 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í)工作
27、也是通過(guò)TCON特殊功能寄存器來(lái)設(shè)置的。</p><p> 在此設(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ù),就可以采用軟件的方法來(lái)統(tǒng)計(jì)了。</p><p>
28、 設(shè)定TMOD=00000001B,即TMOD=01H,設(shè)置定時(shí)/計(jì)數(shù)器0工作在方式1。</p><p> 下面我們要給T0定時(shí)/計(jì)數(shù)器的TH0,TL0裝入預(yù)置初值,通過(guò)下面的公式可以計(jì)算出:</p><p> TH0=(216-50000)/256</p><p> TL0=(216-50000) MOD取摸 256</p><p>
29、; 這樣,當(dāng)定時(shí)/計(jì)數(shù)器0計(jì)滿50ms時(shí),產(chǎn)生一個(gè)中斷,我們可以在中斷服務(wù)程序中,對(duì)中斷次數(shù)加以統(tǒng)計(jì),以實(shí)現(xiàn)數(shù)字鐘的邏輯功能。</p><p> 第3章 定時(shí)器硬件系統(tǒng)的設(shè)計(jì) </p><p> 3.1 定時(shí)器主控電路CPU的選擇</p><p> 主控電路CPU是系統(tǒng)的核心單元,在執(zhí)行程序中其關(guān)鍵作用,它的優(yōu)劣直接關(guān)系到系統(tǒng)的性能。本次設(shè)計(jì)主要以STC8
30、9C52單片機(jī)為研究核心,分析其內(nèi)部結(jié)構(gòu),硬件資源分配等,下面是對(duì)STC89C52單片機(jī)的介紹:</p><p> STC89C52RC單片機(jī)是新一代高速、低功耗、超強(qiáng)抗干擾的單片機(jī),指令代碼完全兼容傳統(tǒng)8051單片機(jī),12時(shí)鐘/機(jī)器周期和6時(shí)鐘/機(jī)器周期可以任意選擇。 </p><p><b> 主要特性如下:</b></p><p
31、> ?。?)增強(qiáng)型8051單片機(jī),6時(shí)鐘/機(jī)器周期和12時(shí)鐘/機(jī)器周期可以任意選擇,指令代碼完全兼容傳統(tǒng)8051</p><p> ?。?)工作電壓:5.5V~3.3V(5V單片機(jī))/3.8V~2.0V(3V單片機(jī))</p><p> (3)工作頻率范圍:0~40MHz,相當(dāng)于普通8051的0~80MHz,實(shí)際工作頻率可達(dá)48MHz</p><p> ?。?
32、)用戶應(yīng)用程序空間為8K字節(jié)</p><p> (5)片上集成512字節(jié)RAM</p><p> ?。?)通用I/O口(32個(gè)),復(fù)位后為:P1/P2/P3/P4是準(zhǔn)雙向口/弱上拉,P0口是漏極開(kāi)路輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為I/O口用時(shí),需加上拉電阻。</p><p> ?。?)ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無(wú)需專用編程器,無(wú)需
33、專用仿真器,可通過(guò)串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數(shù)秒即可完成一片</p><p> ?。?)具有EEPROM功能</p><p> (9)具有看門(mén)狗功能</p><p> ?。?0)共3個(gè)16位定時(shí)器/計(jì)數(shù)器。即定時(shí)器T0、T1、T2</p><p> (11)外部中斷4路,下降沿中斷或低電平觸發(fā)電路,Pow
34、er Down模式可由外部中斷低電平觸發(fā)中斷方式喚醒</p><p> ?。?2)通用異步串行口(UART),還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè)UART</p><p> ?。?3)工作溫度范圍:-40~+85℃(工業(yè)級(jí))/0~75℃(商業(yè)級(jí))</p><p> (14)PDIP封裝</p><p> STC89C52RC單片機(jī)的工作模式:<
35、/p><p> 掉電模式:典型功耗<0.1μA,可由外部中斷喚醒,中斷返回后,繼續(xù)執(zhí)行原程序</p><p> 空閑模式:典型功耗2mA</p><p> 正常工作模式:典型功耗4Ma~7mA</p><p> 掉電模式可由外部中斷喚醒,適用于水表、氣表等電池供電系統(tǒng)及便攜設(shè)備</p><p> STC89
36、C52單片機(jī)引腳圖如圖3-1所示。</p><p> 圖3-1 STC89C52引腳圖</p><p> STC89C52引腳功能說(shuō)明 :</p><p> VCC(40引腳):電源電壓</p><p> VSS(20引腳):接地</p><p> P0端口(P0.0~P0.7,39~32引腳):P0口是一個(gè)
37、漏極開(kāi)路的8位雙向I/O口。作為輸出端口,每個(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í),要求外接上拉電阻。</p><p> P1端口(P1.0~P1.7,1~8引腳):P1口是一個(gè)帶內(nèi)部
38、上拉電阻的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)</p><p> 此外,P1.0和P1.1還可以作為定時(shí)器/計(jì)數(shù)器2的外部技術(shù)輸入(P1.0/T2)和定時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體參見(jiàn)下表3-
39、1所示。</p><p> 在對(duì)Flash ROM編程和程序校驗(yàn)時(shí),P1接收低8位地址。</p><p> 表3-1 P1.0和P1.1引腳復(fù)用功能</p><p> P2端口(P2.0~P2.7,21~28引腳):P2口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可以驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫(xiě)入1時(shí),通過(guò)內(nèi)部的上拉電阻
40、把端口拉到高電平,這時(shí)可用作輸入口。P2作為輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流(In)</p><p> 在訪問(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ì)改
41、變。</p><p> 在對(duì)Flash ROM編程和程序校驗(yàn)期間,P2也接收高位地址和一些控制信號(hào)。</p><p> P3端口(P3.0~P3.7,10~17引腳):P3是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O端口。P3的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫(xiě)入1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。P3做輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那
42、些被外部信號(hào)拉低的引腳會(huì)輸入一個(gè)電流(In)</p><p> 在對(duì)Flash ROM編程或程序校驗(yàn)時(shí),P3還接收一些控制信號(hào)。</p><p> P3口除作為一般I/O口外,還有其他一些復(fù)用功能,如下表所示3-2所示。</p><p> 表3-2 P3口引腳復(fù)用功能</p><p><b> 續(xù)表3-2</b>
43、;</p><p> RST(9引腳):復(fù)位輸入。當(dāng)輸入連續(xù)兩個(gè)機(jī)器周期以上高電平時(shí)為有效,用來(lái)完成單片機(jī)單片機(jī)的復(fù)位初始化操作。看門(mén)狗計(jì)時(shí)完成后,RST引腳輸出96個(gè)晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無(wú)效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。</p><p> ?。?0引腳):地址鎖存控制信號(hào)(ALE)是訪問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低8位
44、地址的輸出脈沖。在Flash編程時(shí),此引腳()也用作編程輸入脈沖。</p><p> 在一般情況下,ALE以晶振六分之一的固定頻率輸出脈沖,可用來(lái)作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE脈沖將會(huì)跳過(guò)。</p><p> 如果需要,通過(guò)將地址位8EH的SFR的第0位置“1”,ALE操作將無(wú)效。這一位置“1”,ALE僅在執(zhí)行MOVX或MOV指令時(shí)有效。否
45、則,ALE將被微弱拉高。這個(gè)ALE使能標(biāo)志位(地址位8EH的SFR的第0位)的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無(wú)效。</p><p> PESN(29引腳):外部程序存儲(chǔ)器選通信號(hào)PESN是外部程序存儲(chǔ)器選通信號(hào)。當(dāng)AT89C51RC從外部程序存儲(chǔ)器執(zhí)行外部代碼碼PESN在每個(gè)機(jī)器周期被激活兩次,而訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),PESN將不被激活。</p><p> /VPP(31引腳):訪問(wèn)
46、外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H到FFFFH的外部程序存儲(chǔ)器讀取指令,EA必須接GND。注意加密方式1時(shí),EA將內(nèi)部鎖定位RESET。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接VCC。在Flash編程期間,EA也接收12伏VPP電壓。</p><p> XTAL1(19引腳):振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。</p><p> XTAL2(18引腳):振蕩器反相放大器的輸入
47、端。</p><p> 3.2定時(shí)器主控電路最小應(yīng)用系統(tǒng)</p><p> 時(shí)鐘電路和復(fù)位電路是主控電路最小應(yīng)用系統(tǒng)中必不可少的。[出售10元2000個(gè)財(cái)富值,足夠大學(xué)4年的使用。+威信(mk6689866)。]</p><p> 感謝您對(duì)我們的信任.已幫助1800多名畢業(yè)生完成畢業(yè)設(shè)計(jì),順利通過(guò)畢業(yè).</p><p> 在本工作室定
48、做,請(qǐng)認(rèn)真閱讀以下注意事項(xiàng):</p><p> 1.承接畢業(yè)設(shè)計(jì)/論文類型[???本科/工碩]</p><p> 1.1 PLC畢業(yè)設(shè)計(jì),單片機(jī)畢業(yè)設(shè)計(jì)</p><p> 1.2.電子|通信|電力|電氣|機(jī)電|自動(dòng)化類</p><p> 1.3.圖像處理類/地理信息GIS類</p><p> 2.認(rèn)真如實(shí)填寫(xiě)
49、論文定做報(bào)表。因?yàn)槲覀兪歉鶕?jù)你的定做需求收費(fèi),并按此需求,作為畢業(yè)設(shè)計(jì)制作完成時(shí)驗(yàn)收的依據(jù).</p><p> 3.填寫(xiě)完成后。+qq或發(fā)郵箱</p><p> 請(qǐng)發(fā)至郵箱:1046908547@qq.com 我們將在一日之內(nèi)回復(fù)你,并與你聯(lián)系.</p><p> 定時(shí)器時(shí)鐘電路原理圖如圖3-2所示:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放
50、大器可以配置為內(nèi)部振蕩器。石英振蕩和陶瓷振蕩均可采用。如采外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p> 圖3-2 數(shù)字鐘時(shí)鐘電路 </p><p> 復(fù)位是使單片機(jī)或系統(tǒng)中的其他部件處于某種確定的初始狀態(tài)。單片機(jī)的工作就是從復(fù)位開(kāi)
51、始的,當(dāng)在單片機(jī)的RST引腳引入高電平并保持2個(gè)機(jī)器周期時(shí),單片機(jī)內(nèi)部就執(zhí)行復(fù)位操作(若該引腳持續(xù)保持高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài))。</p><p> 本次設(shè)計(jì)定時(shí)器主控電路最小系統(tǒng)原理圖如圖3-3所示。</p><p> 圖3-3 主控電路最小系統(tǒng)原理圖</p><p> 3.3 鍵盤(pán)及其接口</p><p> 3.3.1
52、按鍵的去抖處理</p><p> 按鍵就是一個(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í)間一般為5ms~10ms,抖動(dòng)可能造成一次按鍵的多次處理問(wèn)題。應(yīng)采取措施消除抖動(dòng)的影響。消除的方法很多,本設(shè)計(jì)采用軟件延時(shí)的方法來(lái)消除抖動(dòng)。當(dāng)單片機(jī)檢測(cè)到有按鍵按下時(shí)先定時(shí),然后再檢測(cè)按鍵的狀態(tài),若仍是閉合狀態(tài)則認(rèn)為真的有按鍵按下。當(dāng)檢測(cè)到按鍵釋
53、放時(shí),亦需要做同樣的處理。</p><p> 3.3.2 定時(shí)器按鍵電路</p><p> 定時(shí)器單片機(jī)控制系統(tǒng)中,往往只需要幾個(gè)功能鍵,此時(shí),可采用獨(dú)立式按鍵結(jié)構(gòu)。</p><p> 獨(dú)立式按鍵是直接用I/O口線構(gòu)成的單個(gè)按鍵電路,其特點(diǎn)是每個(gè)按鍵單獨(dú)占用一根I/O口線,每個(gè)按鍵的工作不會(huì)影響其它I/O口線的狀態(tài)。</p><p>
54、 獨(dú)立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單,但每個(gè)按鍵必須占用一根I/O口線,因此,在按鍵較多時(shí),I/O口線浪費(fèi)較大,不宜采用。</p><p> 本次設(shè)計(jì)按鍵電路的原理圖如3-4所示。</p><p> 圖3-4 按鍵電路原理圖</p><p> 其中,P1.0,P1.1,P1.2,,P3.1,P3.2,P3.3均為單片機(jī)的I/O口。</p>&
55、lt;p><b> 3.4 蜂鳴器電路</b></p><p> 蜂鳴器發(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所示。 </p
56、><p> 圖3-5 蜂鳴器原理圖</p><p> 如圖所示,三極管的基極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)通,這樣蜂鳴器的電流形成回路,發(fā)出聲音。因此,我們可以通過(guò)程序控制P3.7腳的電平來(lái)使蜂鳴器發(fā)出聲音和關(guān)閉。 </p><p>
57、; 3.5 數(shù)碼管顯示電路</p><p> 數(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)的字符。<
58、;/p><p> 數(shù)碼管有兩種接法即共陽(yáng)極接法和共陰極接法(如圖3-6所示)。所有發(fā)光二極管的陽(yáng)極連接在一起稱為共陽(yáng)極;陰極連接在一起的稱為共陰極。當(dāng)選用共陰極的顯示器時(shí),所有發(fā)光二極管的陰極連接在一起接地,當(dāng)某個(gè)發(fā)光二極管的陽(yáng)極接高電平時(shí),對(duì)應(yīng)的二極管點(diǎn)亮(LED數(shù)碼管每段需要10mA~20mA的驅(qū)動(dòng)電流)。當(dāng)選用共陽(yáng)極的顯示器時(shí),所有的發(fā)光二極管的陽(yáng)極連在一起接高電平,當(dāng)某個(gè)發(fā)光二極管的陰極接低電平時(shí),對(duì)應(yīng)的二
59、極管點(diǎn)亮。</p><p> 圖 3-6 LED數(shù)碼管結(jié)構(gòu)原理圖</p><p> 眾所周知,LED顯示數(shù)碼管通常由硬件7段譯碼集成電路,完成從數(shù)字到顯示碼的譯碼驅(qū)動(dòng)。本系統(tǒng)采用軟件譯碼,以減小體積,降低成本和功耗,軟件譯碼的另一優(yōu)勢(shì)還在于比硬件譯碼有更大的靈活性。所謂軟件譯碼,即由單片機(jī)軟件完成從數(shù)字到顯示碼的轉(zhuǎn)換。從LED數(shù)碼管結(jié)構(gòu)原理可知,為了顯示字符,要為L(zhǎng)ED顯示數(shù)碼管提供
60、顯示段碼,組成一個(gè)“8”字形字符的7段,再加上1個(gè)小數(shù)點(diǎn)位,共計(jì)8段,因此提供給LED數(shù)碼管的顯示段碼為1個(gè)字節(jié)。各段碼位與顯示段的對(duì)應(yīng)關(guān)系如表3-3。</p><p><b> 表3-3</b></p><p> 需說(shuō)明的是當(dāng)用數(shù)據(jù)口連接LED數(shù)碼管a~dp引腳時(shí),不同的連接方法,各段碼位與顯示段有不同的對(duì)應(yīng)關(guān)系。通常數(shù)據(jù)口的D0位與a段連接,D1位與b段連接,
61、……D7位與dp段連接,如表1所示,表3-4為用于LED數(shù)碼管顯示的十六進(jìn)制數(shù)和空白字符與P的顯示段碼。本次設(shè)計(jì)采用的是一個(gè)兩位共陽(yáng)極數(shù)碼管和一個(gè)四位共陽(yáng)極數(shù)碼管。</p><p><b> 表3-4</b></p><p> 將STC89C52的P0.0~P0.7分別與四位共陽(yáng)極碼管的a~g及dp相連,低電平位對(duì)應(yīng)的LED數(shù)碼管的段暗,高電平的位對(duì)應(yīng)的LED數(shù)碼
62、管的段亮,這樣,當(dāng)P2口輸出不同的段碼,就可以控制數(shù)碼管顯示不同的字符。</p><p> 本次設(shè)計(jì)的數(shù)碼管顯示電路原理圖如圖3-7所示。</p><p> 圖3-7 數(shù)碼管顯示電路原理圖</p><p> 第4章 定時(shí)器軟件系統(tǒng)的設(shè)計(jì)</p><p> 4.1 主程序流程圖</p><p> 主程序流程圖
63、如圖4-1所示。</p><p> 圖4-1 主程序流程圖</p><p><b> 4.2 中斷流程圖</b></p><p> 在這里,我們有必要介紹一下單片機(jī)的中斷系統(tǒng),以利于我們的學(xué)習(xí)。</p><p><b> 中斷的概念:</b></p><p> C
64、PU在處理某一事件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ò)程稱為中斷。</p><p> 中斷技術(shù)在單片系統(tǒng)中有著十分重要的作用,它不僅可以提高單片機(jī)CPU的效率,也可以對(duì)突發(fā)事件處理。所謂中斷就是當(dāng)CPU正在執(zhí)行程序A時(shí),發(fā)生了另一個(gè)急需處理
65、的事件B,這是CPU暫停當(dāng)前執(zhí)行的程序A,立即轉(zhuǎn)去執(zhí)行處理事件B的程序,處理完事件B后,再返回到程序A繼續(xù)執(zhí)行,這個(gè)過(guò)程被叫做中斷。關(guān)于中斷的概念有下列幾個(gè)名詞:(1)程序A稱為主程序,(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í)行主程序),下屬(外
66、設(shè))有問(wèn)題打電話來(lái)請(qǐng)示(中斷源),領(lǐng)導(dǎo)停下正在進(jìn)行的工作,通過(guò)電話給下屬做指示(執(zhí)行中斷服務(wù)程序),指示完后,領(lǐng)導(dǎo)掛斷電話,繼續(xù)做自己的工作(返回主程序繼續(xù)執(zhí)行)。</p><p> 中斷是一個(gè)過(guò)程,當(dāng)中央處理器CPU在處理某件事情時(shí),外部又發(fā)生了另一緊急事件,請(qǐng)求CPU暫停當(dāng)前的工作而去迅速處理該緊急事件。處理結(jié)束后,再回到原來(lái)被中斷的地方,繼續(xù)原來(lái)的工作。引起中斷的原因或發(fā)出中斷請(qǐng)求的來(lái)源,稱為中斷源。&l
67、t;/p><p> 單片機(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)求。</p><p> 當(dāng)CPU正在處理一個(gè)中斷源請(qǐng)求的時(shí)候,又發(fā)生了另一個(gè)優(yōu)先級(jí)比它高的中斷源請(qǐng)求,如果CPU
68、能夠暫時(shí)中止對(duì)原來(lái)中斷處理程序的執(zhí)行,轉(zhuǎn)而去處理優(yōu)先級(jí)更高的中斷源請(qǐng)求,待處理完以后,再繼續(xù)執(zhí)行原來(lái)的低級(jí)中斷處理程序,這樣的過(guò)程稱為中斷嵌套。</p><p> 定時(shí)器中斷服務(wù)子程序流程圖如圖4-2所示。</p><p> 圖4-2 中斷服務(wù)子程序流程</p><p> 4.3 定時(shí)程序設(shè)計(jì)</p><p> 定時(shí)器的定時(shí)功能是通
69、過(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。</p><p> 本設(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ò)
70、對(duì)特殊功能寄存器的編程,可以方便的選擇定時(shí)器/計(jì)數(shù)器兩種工作模式和4種工作方式。</p><p> 定時(shí)器/計(jì)數(shù)器工作在方式0時(shí),為13位的計(jì)數(shù)器,由TLX(X=0、1)的低5位和THX的高8位所構(gòu)成。TLX低5位溢出則向THX進(jìn)位,THX計(jì)數(shù)溢出則置位TCON中的溢出標(biāo)志位TFX。</p><p> 當(dāng)定時(shí)器/計(jì)數(shù)器工作于方式1,為16位的計(jì)數(shù)器。本次設(shè)計(jì)單片機(jī)多功能定時(shí)器,所以ST
71、C89C52內(nèi)部的定時(shí)器/計(jì)數(shù)器被選定為定時(shí)器工作模式,計(jì)數(shù)輸入信號(hào)是內(nèi)部時(shí)鐘脈沖,每個(gè)機(jī)器周期產(chǎn)生一個(gè)脈沖使計(jì)數(shù)器增1。</p><p> 第五章 定時(shí)器的系統(tǒng)調(diào)試仿真與測(cè)試</p><p><b> 5.1 調(diào)試</b></p><p> 單片機(jī)控制系統(tǒng)的調(diào)試包括硬件調(diào)試和軟件調(diào)試。調(diào)試工作的主要任務(wù)是排除硬件故障,包括設(shè)計(jì)錯(cuò)誤和工
72、藝性故障。由于條件限制,硬件調(diào)試主要是進(jìn)行脫機(jī)檢查:用萬(wàn)用表筆逐步按照邏輯圖檢查各器件的電源及各引腳的連接是否正確,檢查數(shù)據(jù)總線、地址總線和控制總線是否短路。為保護(hù)芯片,對(duì)各底座的電位進(jìn)行檢查,確定無(wú)誤后再插入芯片檢查。</p><p> 軟件調(diào)試是使用Keil C51進(jìn)行編程,生成.HEX文件,在Proteus中進(jìn)行仿真。</p><p> 本系統(tǒng)的軟件程序調(diào)試是在Keil C51的
73、環(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提供了高效靈活的指針,通用指針用3個(gè)字節(jié)來(lái)存儲(chǔ)存儲(chǔ)器類型及目標(biāo)地址,
74、可以在8051的任意存儲(chǔ)區(qū)內(nèi)存取任何變量,在聲明特殊指針的同時(shí)已指定了存儲(chǔ)器類型,指向了某一特定的存儲(chǔ)區(qū)域。由于地址存儲(chǔ)只需1-2字節(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)算符,使
75、得C語(yǔ)言的表達(dá)式類型多樣化,運(yùn)算類型極其豐富,靈活使用各種運(yùn)算符可以實(shí)現(xiàn)在其他</p><p> 8、生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。</p><p><b> 5.2 仿真</b></p><p> 本系統(tǒng)采用的是Proteus進(jìn)行仿真。Proteus軟件是英國(guó)Lab Center Electronics公司出版的EDA工具軟件。它
76、不僅具有其它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/16/18/24/30/DsPIC33
77、、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MATLAB等多種編譯器。</p><p> 在 Proteus繪制好原理圖后,調(diào)入已編譯好的目標(biāo)代碼文件:*.HEX,可以在 Proteus的原理圖中看到模擬的實(shí)物運(yùn)行狀態(tài)和過(guò)程。 Proteus是單片機(jī)課堂教學(xué)的先進(jìn)助手。Proteus不僅可將許多
78、單片機(jī)實(shí)例功能形象化,也可將許多單片機(jī)實(shí)例運(yùn)行過(guò)程形象化。前者可在相當(dāng)程度上得到實(shí)物演示實(shí)驗(yàn)的效果,后者則是實(shí)物演示實(shí)驗(yàn)難以達(dá)到的效果。它的元器件、連接線路等卻和傳統(tǒng)的單片機(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ì)的靈活性
79、、提供了實(shí)驗(yàn)室在數(shù)量、質(zhì)量上難以相比的虛擬儀器、儀表,因而也提供了培養(yǎng)學(xué)生實(shí)踐精神、創(chuàng)造精神的平臺(tái)。</p><p> 本次設(shè)計(jì)的仿真圖如圖5-1所示。</p><p> 圖5-1 定時(shí)器的電路仿真結(jié)果</p><p> 通過(guò)電路仿真,我們可以得到預(yù)期的電路功能,即實(shí)現(xiàn)了時(shí)、分、秒的顯示功能。</p><p><b> 5
80、.3 測(cè)試</b></p><p> 給系統(tǒng)上電后,系統(tǒng)開(kāi)始工作,默認(rèn)當(dāng)前時(shí)間為12.00.00,如圖5-2所示。</p><p> 圖5-2 上電后測(cè)試圖</p><p> ?。?)按下調(diào)整時(shí)間功能鍵:首次按下,進(jìn)入調(diào)整小時(shí)模式;二次按下,進(jìn)入調(diào)整分鐘模式;三次按下,退出調(diào)整時(shí)間功能,并顯示正常走時(shí)。如圖5-3所示。</p><
81、;p> 圖5-3 調(diào)整時(shí)間功能測(cè)試</p><p> (3)按下調(diào)整鬧鐘時(shí)間功能鍵:首次按下,進(jìn)入調(diào)整鬧鐘時(shí)間,走時(shí)指示燈會(huì)</p><p> 以一秒的頻率閃爍,并顯示當(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í)間后,蜂鳴
82、器會(huì)發(fā)出“滴-滴-滴......”聲音。若關(guān)閉鬧鐘,鬧鐘指示燈會(huì)熄滅。系統(tǒng)默認(rèn)鬧鐘時(shí)間為06.00.00。如圖5-4所示。</p><p> 圖5-4 鬧鐘功能測(cè)試</p><p> 整點(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ì)熄滅。如
83、圖5-5所示。</p><p> 圖5-5 整點(diǎn)報(bào)時(shí)測(cè)試</p><p><b> 第6章 總 結(jié)</b></p><p> 通過(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ī)
84、原理與應(yīng)用及電子技術(shù)方面的相關(guān)知識(shí),在這次畢業(yè)設(shè)計(jì)中得到了較好地實(shí)踐。</p><p> 在這次畢業(yè)設(shè)計(jì)當(dāng)中,我遇到很多自己不理解的問(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)題都迎刃而解了!其次,我不但努
85、力解決自己遇到的問(wèn)題,還幫助同學(xué)解決他們遇到的問(wèn)題。這樣一來(lái),我的知識(shí)得到了進(jìn)一步的鞏固,同學(xué)的問(wèn)題也得到了相應(yīng)的解決,我達(dá)到了一舉雙收的效果,我為此而感到高興。</p><p> 讓我覺(jué)得本次畢業(yè)設(shè)計(jì)的最大成果是:知道了將理論用到實(shí)際當(dāng)中時(shí),會(huì)遇到很多的問(wèn)題。需要我們一個(gè)一個(gè)地把它解決,根據(jù)自己所學(xué)的專業(yè)基礎(chǔ)知識(shí)分析具體原因,具體問(wèn)題具體分析,再逐一把它克服掉。知道理論與實(shí)際的差距,所以以后要多加強(qiáng)實(shí)際動(dòng)手的
86、能力。因此,學(xué)習(xí)就應(yīng)該采取理論與實(shí)踐相結(jié)合的方式,理論的問(wèn)題,也就是實(shí)踐性的課題。這種做法既有助于完成理論知識(shí)的鞏固,又有助于帶動(dòng)實(shí)踐,解決實(shí)際問(wèn)題,加強(qiáng)我們的動(dòng)手能力和解決問(wèn)題的能力。最后,我相信以后不管遇到什么困難和挫折,不要畏懼,要敢于向前探索,這樣問(wèn)題才能迎刃而解,這樣我們才能成功。</p><p><b> 致 謝</b></p><p> 通過(guò)這幾個(gè)
87、月來(lái)的忙碌和學(xué)習(xí),本次畢業(yè)論文設(shè)計(jì)已接近尾聲,在這里衷心感謝指導(dǎo)老師**老師的督促指導(dǎo),以及一起學(xué)習(xí)的同學(xué)們的支持,讓我按時(shí)完成了這次畢業(yè)設(shè)計(jì)。 </p><p> 在畢業(yè)論文設(shè)計(jì)過(guò)程中,我遇到了許許多多的困難。在此我要感謝我的指導(dǎo)老師**老師給我悉心的幫助和對(duì)我耐心而細(xì)致的指導(dǎo),除了敬佩**老師的專業(yè)水平以外,他的治學(xué)嚴(yán)謹(jǐn)和科學(xué)研究的精神也是我永遠(yuǎn)學(xué)習(xí)的榜樣,并將積極影響我今后的學(xué)習(xí)和工作,我才得以解決畢業(yè)設(shè)
88、計(jì)中遇到的種種問(wèn)題。同時(shí)感謝大學(xué)四年傳授我們專業(yè)知識(shí)的所有老師,謝謝你們嘔心瀝血的教導(dǎo)。還有謝謝我周?chē)耐芭笥?,他們給了我無(wú)數(shù)的關(guān)心和鼓勵(lì),也讓我的大學(xué)生活充滿了溫暖和歡樂(lè)。如果沒(méi)有他們的幫助,此次畢業(yè)論文的完成將變得困難。他們?cè)谖以O(shè)計(jì)中給了我許多寶貴的意見(jiàn)和建議。同時(shí)也要感謝自己遇到困難的時(shí)候沒(méi)有一蹶不振,取而代之的是找到了最好的方法來(lái)解決問(wèn)題。</p><p> 在本次畢業(yè)設(shè)計(jì)完成之際,我以誠(chéng)摯的心情再次
89、向**老師和幫助過(guò)我的同學(xué)表示衷心的感謝,感謝在這段時(shí)間里對(duì)我的關(guān)懷、鼓勵(lì)和悉心的指導(dǎo)。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 鐘 睿.單片機(jī)原理及應(yīng)用開(kāi)發(fā)技術(shù).北京航空航天大學(xué)出版社,2001</p><p> [2] 李朝青.單片機(jī)原理及接口技術(shù).北京:北京航天航空大學(xué)出版社,1998</p>
90、;<p> [3] 賈宗,許合利.C語(yǔ)言程序設(shè)計(jì).北京:人民郵電出版社,2010.9</p><p> [4] 艾永樂(lè),付子義.電子技術(shù)基礎(chǔ)(模擬部分,數(shù)字部分).北京:中國(guó)電力出 </p><p><b> 版社,2008</b></p><p> [5] 余家春.Protel 99SE電路設(shè)計(jì)使用教程.北京:中國(guó)鐵通出
91、版社,2003</p><p> [6] 徐江海.單片機(jī)實(shí)用教程.北京:機(jī)械工業(yè)出版社,2006.12 </p><p> [7] 唐勇.基于單片機(jī)的電子鐘的設(shè)計(jì).湖南:湖南工學(xué)院,2007</p><p> [8] 邢小杰.單片機(jī)電子時(shí)鐘設(shè)計(jì).中國(guó)科技博覽,2009 </p><p> [9] 吳金戎,沈慶陽(yáng),郭庭吉.單片機(jī)實(shí)踐與應(yīng)
92、用,[M].北京:清華大學(xué)出版社, </p><p><b> 2001</b></p><p> [10] 康華光.電子技術(shù)基礎(chǔ)(數(shù)字部分,模擬部分).北京:高等教育出版社,2008</p><p> [11] 李建忠. 單片機(jī)原理及應(yīng)用[M]. 西安:西安電子科技大學(xué)出版社,2002</p><p> 附件
93、一:定時(shí)器數(shù)字鐘電路圖</p><p><b> 附件二:元器件清單</b></p><p><b> 附件三:源程序</b></p><p> #include <REGX52.H></p><p> #define uint unsigned int</p>&
94、lt;p> #define uchar unsigned char</p><p> /***************定義數(shù)碼管*****************/</p><p> #defineSMG_XSP0//數(shù)碼管數(shù)據(jù)顯示</p><p> #defineSMG_KZP2//數(shù)碼管控制顯示</p><
95、;p> #define SpeakP3_7//定義蜂鳴器接口</p><p> #defineLED1P3_4//定義LED1接口(走時(shí)提示指示燈)</p><p> #define LED2P3_5//定義LED2接口(鬧鐘指示燈亮)</p><p> #define LED3P3_6//定義LED3接口(整點(diǎn)報(bào)時(shí)指
96、示燈)</p><p> #define Key1P1_0//時(shí)間調(diào)整允許 按鍵</p><p> #define Key2P1_1//時(shí)、分加 按鍵 </p><p> #define Key3P1_2//時(shí)、分減 按鍵</p><p> #define Key4P3_1//鬧鐘時(shí)間調(diào)整允許 按鍵
97、</p><p> #define Key5P3_2//開(kāi)/關(guān)鬧鐘 按鍵</p><p> #define Key6P3_3//開(kāi)/關(guān)整點(diǎn)報(bào)時(shí) 按鍵</p><p> uchar code Data[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xBF};//沒(méi)有小數(shù)點(diǎn)</
98、p><p> //定義數(shù)組 數(shù)碼管 0 1 2 3 4 5 6 7 8 9 -</p><p> uchar code Data1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x3F};//帶小數(shù)點(diǎn)</p><p> //定義數(shù)組 數(shù)
99、碼管 0 1 2 3 4 5 6 7 8 9 -</p><p> uchar hour=12,min=0,sec=0;//系統(tǒng)上電默認(rèn)時(shí)間是 12.00.00</p><p> uchar hour1=6,min1=0,sec1=0;//系統(tǒng)上電默認(rèn)鬧鈴是 06.00.00</p><p>
100、 char num=0;//時(shí)間基數(shù) num</p><p> uint t=3;//數(shù)碼管動(dòng)態(tài)掃描延時(shí)時(shí)間基數(shù) 源數(shù)據(jù)3</p><p> uchar flag=0;//顯示標(biāo)志位(0:走時(shí)正常 1:調(diào)整時(shí)鐘 2:調(diào)整分鐘)</p><p> uint i=0;j=0;//循環(huán)變量i,j</p&g
101、t;<p> bit nao_z=0;//鬧鐘標(biāo)志位(0:關(guān)閉鬧鐘 1:開(kāi)啟鬧鐘)</p><p> uchar flag_nao_z=0;//鬧鐘顯示模式(0:顯示正常走時(shí)時(shí)間 1:顯示鬧鐘時(shí)間 2:調(diào)整鬧鐘時(shí)鐘 3:調(diào)整鬧鐘分鐘)</p><p> bit bao_shi=0;//整點(diǎn)報(bào)時(shí)標(biāo)志位(0:不允許整點(diǎn)報(bào)時(shí) 1:允許整點(diǎn)報(bào)時(shí))
102、</p><p> void delay(uint time)//掃描延時(shí)函數(shù)</p><p><b> {</b></p><p><b> uint x,y;</b></p><p> for(x=time;x>0;x--)</p><p> for
103、(y=110;y>0;y--);</p><p><b> }</b></p><p> void delay_fmq(uint time)//延時(shí)函數(shù)(蜂鳴器)</p><p><b> {</b></p><p><b> uint x,y;</b>&
104、lt;/p><p> for(x=time;x>0;x--)</p><p> for(y=5;y>0;y--);</p><p><b> }</b></p><p> void fmq()//蜂鳴器函數(shù)(按鍵提示)</p><p><b> {</
105、b></p><p> for(i=0;i<100;i++)</p><p><b> {</b></p><p><b> Speak=0;</b></p><p> delay_fmq(10);</p><p><b> }</b&g
106、t;</p><p><b> Speak=1;</b></p><p><b> }</b></p><p> void Time0_init()//定時(shí)器0初始化函數(shù)</p><p><b> {</b></p><p> TMOD
107、=0x01;//定時(shí)器0為方式1</p><p> TL0=(65536-50000)%256;</p><p> TH0=(65536-50000)/256;//12M晶振 定時(shí)時(shí)間50ms</p><p> ET0=1;//開(kāi)定時(shí)器0中斷</p><p> EA=1;//開(kāi)總中斷</p&
108、gt;<p> TR0=0;//先不啟動(dòng)定時(shí)器0</p><p><b> }</b></p><p> void Time0() interrupt 1//定時(shí)器0中斷服務(wù)函數(shù)</p><p><b> {</b></p><p> TH0=(65536-5
109、0000)/256;//重新載裝初值,設(shè)置50ms中斷一次</p><p> TL0=(65536-50000)%256;</p><p> num++;//時(shí)間基數(shù)加1</p><p> while(num==20)//1秒時(shí)間到</p><p><b> {</b></p>
110、<p> num=0;//num清0</p><p> sec++;//秒加1</p><p> if(flag_nao_z!=0)//鬧鐘顯示模式不等于0(不顯示正常走時(shí)時(shí)間,即顯示鬧鐘時(shí)間)</p><p><b> {</b></p><p> LED1=~LED1;
111、//指示燈按照2Hz頻率閃爍(在調(diào)整鬧鐘時(shí)間時(shí),提示正在走時(shí))</p><p><b> }</b></p><p> else//否則鬧鐘顯示模式等于0(顯示正常走時(shí)時(shí)間)</p><p><b> {</b></p><p> LED1=1;//在正常走時(shí)的時(shí)候,
112、指示燈不亮</p><p><b> }</b></p><p> if(nao_z==1)//當(dāng)鬧鐘標(biāo)示位為1:開(kāi)啟鬧鐘</p><p><b> {</b></p><p> LED2=0;//鬧鐘指示燈亮</p><p> if(hour==ho
113、ur1&min==min1)//當(dāng)時(shí),分和鬧鐘時(shí),分相同</p><p><b> {</b></p><p> Speak=~Speak;//蜂鳴器接口取反(2Hz頻率響)</p><p><b> }</b></p><p> else//否則時(shí),分和鬧鐘時(shí),
114、分不相同</p><p><b> {</b></p><p> Speak=1;//關(guān)閉蜂鳴器</p><p><b> }</b></p><p><b> }</b></p><p> else//否則關(guān)閉鬧鐘</
115、p><p><b> {</b></p><p> LED2=1;//鬧鐘指示燈不亮</p><p><b> }</b></p><p><b> }</b></p><p> while(sec==60)//1分時(shí)間到<
116、/p><p><b> {</b></p><p> sec=0;//秒清0</p><p> min++;//分加1</p><p><b> }</b></p><p> while(min==60)//1小時(shí)時(shí)間到</p>
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- stc89c52智能定時(shí)器設(shè)計(jì)畢業(yè)論文
- 基于 stc89c52的定時(shí)器畢業(yè)論文(含外文翻譯)
- 基于 stc89c52的定時(shí)器畢業(yè)論文(含外文翻譯)
- stc89c52單片機(jī)畢業(yè)論文
- 基于stc89c52的智能小車(chē)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 基于stc89c52單片機(jī)的智能循跡小車(chē)畢業(yè)論文
- 基于stc89c52單片機(jī)的智能紅外遙控系統(tǒng)畢業(yè)論文
- 基于stc89c52智能小車(chē)的設(shè)計(jì)開(kāi)題報(bào)告
- 基于stc89c52智能小車(chē)的設(shè)計(jì)開(kāi)題報(bào)告
- 畢業(yè)論文--- 基于stc89c52單片機(jī)的led彩燈控制
- STC89C52單片機(jī).doc
- STC89C52單片機(jī).doc
- 基于stc89c52的球賽計(jì)時(shí)設(shè)計(jì)-職業(yè)學(xué)院物聯(lián)網(wǎng)畢業(yè)論文
- STC89C52單片機(jī).doc
- stc89c52單片機(jī).pdf
- stc89c52單片機(jī).pdf
- STC89C52單片機(jī).doc
- stc89c52單片機(jī).pdf
- STC89C52單片機(jī).doc
- 外文翻譯---stc89c52 數(shù)據(jù)手冊(cè)
評(píng)論
0/150
提交評(píng)論