版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 畢 業(yè) 設(shè) 計(jì) 任 務(wù) 書</p><p><b> 數(shù)字電子鐘</b></p><p><b> 摘 要</b></p><p> 20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動(dòng)下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會(huì)的</p><p> 各個(gè)領(lǐng)域,有力地推動(dòng)了社會(huì)生產(chǎn)力的
2、發(fā)展和社會(huì)信息化程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)</p><p> 品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。</p><p> 現(xiàn)代生活的人們越來越重視起了時(shí)間觀念,可以說是時(shí)間和金錢劃上了等號(hào)。對(duì)于那些</p><p> 對(duì)時(shí)間把握非常嚴(yán)格和準(zhǔn)確的人或事來說,時(shí)間的不準(zhǔn)確會(huì)帶來非常大的麻煩,所以以數(shù)碼</p><p> 管為顯
3、示器的時(shí)鐘比指針式的時(shí)鐘表現(xiàn)出了很大的優(yōu)勢。數(shù)碼管顯示的時(shí)間簡單明了而且讀</p><p> 數(shù)快、時(shí)間準(zhǔn)確顯示到秒。而機(jī)械式的依賴于晶體震蕩器,可能會(huì)導(dǎo)致誤差。</p><p> 數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì)“時(shí)”、“分”、“秒”數(shù)字顯示的計(jì)時(shí)裝置。數(shù)字鐘的精度、</p><p> 穩(wěn)定度遠(yuǎn)遠(yuǎn)超過老式機(jī)械鐘。在這次設(shè)計(jì)中,我們采用LED數(shù)碼管顯示時(shí)、分、秒,以
4、24</p><p> 小時(shí)計(jì)時(shí)方式,根據(jù)數(shù)碼管動(dòng)態(tài)顯示原理來進(jìn)行顯示,用12MHz的晶振產(chǎn)生振蕩脈沖,定</p><p> 時(shí)器計(jì)數(shù)。在此次設(shè)計(jì)中,電路具有顯示時(shí)間的其本功能,還可以實(shí)現(xiàn)對(duì)時(shí)間的調(diào)整。數(shù)字</p><p> 鐘是其小巧,價(jià)格低廉,走時(shí)精度高,使用方便,功能多,便于集成化而受廣大消費(fèi)的喜愛,</p><p> 因此得到
5、了廣泛的使用。</p><p><b> 關(guān)鍵字: 單片機(jī)</b></p><p><b> 目 錄 </b></p><p> 第一章 緒論 </p><p> 1.1 單片機(jī)的背景…………………………………………………………………… 1</p><p
6、> 1.2 單片機(jī)的意義…………………………………………………………………… 1</p><p> 1.3 單片機(jī)的應(yīng)用…………………………………………………………………… 1</p><p> 第二章 整體設(shè)計(jì)方案</p><p> 2.1 單片機(jī)的選擇…………………………………………………………………………… 2</p>&l
7、t;p> 2.2 單片機(jī)的基本結(jié)構(gòu)……………………………………………………………………… 4</p><p> 第三章 數(shù)字鐘的硬件設(shè)計(jì)</p><p> 3.1 最小系統(tǒng)設(shè)計(jì)…………………………………………………………………………… 9</p><p> 3.2 LED顯示電路…………………………………………………………………………… 12<
8、/p><p> 3.3 鍵盤控制電路…………………………………………………………………………… 14</p><p> 第四章 數(shù)字鐘的軟件設(shè)計(jì)</p><p> 4.1 系統(tǒng)軟件設(shè)計(jì)流程圖…………………………………………………………………… 16</p><p> 4.2 數(shù)字電子鐘的原理圖…………………………………………………………
9、………… 20</p><p> 4.3 主程序…………………………………………………………………………………… 20</p><p> 4.4 時(shí)鐘設(shè)置子程序………………………………………………………………………… 21</p><p> 4.5 定時(shí)器中斷子程序……………………………………………………………………… 21</p><p&
10、gt; 4.6 LED顯示子程序………………………………………………………………………… 22</p><p> 4.7 按鍵控制子程序………………………………………………………………………… 24</p><p><b> 第五章 系統(tǒng)仿真</b></p><p> 5.1 PROTUES軟件介紹………………………………………………
11、……………………… 26</p><p> 5.2 電子鐘系統(tǒng)PROTUES仿真……………………………………………………………… 26</p><p> 第六章 調(diào)試與功能說明</p><p> 6.2 系統(tǒng)性能測試與功能說明……………………………………………………………… 27</p><p> 6.3 系統(tǒng)時(shí)鐘誤差分析……………
12、………………………………………………………… 27</p><p> 6.1 硬盤調(diào)試………………………………………………………………………………… 27</p><p> 6.4 軟件調(diào)試問題及解決…………………………………………………………………… 27</p><p> 結(jié)束語………………………………………………………………………………………….29&l
13、t;/p><p> 參考文獻(xiàn)………………………………………………………………………………………30</p><p> 致謝……………………………………………………………………………………………..31</p><p><b> 第一章 緒論 </b></p><p> 1.1數(shù)字電子鐘的背景 </p>
14、;<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代的節(jié)奏也越來越快。 時(shí)間對(duì)人們來說總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時(shí)間。忘記了要做的事情,當(dāng)事情不是很重要的時(shí)候,這種遺忘無傷大雅。但是,一旦重要事情,一時(shí)的耽誤可能釀成大禍。</p>&l
15、t;p> 目前,單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢將是進(jìn)一步向著CMOS化、低功耗、小體積、大容量、高性能、低價(jià)格和外圍電路內(nèi)裝化等幾個(gè)方面發(fā)展。下面是單片機(jī)的主要發(fā)展趨勢。單片機(jī)應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能,現(xiàn)在已能用單片機(jī)通過軟件方法來實(shí)現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。</p>
16、<p> 單片機(jī)模塊中最常見的是數(shù)字鐘,數(shù)字鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無機(jī)械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。</p><p> 1.2數(shù)字電子鐘的意義</p><p> 數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì).時(shí),分,秒.數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭,車站, 碼頭辦公室等公共場所,成為人們?nèi)粘?/p>
17、生活中不可少的必需品,由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)起閉路燈、定時(shí)開關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。</p><
18、p> 1.3數(shù)字電子鐘的應(yīng)用 </p><p> 數(shù)字鐘已成為人們?nèi)粘I钪校罕夭豢缮俚谋匦杵罚瑥V泛用于個(gè)人家庭以及車站、碼頭、劇場、辦公室等公共場所,給人們的生活、學(xué)習(xí)、工作、娛樂帶來極大的方便。由于數(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)域。
19、 </p><p> 第二章 整體設(shè)計(jì)方案</p><p> 2.1 單片機(jī)的選擇 </p><p> 單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡稱單片機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。</p&g
20、t;<p> 通常,單片機(jī)由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基本功能部件:中央處理器、存儲(chǔ)器和I/O接口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)。</p><p> 單片機(jī)經(jīng)過1、2、3、3代的發(fā)展,正朝著多功能、高性能、低電壓、低功耗、低價(jià)格、大存儲(chǔ)容量、強(qiáng)I/O功能及較好的結(jié)構(gòu)兼容性方向發(fā)展。其發(fā)展趨勢不外乎以下幾個(gè)方面:</p>
21、<p> 1、多功能 </p><p> 單片機(jī)中盡可能地把所需要的存儲(chǔ)器和I/O口都集成在一塊芯片上,使得單片機(jī)可以實(shí)現(xiàn)更多的功能。比如A/D、PWM、PCA(可編程計(jì)數(shù)器陣列)、WDT(監(jiān)視定時(shí)器---看家狗)、高速I/O口及計(jì)數(shù)器的捕獲/比較邏輯等。</p><p> 有的單片機(jī)針對(duì)某一個(gè)應(yīng)用領(lǐng)域,集成了相關(guān)的控制設(shè)備,以減少應(yīng)用系統(tǒng)的芯片數(shù)量。例如,有的
22、芯片以51內(nèi)核為核心,集成了USB控制器、SMART CARD接口、MP3解碼器、CAN或者I*I*C總線控制器等,LED、LCD或VFD顯示驅(qū)動(dòng)器也開始集成在8位單片機(jī)中。</p><p><b> 2、高效率和高性能</b></p><p> 為了提高執(zhí)行速度和執(zhí)行效率,單片機(jī)開始使用RISC、流水線和DSP的設(shè)計(jì)技術(shù),使單片機(jī)的性能有了明顯的提高,表現(xiàn)為:單
23、片機(jī)的時(shí)鐘頻率得到提高;同樣頻率的單片機(jī)運(yùn)行效率也有了很大的提升;由于集成度的提高,單片機(jī)的尋址能力、片內(nèi)ROM(FLASH)和RAM的容量都突破了以往的數(shù)量和限制。</p><p> 由于系統(tǒng)資源和系統(tǒng)復(fù)雜程度的增加,開始使用高級(jí)語言(如C語言)來開發(fā)單片機(jī)的程序。使用高級(jí)語言可以降低開發(fā) 難度,縮短開發(fā)周期,增強(qiáng)軟件的可讀性和可移植性,便于改進(jìn)和擴(kuò)充功能。</p><p><b
24、> 3、低電壓和低功耗</b></p><p> 單片機(jī)的嵌入式應(yīng)用決定了低電壓和低功耗的特性十分重要。由于CMOS等工藝的大量采用,很多單片機(jī)可以在更低的電壓下工作(1.2V或0.9V),功耗已經(jīng)降低到uA級(jí)。這些特性使得單片機(jī)系統(tǒng)可以在更小電源的支持下工作更長的時(shí)間。</p><p><b> 4、低價(jià)格</b></p>&l
25、t;p> 單片機(jī)應(yīng)用面廣,使用數(shù)量大,帶來的直接好處就是成本的降低。目前世界各大公司為了提高競爭力,在提高單片機(jī)性能的同時(shí),十分注意降低其產(chǎn)品的價(jià)格。</p><p> 下面大致介紹一下單片機(jī)的主要應(yīng)用領(lǐng)域和特點(diǎn)。</p><p><b> ?。?)家用電器領(lǐng)域</b></p><p> 用單片機(jī)控制系統(tǒng)取代傳統(tǒng)的模擬和數(shù)字控制電路
26、,使家用電器(如洗衣機(jī)、空調(diào)、冰箱、微波爐、和電視機(jī)等)功能更完善,更加智能化和易于使用。</p><p> ?。?)辦公自動(dòng)化領(lǐng)域</p><p> 單片機(jī)作為嵌入式系統(tǒng)廣泛應(yīng)用于現(xiàn)代辦公設(shè)備,如計(jì)算機(jī)的鍵盤、磁盤驅(qū)動(dòng)、打印機(jī)、復(fù)印機(jī)、電話機(jī)和傳真機(jī)等。</p><p><b> ?。?)商業(yè)應(yīng)用領(lǐng)域</b></p><
27、p> 商業(yè)應(yīng)用系統(tǒng)部分與家用和辦公應(yīng)用系統(tǒng)相似,但更加注重設(shè)備的穩(wěn)定性、可靠性和安全性。商用系統(tǒng)中廣泛使用的電子計(jì)量儀器、收款機(jī)、條形碼閱讀器、安全監(jiān)測系統(tǒng)、空氣調(diào)節(jié)系統(tǒng)和冷凍保鮮系統(tǒng)等,都采用了單片機(jī)構(gòu)成的專用系統(tǒng)。與通用計(jì)算機(jī)相比,這些系統(tǒng)由于比較封閉,可以更有效地防止病毒和電磁干擾等,可靠性更高。</p><p><b> ?。?)工業(yè)自動(dòng)化</b></p>&l
28、t;p> 在工業(yè)控制和機(jī)電一體化控制系統(tǒng)中,除了采用工控計(jì)算機(jī)外,很多都是以單片機(jī)為核心的單片機(jī)和多機(jī)系統(tǒng)。</p><p> (5)智能儀表與集成智能傳感器</p><p> 目前在各種電氣測量儀表中普遍采用了單片機(jī)應(yīng)用系統(tǒng)來代替?zhèn)鹘y(tǒng)的測量系統(tǒng),使得測量系統(tǒng)具有存儲(chǔ)、數(shù)據(jù)處理、查詢及聯(lián)網(wǎng)等智能功能。將單片機(jī)和傳感器相結(jié)合,可以構(gòu)成新一代的智能傳感器。它將傳感器變換后的物理量作
29、進(jìn)一步的變化和處理,使其成為數(shù)字信號(hào),可以遠(yuǎn)距離傳輸并與計(jì)算機(jī)接口。</p><p> ?。?)現(xiàn)代交通與航空航天領(lǐng)域</p><p> 通常應(yīng)用于電子綜合顯示系統(tǒng)、動(dòng)力監(jiān)控系統(tǒng)、自動(dòng)駕駛系統(tǒng)、通信系統(tǒng)以及運(yùn)行監(jiān)視系統(tǒng)等。這些領(lǐng)域?qū)w積、功耗、穩(wěn)定性和實(shí)時(shí)性的要求往往比商用系統(tǒng)還要高,因此采用單片機(jī)系統(tǒng)更加重要。</p><p> 目前,我國生產(chǎn)很多型號(hào)的單片機(jī)
30、,在此,我們采用型號(hào)為STC89C52的單片機(jī)。因?yàn)椋?#160;STC89C52是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含4k bytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-52指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,內(nèi)置功能強(qiáng)大的微型計(jì)算機(jī)的AT89C52提供了高性價(jià)比的解決方案。<
31、/p><p> STC89C52是一個(gè)低功耗高性能單片機(jī),40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,STC89C51可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開發(fā)成本。</p><p> 2.2 單片機(jī)的基本結(jié)構(gòu)&l
32、t;/p><p> MCS-52單片機(jī)內(nèi)部結(jié)構(gòu)</p><p> 8052單片機(jī)包含中央處理器、程序存儲(chǔ)器(ROM)、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:</p><p><b> 中央處理器:</b></p><p>
33、; 中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。</p><p> 數(shù)據(jù)存儲(chǔ)器(RAM)</p><p> 8052內(nèi)部有128個(gè)8位用戶數(shù)據(jù)存儲(chǔ)單元和128個(gè)專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能
34、用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個(gè),可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。</p><p> 圖2-1 單片機(jī)8052的內(nèi)部結(jié)構(gòu)</p><p> 程序存儲(chǔ)器(ROM):</p><p> 8052共有4096個(gè)8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。</p><p> 定時(shí)/計(jì)數(shù)器(ROM
35、):</p><p> 8052有兩個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。</p><p> 并行輸入輸出(I/O)口:</p><p> 8052共有4組8位I/O口(P0、 P1、P2或P3),用于對(duì)外部數(shù)據(jù)的傳輸。</p><p><b> 全雙工串行口:</b></
36、p><p> 8052內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。</p><p><b> 中斷系統(tǒng):</b></p><p> 8052具備較完善的中斷功能,有兩個(gè)外中斷、兩個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷,可滿足不同的控制要求,并具有2級(jí)的優(yōu)先級(jí)別選擇。</p
37、><p><b> 時(shí)鐘電路:</b></p><p> 8052內(nèi)置最高頻率達(dá)12MHz的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序,但8052單片機(jī)需外置振蕩電容。</p><p> 單片機(jī)的結(jié)構(gòu)有兩種類型,一種是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計(jì)算機(jī)廣泛使用的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器合二為一
38、的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-52系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機(jī)則采用普林斯頓結(jié)構(gòu)。</p><p> 下圖是MCS-52系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖。</p><p> 圖2-2 MCS-52系列單片機(jī)的內(nèi)部結(jié)構(gòu)</p><p> MCS-52的引腳說明:</p>&
39、lt;p> MCS-52系列單片機(jī)中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我們對(duì)這些引腳的功能加以說明:</p><p> MCS-51的引腳說明:</p><p> MCS-52系列單片機(jī)中的8031、805
40、1及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用。現(xiàn)在我們對(duì)這些引腳的功能加以說明:</p><p> 圖2-3 單片機(jī)的引腳圖</p><p> Pin9:RESET/Vpd復(fù)位信號(hào)復(fù)用腳,當(dāng)8052通電,時(shí)鐘電路開始工作,在RESET引腳上出現(xiàn)24
41、個(gè)時(shí)鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計(jì)數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),8052的初始態(tài)。</p><p> 8051的復(fù)位方式可以是自動(dòng)復(fù)位,也可以是手動(dòng)復(fù)位,見下圖4。此外,RESET/Vpd還
42、是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部RAM的數(shù)據(jù)不丟失。</p><p> 圖2-4 上電自動(dòng)和手動(dòng)復(fù)位電路圖</p><p> 圖2-5 內(nèi)部和外部時(shí)鐘方式圖 </p><p> Pin30:ALE/當(dāng)訪問外部程序器時(shí),ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲(chǔ)器時(shí),ALE端將有一個(gè)1/6時(shí)鐘頻率的正
43、脈沖信號(hào),這個(gè)信號(hào)可以用于識(shí)別單片機(jī)是否工作,也可以當(dāng)作一個(gè)時(shí)鐘向外輸出。更有一個(gè)特點(diǎn),當(dāng)訪問外部程序存儲(chǔ)器,ALE會(huì)跳過一個(gè)脈沖。 </p><p> 如果單片機(jī)是EPROM,在編程其間,將用于輸入編程脈沖。</p><p> Pin29:當(dāng)訪問外部程序存儲(chǔ)器時(shí),此腳輸出負(fù)脈沖選通信號(hào),PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲(chǔ)器則把指令數(shù)據(jù)放到P0口上,由CPU讀
44、入并執(zhí)行。</p><p> Pin31:EA/Vpp程序存儲(chǔ)器的內(nèi)外部選通線,8051和8751單片機(jī),內(nèi)置有4kB的程序存儲(chǔ)器,當(dāng)EA為高電平并且程序地址小于4kB時(shí),讀取內(nèi)部程序存儲(chǔ)器指令數(shù)據(jù),而超過4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲(chǔ)器指令。顯然,對(duì)內(nèi)部無程序存儲(chǔ)器的8031,EA端必須接地。</p><p> 第三章 數(shù)字鐘的硬件
45、設(shè)計(jì)</p><p> 3.1 最小系統(tǒng)設(shè)計(jì)</p><p> 圖3-1 單片機(jī)最小系統(tǒng)的結(jié)構(gòu)圖 </p><p> 單片機(jī)的最小系統(tǒng)是由電源、復(fù)位、晶振、/EA=1組成,下面介紹一下每一個(gè)組成部分。</p><p> 1.電源引腳 </p><p> Vcc 40 電源端</p>
46、;<p> GND 20 接地端</p><p> 工作電壓為5V,另有AT89LV51工作電壓則是2.7-6V, 引腳功能一樣。 </p><p><b> 2.外接晶體引腳</b></p><p> 圖3-2 晶振連接的內(nèi)部、外部方式圖</p><p><b> XTAL1 19&l
47、t;/b></p><p><b> XTAL2 18</b></p><p> XTAL1是片內(nèi)振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時(shí),外部振蕩信號(hào)應(yīng)直接加到XTAL1,而XTAL2懸空。內(nèi)部方式時(shí),時(shí)鐘發(fā)生器對(duì)振蕩脈沖二分頻,如晶振為12MHz,時(shí)鐘頻率就為6MHz。晶振的頻率可以在1MHz-24MHz內(nèi)選擇。電容取30PF左右
48、。系統(tǒng)的時(shí)鐘電路設(shè)計(jì)是采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路。AT89單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個(gè)自激振蕩器。外接晶體諧振器以及電容C1和C2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。對(duì)外接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會(huì)影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此
49、系統(tǒng)電路的晶體振蕩器的值為12MHz,電容應(yīng)盡可能的選擇陶瓷電容,電容值約為22μF。在焊接刷電路板時(shí),晶體振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作。</p><p> 3. 復(fù)位 RST 9</p><p> 在振蕩器運(yùn)行時(shí),有兩個(gè)機(jī)器周期(24個(gè)振蕩周期)以上的高電平出現(xiàn)在此引腿時(shí),將使單片機(jī)復(fù)位,只要這個(gè)腳保持高電平,51芯片便
50、循環(huán)復(fù)位。復(fù)位后P0-P3口均置1引腳表現(xiàn)為高電平,程序計(jì)數(shù)器和特殊功能寄存器SFR全部清零。當(dāng)復(fù)位腳由高電平變?yōu)榈碗娖綍r(shí),芯片為ROM的00H處開始運(yùn)行程序。復(fù)位是由外部的復(fù)位電路來實(shí)現(xiàn)的。片內(nèi)復(fù)位電路是復(fù)位引腳RST通過一個(gè)斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來抑制噪聲,它的輸出在每個(gè)機(jī)器周期的S5P2,由復(fù)位電路采樣一次。復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式,此電路系統(tǒng)采用的是上電與按鈕復(fù)位電路。當(dāng)時(shí)鐘頻率選用6M
51、Hz時(shí),C取22μF,Rs約為200Ω,Rk約為1K。復(fù)位操作不會(huì)對(duì)內(nèi)部RAM有所影響。</p><p> 常用的復(fù)位電路如下圖所示:</p><p> 圖3-3 常用復(fù)位電路圖</p><p><b> 4.輸入輸出引腳</b></p><p> (1) P0端口[P0.0-P0.7] P0是一個(gè)8位漏極開路型
52、雙向I/O端口,端口置1(對(duì)端口寫1)時(shí)作高阻抗輸入端。作為輸出口時(shí)能驅(qū)動(dòng)8個(gè)TTL。</p><p> 對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接收指令字節(jié);校驗(yàn)程序時(shí)輸出指令字節(jié),要求外接上拉電阻。</p><p> 在訪問外部程序和外部數(shù)據(jù)存儲(chǔ)器時(shí),P0口是分時(shí)轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,訪問期間內(nèi)部的上拉電阻起作用。</p><p> (2) P1端口[
53、P1.0-P1.7] P1是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時(shí)可驅(qū)動(dòng)4個(gè)TTL。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。</p><p> 對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接收低8位地址信息。</p><p> (3) P2端口[P2.0-P2.7] P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時(shí)可驅(qū)動(dòng)4個(gè)TTL。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高
54、電平,作輸入用。對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接收高8位地址和控制信息。</p><p> 在訪問外部程序和16位外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口送出高8位地址。而在訪問8位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí)其引腳上的內(nèi)容在此期間不會(huì)改變。</p><p> (4) P3端口[P3.0-P3.7] P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時(shí)可驅(qū)動(dòng)4個(gè)TTL。端口置1時(shí),內(nèi)部上拉電阻將端口拉
55、到高電平,作輸入用。</p><p> 對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接控制信息。除此之外P3端口還用于一些專門功能,具體請看下表。</p><p> 表3-1 P3端口引腳兼用功能表</p><p> 3.2 LED顯示電路</p><p> 顯示器普遍地用于直觀地顯示數(shù)字系統(tǒng)的運(yùn)行狀態(tài)和工作數(shù)據(jù),按照材料及產(chǎn)品工藝,單片機(jī)應(yīng)用
56、系統(tǒng)中常用的顯示器有: 發(fā)光二極管LED顯示器、液晶LCD顯示器、CRT顯示器等。LED顯示器是現(xiàn)在最常用的顯示器之一,如下圖所示。</p><p> 圖3-4 LED顯示器的符號(hào)圖</p><p> 發(fā)光二極管(LED)由特殊的半導(dǎo)體材料砷化鎵、磷砷化鎵等制成,可以單獨(dú)使用,也可以組裝成分段式或點(diǎn)陣式LED顯示器件(半導(dǎo)體顯示器)。分段式顯示器(LED數(shù)碼管)由7條線段圍成8字型,每
57、一段包含一個(gè)發(fā)光二極管。外加正向電壓時(shí)二極管導(dǎo)通,發(fā)出清晰的光。只要按規(guī)律控制各發(fā)光段亮、滅,就可以顯示各種字形或符號(hào)。LED數(shù)碼管有共陽、共陰之分。圖是共陽式、共陰式LED數(shù)碼管的原理圖和符號(hào).</p><p> 圖3-5 共陽式、共陰式LED數(shù)碼管的原理圖和數(shù)碼管的符號(hào)圖</p><p> 顯示電路顯示模塊需要實(shí)時(shí)顯示當(dāng)前的時(shí)間,即時(shí)、分、秒,因此需要6個(gè)數(shù)碼管,另需兩個(gè)數(shù)碼管來顯
58、示橫。采用動(dòng)態(tài)顯示方式顯示時(shí)間,硬件連接如下圖所示,時(shí)的十位和個(gè)位分別顯示在第一個(gè)和第二個(gè)數(shù)碼管,分的十位和個(gè)位分別顯示在第四個(gè)和第五個(gè)數(shù)碼管,秒的十位和個(gè)位分別顯示在第七個(gè)和第八個(gè)數(shù)碼管,其余數(shù)碼管顯示橫線。LED顯示器的顯示控制方式按驅(qū)動(dòng)方式可分成靜態(tài)顯示方式和動(dòng)態(tài)顯示方式兩種。對(duì)于多位LED顯示器,通常</p><p> 都是采用動(dòng)態(tài)掃描的方法進(jìn)行顯示,其硬件連接方式如下圖所示。</p>&
59、lt;p> 圖3-6 數(shù)碼管的硬件連接示意圖</p><p><b> 數(shù)碼管使用條件:</b></p><p> a、段及小數(shù)點(diǎn)上加限流電阻 </p><p> b、使用電壓:段:根據(jù)發(fā)光顏色決定; 小數(shù)點(diǎn):根據(jù)發(fā)光顏色決定</p><p> c、使用電流:靜態(tài):總電流 80mA(每段 10
60、mA);動(dòng)態(tài):平均電流 4-5mA 峰值電流 100mA</p><p> 數(shù)碼管使用注意事項(xiàng)說明:</p><p> ?。ǎ保?shù)碼管表面不要用手觸摸,不要用手去弄引角;</p><p> ?。ǎ玻┖附訙囟龋海玻叮岸?;焊接時(shí)間:5S</p><p> (3)表面有保護(hù)膜的產(chǎn)品,可以在使用前撕下來。</p><p>
61、 3.3 鍵盤控制電路</p><p> 該設(shè)計(jì)需要校對(duì)時(shí)間,所以用三個(gè)按鍵來實(shí)現(xiàn)。按khour來調(diào)節(jié)小時(shí)的時(shí)間,按 kmin來調(diào)節(jié)分針的時(shí)間,按 ksec來調(diào)節(jié)秒的時(shí)間。下圖是按鍵硬件連接圖。</p><p> 圖3-7 按鍵控制電路的硬件連接圖</p><p> 當(dāng)用手按下一個(gè)鍵時(shí),如圖3-8所示,往往按鍵在閉合位置和斷開位置之間跳幾下才穩(wěn)定到閉合狀態(tài)的
62、情況;在釋放一個(gè)鍵時(shí),也回會(huì)出現(xiàn)類似的情況。這就是抖動(dòng)。抖動(dòng)的持續(xù)時(shí)間隨鍵盤材料和操作員而異,不過通??偸遣淮笥?0ms。很容易想到,抖動(dòng)問題不解決就會(huì)引起對(duì)閉合鍵的識(shí)別。用軟件方法可以很容易地解決抖動(dòng)問題,這就是通過延遲10ms來等待抖動(dòng)消失,這之后,在讀入鍵盤碼。</p><p> 圖3-8 按鍵抖動(dòng)信號(hào)波形</p><p><b> 數(shù)字鐘的軟件設(shè)計(jì)</b>
63、</p><p> 系統(tǒng)的軟件設(shè)計(jì)也是工具系統(tǒng)功能的設(shè)計(jì)。單片機(jī)軟件的設(shè)計(jì)主要包括執(zhí)行軟件(完成各種實(shí)質(zhì)性功能)的設(shè)計(jì)和監(jiān)控軟件的設(shè)計(jì)。單片機(jī)的軟件設(shè)計(jì)通常要考慮以下幾個(gè)方面的問題:</p><p> ?。?)根據(jù)軟件功能要求,將系統(tǒng)軟件劃分為若干個(gè)相對(duì)獨(dú)立的部分,設(shè)計(jì)出合理的總體結(jié)構(gòu),使軟件開發(fā)清晰、簡潔和流程合理;</p><p> ?。?)培養(yǎng)良好的編程風(fēng)格
64、,如考慮結(jié)構(gòu)化程序設(shè)計(jì)、實(shí)行模塊化、子程序化。既便于調(diào)試、鏈接,又便于移植和修改;</p><p> (3)建立正確的數(shù)學(xué)模型,通過仿真提高系統(tǒng)的性能,并選取合適的參數(shù);</p><p> ?。?)繪制程序流程圖;</p><p> ?。?)合理分配系統(tǒng)資源;</p><p> ?。?)為程序加入注釋,提高可讀性,實(shí)施軟件工程;</p
65、><p> ?。?)注意軟件的抗干擾設(shè)計(jì),提高系統(tǒng)的可靠性。</p><p> 4.1 系統(tǒng)軟件設(shè)計(jì)流程圖</p><p> 這次的數(shù)字電子鐘設(shè)計(jì)用到很多子程序,它們的流程圖如下所示。</p><p> 主程序是先開始,然后啟動(dòng)定時(shí)器,定時(shí)器啟動(dòng)后在進(jìn)行按鍵檢測,檢測完后,就可以顯示時(shí)間。</p><p> 圖4-
66、1 主程序流程圖</p><p> 按鍵處理是先檢測秒按鍵是否按下,秒按鍵如果按下,秒就加1;如果沒有按下,就檢測分按鍵是否按下,分按鍵如果按下,分就加1;如果沒有按下,就檢測時(shí)按鍵是否按下,時(shí)按鍵如果按下,時(shí)就加1;如果沒有按下,就把時(shí)間顯示出來。 </p><p> 圖4-2 按鍵處理流程圖</p><p> 定時(shí)器中斷時(shí)是先檢測1秒是否到,1秒如果到,
67、秒單元就加1;如果沒到,就檢測1分鐘是否到,1分鐘如果到,分單元就加1;如果沒到,就檢測1小時(shí)是否到,1小時(shí)如果到,時(shí)單元就加1,如果沒到,就顯示時(shí)間。</p><p> 圖4-3 定時(shí)器中斷流程圖</p><p> 時(shí)間顯示是先秒個(gè)位計(jì)算顯示,然后是秒十位計(jì)算顯示,再是分個(gè)位計(jì)算顯示,再然后是分十位顯示,再就是時(shí)個(gè)位計(jì)算顯示,最后是時(shí)十位顯示。</p><p>
68、; 圖4-4 時(shí)間顯示流程圖</p><p> 4.2 數(shù)字鐘的原理圖</p><p> 用PROTUES軟件,根據(jù)要求畫出數(shù)字電子鐘的原理圖如下所示。</p><p> 圖4-5 數(shù)字鐘的原理圖 </p><p> 在此有必要介紹一下數(shù)字電子鐘的工作原理。</p><p> 工作原理 : &l
69、t;/p><p> 數(shù)字電子鐘是一個(gè)將“ 時(shí)”,“分”,“秒”顯示于人的視覺器官的計(jì)時(shí)裝置。它的計(jì)時(shí)周期為24小時(shí),顯示滿刻度為23時(shí)59分59秒,另外還有校時(shí)功能。因此,一個(gè)基本的數(shù)字鐘電路主要由顯示器“時(shí)”,“分”,“秒”和單片機(jī),還有校時(shí)電路組成。8個(gè)數(shù)碼管的段選接到單片機(jī)的P0口,位選接到單片機(jī)的P2口。數(shù)碼管按照數(shù)碼管動(dòng)態(tài)顯示的工作原理工作,將標(biāo)準(zhǔn)秒信號(hào)送入“秒單元”,“秒單元”采用60進(jìn)制計(jì)數(shù)器,每累計(jì)
70、60秒發(fā)出一個(gè)“分脈沖”信號(hào),該信號(hào)將作為“分單元”的時(shí)鐘脈沖。“分單元”也采用60進(jìn)制計(jì)數(shù)器,每累計(jì)60分鐘,發(fā)出一個(gè)“時(shí)脈沖”信號(hào),該信號(hào)將被送到“時(shí)單元”?!皶r(shí)單元”采用24進(jìn)制計(jì)時(shí)器,可實(shí)現(xiàn)對(duì)一天24小時(shí)的累計(jì)。顯示電路將“時(shí)”、“分”、“秒”通過七段顯示器顯示出來。校時(shí)電路時(shí)用來對(duì)“時(shí)”、“分”、“秒”顯示數(shù)字進(jìn)行校對(duì)調(diào)整,按一下ksec,秒單元就加1 ,按一下kmin,分就加1,按一下khour,時(shí)就加1。</p>
71、;<p><b> 4.3 主程序</b></p><p> #include<reg52.h> </p><p> sbit ksec=P3^0;</p><p> sbit kmin=P3^1;</p><p> sbit khour=P3^2;</p><
72、p> unsigned char secshi=0,secge=0,minshi=0,minge=0,hourshi=0,hourge=0;</p><p> unsigned int num=0,sec=0,min=0,hour=0;</p><p> unsigned char code table[10]={0x3f,0xxx,0x5b,0x4f,0x66,0x6d,0x
73、7d,0x07,0x7f,0x6f};</p><p> void delay(unsigned int);</p><p> void keyscan();</p><p> void display();</p><p><b> main()</b></p><p> {TMOD=
74、0x01;</p><p> TH0=(65536-50000)/256; </p><p> TL0=(65536-50000)%256;</p><p> EA=1;ET0=1;TR0=1;</p><p><b> while(1)</b></p><p> {display();
75、</p><p> keyscan();</p><p><b> }</b></p><p><b> }</b></p><p> void delay(unsigned int z)</p><p> {unsigned int x,y;</p>
76、<p> for(x=z;x>0;x--)</p><p> for(y=110;y>0;y--);}</p><p> 4.4 時(shí)鐘設(shè)置子程序</p><p> void time0() interrupt 1</p><p><b> {num++;</b></p>&
77、lt;p> TH0=(65536-50000)/256; </p><p> TL0=(65536-50000)%256;</p><p><b> }</b></p><p> 4.5 定時(shí)器中斷子程序</p><p> void time0() interrupt 1</p><p
78、><b> {num++;</b></p><p> TH0=(65536-50000)/256; </p><p> TL0=(65536-50000)%256;</p><p><b> }</b></p><p> 在這里,我們有必要介紹一下單片機(jī)的中斷系統(tǒng),以利于我們的學(xué)習(xí)。
79、</p><p> 中斷技術(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ān)于中斷的概念有下列幾個(gè)名詞:(1)程序A稱為主程序,(2)處理事件B的程序稱為中斷服務(wù)程序,(3)主程序中
80、轉(zhuǎn)向中斷服務(wù)程序的地方稱為斷點(diǎn),(4)引起中斷的原因即事件B稱為中斷源,(5)轉(zhuǎn)去執(zhí)行中斷服務(wù)程序稱為中斷響應(yīng)。關(guān)于中斷的概念可以打個(gè)如下的比喻。領(lǐng)導(dǎo)(CPU)在自己的房間辦公(執(zhí)行主程序),下屬(外設(shè))有問題打電話來請示(中斷源),領(lǐng)導(dǎo)停下正在進(jìn)行的工作,通過電話給下屬做指示(執(zhí)行中斷服務(wù)程序),指示完后,領(lǐng)導(dǎo)掛斷電話,繼續(xù)做自己的工作(返回主程序繼續(xù)執(zhí)行)。</p><p> 中斷是一個(gè)過程,當(dāng)中央處理器C
81、PU在處理某件事情時(shí),外部又發(fā)生了另一緊急事件,請求CPU暫停當(dāng)前的工作而去迅速處理該緊急事件。處理結(jié)束后,再回到原來被中斷的地方,繼續(xù)原來的工作。引起中斷的原因或發(fā)出中斷請求的來源,稱為中斷源。</p><p> 單片機(jī)一般允許有多個(gè)中斷源,當(dāng)幾個(gè)中斷源同時(shí)向CPU請求中斷時(shí),就存在CPU優(yōu)先響應(yīng)哪一個(gè)中斷請求源的問題(優(yōu)先級(jí)問題),一般根據(jù)中斷源的輕重緩急排隊(duì),優(yōu)先處理最緊急事件的中斷請求,于是便規(guī)定每一個(gè)
82、中斷源都有一個(gè)中斷優(yōu)先級(jí)別,并且CPU總是響應(yīng)級(jí)別最高的中斷請求。</p><p> 當(dāng)CPU正在處理一個(gè)中斷源請求的時(shí)候,又發(fā)生了另一個(gè)優(yōu)先級(jí)比它高的中斷源請求,如果CPU能夠暫時(shí)中止對(duì)原來中斷處理程序的執(zhí)行,轉(zhuǎn)而去處理優(yōu)先級(jí)更高的中斷源請求,待處理完以后,再繼續(xù)執(zhí)行原來的低級(jí)中斷處理程序,這樣的過程稱為中斷嵌套。</p><p> 4.6 LED顯示程序</p>&l
83、t;p> void display()</p><p> {if(num==20)</p><p><b> {num=0; </b></p><p><b> sec++;</b></p><p> if(sec==60)</p><p><b>
84、 {sec=0;</b></p><p><b> min++;</b></p><p> if(min==60)</p><p><b> {min=0;</b></p><p><b> hour++;</b></p><p>
85、 if(hour==24)</p><p><b> {hour=0;</b></p><p><b> min=0;</b></p><p><b> sec=0;</b></p><p><b> }</b></p><p
86、><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> secge=sec%10;</p><p> secshi=sec/10;</p><p> minge=min%10
87、;</p><p> minshi=min/10;</p><p> hourge=hour%10;</p><p> hourshi=hour/10;</p><p><b> P2=0xfe;</b></p><p> P0=table[secge];</p><
88、p><b> delay(5);</b></p><p><b> P2=0xfd;</b></p><p> P0=table[secshi];</p><p><b> delay(5);</b></p><p><b> P2=0xfb;<
89、/b></p><p><b> P0=0x40;</b></p><p><b> delay(5);</b></p><p><b> P2=0xf7;</b></p><p> P0=table[minge];</p><p><
90、;b> delay(5);</b></p><p><b> P2=0xef;</b></p><p> P0=table[minshi];</p><p><b> delay(5);</b></p><p><b> P2=0xdf;</b>&l
91、t;/p><p><b> P0=0x40;</b></p><p><b> delay(5);</b></p><p><b> P2=0xbf;</b></p><p> P0=table[hourge];</p><p><b>
92、 delay(5);</b></p><p><b> P2=0x7f;</b></p><p> P0=table[hourshi];</p><p><b> delay(5);</b></p><p><b> }</b></p><
93、;p> 4.7 按鍵控制子程序</p><p> void keyscan()</p><p> {if(ksec==0)</p><p> {delay(10);</p><p> if(ksec==0)</p><p><b> {sec++;</b></p>
94、<p> if(sec>=60)</p><p><b> sec=0;</b></p><p><b> }</b></p><p> while(ksec==0)</p><p> display();}</p><p> if(kmin==0
95、)</p><p> {delay(10);</p><p> if(kmin==0)</p><p><b> {min++;</b></p><p> if(min>=60)</p><p><b> min=0;</b></p><p
96、><b> }</b></p><p> while(kmin==0)</p><p> display();</p><p><b> }</b></p><p> if(khour==0)</p><p> {delay(10);</p>
97、<p> if(khour==0)</p><p><b> {hour++;</b></p><p> if(hour>=60)</p><p><b> hour=0;</b></p><p><b> }</b></p><p
98、> while(khour==0)</p><p> display(); </p><p><b> }</b></p><p><b> }</b></p><p><b> 第五章 系統(tǒng)仿真</b></p><p> 5.1 P
99、ROTUES軟件介紹</p><p> Proteus軟件是Labcenter Electronics公司的一款電路設(shè)計(jì)與仿真軟件,它包括ISIS、ARES等軟件模塊,ARES模塊主要用來完成PCB的設(shè)計(jì),而ISIS模塊用來完成電路原理圖的布圖與仿真。Proteus的軟件仿真基于VSM技術(shù),它與其他軟件最大的不同也是最大的優(yōu)勢就在于它能仿真大量的單片機(jī)芯片,比如MCS-51系列、PIC系列等等,以及單片機(jī)外圍電
100、路,比如鍵盤、LED、LCD等等。通過Proteus軟件的使用我們能夠輕易地獲得一個(gè)功能齊全、實(shí)用方便的單片機(jī)實(shí)驗(yàn)室。</p><p> 5.2 電子鐘系統(tǒng)PROTUES仿真</p><p> 用PROTUES軟件,根據(jù)數(shù)字電子鐘的原理圖,畫出仿真圖,得到的圖如下所示。</p><p> 圖5-1 數(shù)字鐘的PROTES仿真</p><p&g
101、t;<b> 調(diào)試與功能說明</b></p><p> 單片機(jī)應(yīng)用系統(tǒng)的調(diào)試包括硬件和軟件兩部分,但是他們并不能完全分開。一般的方法是排除明顯的硬件故障,再進(jìn)行綜合調(diào)試,排除可能的軟/硬件故障。</p><p><b> 6.1 硬盤調(diào)試</b></p><p> 拿到電路板后,首先要檢查加工質(zhì)量,并確保沒有任何方
102、面的錯(cuò)誤,如短路和斷路,尤其要避免電源短路;元器件在安裝前要逐一檢查,用萬用表測其數(shù)值,看是否與所用相同;完成焊接后,應(yīng)先空載上電(芯片座上不插芯片),并檢查各引腳的電位是否正確。若一切正常,方可在斷電的情況下將芯片插入,再次檢查各引腳的電位及其邏輯關(guān)系。將萬用表的探針放到單片機(jī)接電源的引腳上檢測一下,看是否符合要求。</p><p> 6.2 系統(tǒng)性能測試與功能說明</p><p>
103、 走時(shí):默認(rèn)為走時(shí)狀態(tài),按24小時(shí)制分別顯示“時(shí)時(shí)-分分-秒秒”,有2個(gè)“-”動(dòng)態(tài)顯示,時(shí)間會(huì)按實(shí)際時(shí)間以秒為最少單位變化。</p><p> 走時(shí)調(diào)整:按ksec對(duì)秒進(jìn)行調(diào)整,按一下加一秒;按kmin對(duì)分進(jìn)行調(diào)整,按一下加一分;按khour對(duì)時(shí)進(jìn)行調(diào)整,按一下加一小時(shí),從而達(dá)到快速設(shè)定時(shí)間的目的。</p><p> 6.3 系統(tǒng)時(shí)鐘誤差分析</p><p>
104、 時(shí)間是一個(gè)基本物理量,具有連續(xù)、自動(dòng)流逝、不重復(fù)等特性。我國時(shí)間基準(zhǔn)來自國家授時(shí)中心,人們?nèi)粘J褂玫臅r(shí)鐘就是以一定的精度與該基準(zhǔn)保持同步的。結(jié)合時(shí)間概念和誤差理論,可以定義電子鐘的走時(shí)誤差S=S1-S2,S1表示程序?qū)嶋H運(yùn)行計(jì)算所得的秒;S2表示客觀時(shí)間的標(biāo)準(zhǔn)秒。S>0時(shí)表示電子鐘秒單元數(shù)值刷新滯后,即走時(shí)誤差為“慢”;反之,S<0表示秒單元數(shù)值的刷新超前,即走時(shí)誤差為“快”。</p><p>
105、本次設(shè)計(jì)的單片機(jī)電子鐘系統(tǒng)中,其誤差主要來源包括晶體頻率誤差,定時(shí)器溢出誤差,延遲誤差。晶體頻率產(chǎn)生震蕩,容易產(chǎn)生走時(shí)誤差;定時(shí)器溢出的時(shí)間誤差,本應(yīng)這一秒溢出,但卻在下一秒溢出,造成走時(shí)誤差;延遲時(shí)間過長或過短,都會(huì)造成與基準(zhǔn)時(shí)間產(chǎn)生偏差,造成走時(shí)誤差。</p><p> 6.4 軟件調(diào)試問題及解決</p><p> 軟件程序的調(diào)試一般可以將重點(diǎn)放在分模塊調(diào)試上,統(tǒng)調(diào)是最后一環(huán)。軟件
106、調(diào)試可以采取離線調(diào)試和在線調(diào)試兩種方式。前者不需要硬件仿真器,可借助于軟件仿真器即可;后者一般需要仿真系統(tǒng)的支持。本次課題,Keil軟件來調(diào)試程序,通過各個(gè)模塊程序的單步或跟蹤調(diào)試,使程序逐漸趨于正確,最后統(tǒng)調(diào)程序。</p><p> 仿真部分采用protus 6 professional軟件,此軟件功能強(qiáng)大且操作較為簡單,可以很容易的實(shí)現(xiàn)各種系統(tǒng)的仿真。</p><p> 首先打開p
107、rotus 6 professional軟件,在元件庫中找到要選用的所有元件,然后進(jìn)行原理圖的繪制;繪制好后再選擇wave6000已經(jīng)編譯好的*.hex文件,選擇運(yùn)行,觀察顯示結(jié)果,根據(jù)顯示的結(jié)果和課題的要求再修改程序,再運(yùn)行查,直到滿足要求。</p><p><b> 結(jié)束語</b></p><p> 我在這一次單片機(jī)最小系統(tǒng)的設(shè)計(jì)過程中,很是受益匪淺。通過對(duì)自
108、己在大學(xué)四年時(shí)間里所學(xué)的知識(shí)的回顧,并充分發(fā)揮對(duì)所學(xué)知識(shí)的理解和對(duì)畢業(yè)設(shè)計(jì)的思考及書面表達(dá)能力,最終完成了。這為自己今后進(jìn)一步深化學(xué)習(xí),積累了一定寶貴的經(jīng)驗(yàn)。撰寫論文的過程也是專業(yè)知識(shí)的學(xué)習(xí)過程,它使我運(yùn)用已有的專業(yè)基礎(chǔ)知識(shí),對(duì)其進(jìn)行設(shè)計(jì),分析和解決一個(gè)理論問題或?qū)嶋H問題,把知識(shí)轉(zhuǎn)化為能力的實(shí)際訓(xùn)練。培養(yǎng)了我運(yùn)用所學(xué)知識(shí)解決實(shí)際問題的能力。</p><p> 通過這次課程設(shè)計(jì)我發(fā)現(xiàn),只有理論水平提高了;才能夠?qū)?/p>
109、課本知識(shí)與實(shí)踐相整合,理論知識(shí)服務(wù)于教學(xué)實(shí)踐,以增強(qiáng)自己的動(dòng)手能力。這個(gè)實(shí)驗(yàn)十分有意義 我獲得很深刻的經(jīng)驗(yàn)。通過這次課程設(shè)計(jì),我們知道了理論和實(shí)際的距離,也知道了理論和實(shí)際想結(jié)合的重要性,,也從中得知了很多書本上無法得知的知識(shí)。</p><p> 我們的學(xué)習(xí)不但要立足于書本,以解決理論和實(shí)際教學(xué)中的實(shí)際問題為目的,還要以實(shí)踐相結(jié)合,理論問題即實(shí)踐課題,解決問題即課程研究,學(xué)生自己就是一個(gè)專家,通過自己的手來解決
110、問題比用腦子解決問題更加深刻。學(xué)習(xí)就應(yīng)該采取理論與實(shí)踐結(jié)合的方式,理論的問題,也就是實(shí)踐性的課題。這種做法既有助于完成理論知識(shí)的鞏固,又有助于帶動(dòng)實(shí)踐,解決實(shí)際問題,加強(qiáng)我們的動(dòng)手能力和解決問題的能力。</p><p><b> 參考文獻(xiàn)、資料索引</b></p><p><b> 致 謝</b></p><p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)----單片機(jī)數(shù)字電子鐘的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)--單片機(jī)數(shù)字電子鐘的設(shè)計(jì)與研究
- 《單片機(jī)技術(shù)》電子鐘課程設(shè)計(jì)---數(shù)字電子鐘
- 畢業(yè)設(shè)計(jì)---單片機(jī)數(shù)字電子鐘的設(shè)計(jì)與研究
- 單片機(jī)多功能電子鐘畢業(yè)設(shè)計(jì)
- 單片機(jī)多功能電子鐘畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)論文-基于51單片機(jī)的數(shù)字電子鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)——數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)--數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)--數(shù)字電子鐘
- 基于ats單片機(jī)數(shù)字電子鐘設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----基于單片機(jī)的電子鐘設(shè)計(jì)
- 單片機(jī)數(shù)字電子鐘課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)--數(shù)字鐘電子鐘
- 基于單片機(jī) spce061a的數(shù)字電子鐘畢業(yè)設(shè)計(jì)
- 單片機(jī)多功能電子鐘畢業(yè)設(shè)計(jì) (2)
- 單片機(jī)多功能電子鐘畢業(yè)設(shè)計(jì)論文
- 單片機(jī)多功能電子鐘畢業(yè)設(shè)計(jì)論文
- 單片機(jī)電子鐘課程設(shè)計(jì)---數(shù)字電子鐘
評(píng)論
0/150
提交評(píng)論