版權(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í)間是人類生活必不可少的重要元素,從古代的沙漏、十二天干地支,到后來(lái)的機(jī)械鐘表以及當(dāng)今的石英鐘,都充分顯現(xiàn)出了時(shí)間的重要性。隨著社會(huì)的發(fā)展,人們對(duì)時(shí)間計(jì)量的精度要求越來(lái)越高,應(yīng)用越來(lái)越廣,功能要求越來(lái)越多。普通的機(jī)械鐘表與半機(jī)械鐘表對(duì)于當(dāng)代人忙碌的生活顯然早已不太適應(yīng),隨著科技的進(jìn)步,電子時(shí)鐘應(yīng)運(yùn)而生,它不僅
2、給人們生產(chǎn)生活帶來(lái)了極大的方便,而且大大地?cái)U(kuò)展了時(shí)鐘原先的功能。本課題研究的主要目的就是設(shè)計(jì)一個(gè)基于單片機(jī)定時(shí)器的時(shí)鐘系統(tǒng),它以AT89S52芯片為核心,結(jié)合顯示驅(qū)動(dòng)芯片74LS373、74LS138,控制鍵以及LED顯示電路完成其顯示、計(jì)數(shù)功能。由于單片機(jī)定時(shí)器是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無(wú)機(jī)械裝置,具有更更長(zhǎng)的使用壽命,因此得到了廣泛的使用。</p><
3、;p> 關(guān)鍵字: 時(shí)間;電子時(shí)鐘;AT89S52單片機(jī);便捷</p><p> The Design of Electronic clock</p><p> Abstract: Time is an important element of the human’s life, from the ancient hourglass and the twelve heavenly
4、 stems and earthly branches, mechanical clocks and the quartz clock, it fully shows the importance of time. Along with the society's development, people’s requirement is getting higher and higher towards the accuracy
5、 of the time measurements, wide utilization and the strong function. General mechanical semi-mechanical watches and clocks already can’t fit in the modern people’s requiremen</p><p> Key words :Time ; Elect
6、ronic clock; AT89S52 microcontroller; Convenient.</p><p><b> 目 錄</b></p><p><b> 1 緒論1</b></p><p> 1.1 課題的背景1</p><p> 1.2 課題的意義1</p
7、><p> 1.3 國(guó)內(nèi)外研究現(xiàn)狀2</p><p> 1.4 論文構(gòu)成以及章節(jié)安排2</p><p><b> 2 系統(tǒng)方案3</b></p><p> 2.1 系統(tǒng)方案選擇3</p><p> 2.2 系統(tǒng)方案論證3</p><p> 2.3
8、 系統(tǒng)結(jié)構(gòu)框圖3</p><p> 3 硬件系統(tǒng)設(shè)計(jì)5</p><p> 3.1 主控電路5</p><p> 3.1.1 AT89S52單片機(jī)的介紹5</p><p> 3.1.2 定時(shí)計(jì)數(shù)器的工作原理7</p><p> 3.1.3 中斷8</p><p>
9、 3.1.4 晶振特性9</p><p> 3.1.5 主控電路圖10</p><p> 3.2 顯示電路10</p><p> 3.2.1 LED發(fā)光二極管工作原理11</p><p> 3.2.2 LED發(fā)光二極管主要特點(diǎn)11</p><p> 3.2.3 LED發(fā)光二極管使用注意
10、事項(xiàng)11</p><p> 3.2.4 顯示部分電路圖12</p><p> 3.3 驅(qū)動(dòng)電路12</p><p> 3.3.1 列驅(qū)動(dòng)電路芯片74LS373的工作原理12</p><p> 3.3.2 行驅(qū)動(dòng)電路芯片74LS138的工作原理13</p><p> 3.3.3 驅(qū)動(dòng)部分電路
11、圖14</p><p> 3.4 復(fù)位電路14</p><p> 3.5 按鍵電路15</p><p> 3.6 系統(tǒng)電路原理圖15</p><p> 4 軟件系統(tǒng)設(shè)計(jì)17</p><p> 4.1 主程序17</p><p> 4.2 子程序17</
12、p><p> 4.2.1 計(jì)時(shí)中斷程序17</p><p> 4.2.2 顯示子程序18</p><p> 4.2.3 鍵盤掃描子程序19</p><p> 5 系統(tǒng)調(diào)試20</p><p> 5.1Keil uVision4軟件20</p><p> 5.1.1
13、Keil uVision4軟件的介紹20</p><p> 5.1.2 Keil uVision4建立工程的步驟20</p><p> 5.2 Proteus7.5sp3軟件21</p><p> 5.2.1 Proteus7.5sp3軟件的介紹21</p><p> 5.2.2 Keil uVision4建立工程的步
14、驟22</p><p> 5.3 基于Keil uVision4和Proteus7.5sp3軟件的聯(lián)調(diào)仿真22</p><p> 5.4 調(diào)試中需注意的問(wèn)題25</p><p><b> 6總結(jié)26</b></p><p><b> 參考文獻(xiàn)27</b></p>
15、<p><b> 致 謝28</b></p><p><b> 附 錄29</b></p><p> 附錄A:系統(tǒng)整體電路圖29</p><p> 附錄B:源程序30</p><p> 附錄C:元器件清單37</p><p><b>
16、 1 緒論</b></p><p> 1.1 課題的背景</p><p> 公元1300年以前,人類主要是利用天文現(xiàn)象和流動(dòng)物質(zhì)的連續(xù)運(yùn)動(dòng)來(lái)計(jì)時(shí)。例如,日晷是利用日影的方位計(jì)時(shí),漏壺和沙漏是利用水流和沙流的流量計(jì)時(shí)。</p><p> 東漢張衡制造漏水轉(zhuǎn)渾天儀,用齒輪系統(tǒng)把渾象和計(jì)時(shí)漏壺聯(lián)結(jié)起來(lái),漏壺滴水推動(dòng)渾象均勻地旋轉(zhuǎn),一天剛好轉(zhuǎn)一周,這
17、是最早出現(xiàn)的機(jī)械鐘。北宋元祜三年(1088)蘇頌和韓公廉等創(chuàng)制水運(yùn)儀象臺(tái),已運(yùn)用了擒縱機(jī)構(gòu)。</p><p> 1350年,意大利的丹蒂制造出第一臺(tái)結(jié)構(gòu)簡(jiǎn)單的機(jī)械打點(diǎn)塔鐘,日差為15~30分鐘,指示機(jī)構(gòu)只有時(shí)針;1500~1510年,德國(guó)的亨萊思首先用鋼發(fā)條代替重錘,創(chuàng)造了用冕狀輪擒縱機(jī)構(gòu)的小型機(jī)械鐘;1582年前后,意大利的伽利略發(fā)明了重力擺;1657年,荷蘭的惠更斯把重力擺引入機(jī)械鐘,創(chuàng)立了擺鐘。</
18、p><p> 1660年英國(guó)的胡克發(fā)明游絲,并用后退式擒縱機(jī)構(gòu)代替了冕狀輪擒縱機(jī)構(gòu);1673年,惠更斯又將擺輪游絲組成的調(diào)速器應(yīng)用在可攜帶的鐘表上;1675年,英國(guó)的克萊門特用叉瓦裝置制成最簡(jiǎn)單的錨式擒縱機(jī)構(gòu),這種機(jī)構(gòu)一直沿用在簡(jiǎn)便擺錘式掛鐘中。</p><p> 1695年,英國(guó)的湯姆平發(fā)明工字輪擒縱機(jī)構(gòu);1715年,英國(guó)的格雷厄姆又發(fā)明了靜止式擒縱機(jī)構(gòu),彌補(bǔ)了后退式擒縱機(jī)構(gòu)的不足,為發(fā)
19、展精密機(jī)械鐘表打下了基礎(chǔ);1765年,英國(guó)的馬奇發(fā)明自由錨式擒縱機(jī)構(gòu),即現(xiàn)代叉瓦式擒縱機(jī)構(gòu)的前身;1728~1759年,英國(guó)的哈里森制造出高精度的標(biāo)準(zhǔn)航海鐘;1775~1780年,英國(guó)的阿諾德創(chuàng)造出精密表用擒縱機(jī)構(gòu)。</p><p> 18~19世紀(jì),鐘表制造業(yè)已逐步實(shí)現(xiàn)工業(yè)化生產(chǎn),并達(dá)到相當(dāng)高的水平。20世紀(jì),隨著電子工業(yè)的迅速發(fā)展,電池驅(qū)動(dòng)鐘、交流電鐘、電機(jī)械表、指針式石英電子鐘表、數(shù)字式石英電子鐘表相繼問(wèn)
20、世,鐘表的日差已小于0.5秒,鐘表進(jìn)入了微電子技術(shù)與精密機(jī)械相結(jié)合的石英化新時(shí)期。</p><p> 1.2 課題的意義</p><p> 隨著時(shí)間的推移,科學(xué)技術(shù)的不斷發(fā)展,人們對(duì)時(shí)間計(jì)量的精度要求越來(lái)越高,應(yīng)用越來(lái)越廣。怎樣讓時(shí)鐘更好的為人民服務(wù),這就要求我們不斷設(shè)計(jì)出新型的電子時(shí)鐘。</p><p> 目前,電子時(shí)鐘已經(jīng)廣泛應(yīng)用于個(gè)人家庭、車站、碼頭、
21、辦公室等公共場(chǎng)所,成為人們?nèi)粘I罨顒?dòng)中不可少的必須品。它不僅有基本的時(shí)間功能,還有定時(shí)功能,并且可擴(kuò)展為定時(shí)對(duì)家電等電氣產(chǎn)品的自動(dòng)控制,可以避免多種控制器的混淆,利用一個(gè)控制器對(duì)多路電器進(jìn)行控制;可增加溫度傳感器,進(jìn)行實(shí)時(shí)溫度顯示,進(jìn)一步擴(kuò)展為利用不同的溫度某些電氣產(chǎn)品進(jìn)行自動(dòng)控制;也可增加濕度傳感器,進(jìn)行實(shí)時(shí)濕度顯示,以便對(duì)濕度進(jìn)行控制,方便人們的生活。由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛使用,使的數(shù)字時(shí)鐘的精度遠(yuǎn)遠(yuǎn)超過(guò)老式
22、鐘表,鐘表的數(shù)字化給人們的生產(chǎn)生活帶來(lái)了極大的方便,諸如整點(diǎn)提示、定時(shí)報(bào)警、定時(shí)廣播、自動(dòng)啟閉路燈,定時(shí)開(kāi)關(guān)烘箱等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此研究數(shù)字時(shí)鐘及其應(yīng)用,有著非常現(xiàn)實(shí)的意義。</p><p> 1.3 國(guó)內(nèi)外研究現(xiàn)狀</p><p> 從時(shí)鐘的發(fā)展歷史來(lái)看,它經(jīng)歷了機(jī)械表到電子表,再到晶體管,再到現(xiàn)在的數(shù)字電子鐘等幾個(gè)階段。</p><p&
23、gt; 中國(guó)的鐘表歷史應(yīng)該由古代史、近代史、現(xiàn)代史三部分組成。一九四九年以前,我國(guó)僅在山東煙臺(tái)有一些小型鐘的制造業(yè),根本就沒(méi)有手表制造業(yè)。中華人民共和國(guó)成立初,進(jìn)入中國(guó)鐘表工業(yè)的發(fā)展階段;五十年代至六十年代是國(guó)家投資,計(jì)劃經(jīng)濟(jì)模式,完全生產(chǎn)機(jī)械手表,機(jī)械鐘;六十年代末,七十年代初電子鐘表已悄悄在起步;七十年代末,八十年代初電子鐘表與國(guó)際市場(chǎng)同步,異軍突一起,沖擊著傳統(tǒng)的機(jī)械鐘表領(lǐng)域。九十年代電子鐘表(即石英鐘表)一統(tǒng)鐘表市場(chǎng),機(jī)械鐘表
24、失去了傳統(tǒng)的壟斷市場(chǎng)的局面?,F(xiàn)今,高精度的計(jì)時(shí)工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘,石英表,石英鐘都采用了石英技術(shù),因此走時(shí)精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)校,數(shù)字式電子鐘用集成電路計(jì)時(shí),譯碼代替機(jī)械式傳動(dòng),用LED顯示器代替指針顯示進(jìn)而顯示時(shí)間,減小了計(jì)時(shí)誤差,這種表具有時(shí)、分、秒顯示時(shí)間的功能,還可以進(jìn)行時(shí)和分的校對(duì),片選的靈活性好。</p><p> 1.4 論文構(gòu)成以及章節(jié)安排<
25、/p><p> 本課題是以AT89S52單片機(jī)為核心,并結(jié)合驅(qū)動(dòng)芯片74LS373、74LS138及LED顯示器來(lái)實(shí)現(xiàn)時(shí)間顯示,從而實(shí)現(xiàn)對(duì)時(shí)間的控制。 </p><p><b> 論文共分五章:</b></p><p> 第一章:緒論,介紹了本課題研究的背景、意義,以及國(guó)內(nèi)外的研究狀況;</p><p> 第二章:
26、系統(tǒng)方案設(shè)計(jì),介紹了本系統(tǒng)所要實(shí)現(xiàn)的功能以及實(shí)現(xiàn)的方案;</p><p> 第三章:硬件系統(tǒng)設(shè)計(jì),介紹了本系統(tǒng)的硬件電路的設(shè)計(jì)過(guò)程以及相關(guān)的原理;</p><p> 第四章:軟件系統(tǒng)設(shè)計(jì),介紹了本系統(tǒng)的軟件設(shè)計(jì)過(guò)程以及相關(guān)的原理;</p><p> 第五章:系統(tǒng)調(diào)試,介紹了本系統(tǒng)調(diào)試時(shí)所需軟件及調(diào)試過(guò)程中需要注意的問(wèn)題。</p><p>
27、;<b> 2 系統(tǒng)方案</b></p><p> 系統(tǒng)方案設(shè)計(jì)是建立在準(zhǔn)確理解系統(tǒng)所要實(shí)現(xiàn)的功能之上的,只有理解了系統(tǒng)的相關(guān)要求及功能,才能設(shè)計(jì)出符合預(yù)期結(jié)果的系統(tǒng)。</p><p> 2.1 系統(tǒng)方案選擇</p><p> 根據(jù)電子時(shí)鐘里的核心部件秒信號(hào)的產(chǎn)生原理,通常有以下兩種實(shí)現(xiàn)方案。</p><p>
28、; 方案一:本方案采用Dallas公司的專用時(shí)鐘芯片DS12887A。該芯片內(nèi)部采用石英晶體振蕩器,具有完備的時(shí)鐘鬧鐘功能,因此,可直接對(duì)其以用于顯示或設(shè)置,使得軟件編程相對(duì)簡(jiǎn)單。為保證時(shí)鐘在電網(wǎng)電壓不足或突然掉電等突發(fā)情況下仍能正常工作,芯片內(nèi)部包含鋰電池。當(dāng)電網(wǎng)電壓不足或突然掉電時(shí),系統(tǒng)自動(dòng)轉(zhuǎn)換到內(nèi)部鋰電池供電系統(tǒng)。而且即使系統(tǒng)不上電,程序不執(zhí)行時(shí),鋰電池也能保證芯片的正常運(yùn)行,以備隨時(shí)提供正確的時(shí)間。然而盡管它走時(shí)準(zhǔn)確,但是功能
29、單一,不易拓展其他功能。</p><p> 方案二:本方案完全用軟件實(shí)現(xiàn)數(shù)字時(shí)鐘。原理為:在單片機(jī)內(nèi)部存儲(chǔ)器設(shè)三個(gè)字節(jié)分別存放時(shí)鐘的時(shí)、分、秒信息。利用定時(shí)器與軟件結(jié)合實(shí)現(xiàn)1秒定時(shí)中斷,每產(chǎn)生一次中斷,存儲(chǔ)器內(nèi)相應(yīng)的秒值加1;若秒值達(dá)到60,則將其清零,并將相應(yīng)的分字節(jié)值加1;若分值達(dá)到60,則清零分字節(jié),并將時(shí)字節(jié)值加1;若時(shí)值達(dá)到24,則將時(shí)字節(jié)清零。該方案硬件電路簡(jiǎn)單。但每次執(zhí)行程序時(shí),定時(shí)器都要重新賦初
30、值,當(dāng)單片機(jī)不上電,程序不執(zhí)行時(shí),時(shí)鐘將不工作。</p><p> 比較這兩種方案,由于單片機(jī)集成度高、可靠性強(qiáng)、體積小、功耗低、使用方便、價(jià)格低廉且能夠方便的實(shí)現(xiàn)系統(tǒng)的多功能性等一系列優(yōu)點(diǎn),故采用單片機(jī)作為本課題設(shè)計(jì)的硬件基礎(chǔ)。</p><p> 2.2 系統(tǒng)方案論證</p><p> 此設(shè)計(jì)過(guò)程中,通過(guò)采用模塊化的思想將系統(tǒng)按要求分解成為核心控制模塊和輔
31、助模塊,其中,輔助模塊又包含顯示模塊、驅(qū)動(dòng)模塊、復(fù)位模塊和按鍵模塊,因此,通過(guò)模塊化的思想即可得出整個(gè)設(shè)計(jì)的過(guò)程是先實(shí)現(xiàn)最基本的時(shí)鐘功能,然后實(shí)現(xiàn)時(shí)間的顯示功能以及相關(guān)的調(diào)整功能。核心控制模塊主要由AT89S52單片機(jī)組成,它能實(shí)現(xiàn)電子鐘的基本功能;顯示模塊可以采用LED數(shù)碼管并結(jié)合相應(yīng)的顯示驅(qū)動(dòng)芯片來(lái)完成,進(jìn)而實(shí)現(xiàn)時(shí)間的顯示。由于74LS373、74LS138可以驅(qū)動(dòng)八位數(shù)碼管,在本設(shè)計(jì)中需要使用5片74LS373和一片74LS138
32、就能完成對(duì)數(shù)碼管的驅(qū)動(dòng);調(diào)整模塊可實(shí)現(xiàn)時(shí)間的調(diào)整,當(dāng)按下分調(diào)整鍵時(shí),分鐘加一;按下時(shí)調(diào)整鍵時(shí),小時(shí)加一。</p><p> 2.3 系統(tǒng)結(jié)構(gòu)框圖</p><p> 本設(shè)計(jì)系統(tǒng)框圖如圖2-1所示,它由中央控制器AT89S52、顯示電路、行驅(qū)動(dòng)電路、列驅(qū)動(dòng)電路、復(fù)位電路、按鍵電路和電源電路組成。采用并行方式顯示,通過(guò)鎖存器芯片來(lái)擴(kuò)展I/O口,達(dá)到控制LED點(diǎn)陣的40個(gè)列線的目的。方案中運(yùn)
33、用5片鎖存器74LS373來(lái)組成5組雙緩沖寄存器,驅(qū)動(dòng)LED點(diǎn)陣的8組列線,用3/8譯碼器74LS138對(duì)LED點(diǎn)陣的8行進(jìn)行掃描。在送每一行的數(shù)據(jù)到點(diǎn)陣時(shí),先把數(shù)據(jù)分別送到5個(gè)74LS373,然后再把數(shù)據(jù)一起輸出到LED點(diǎn)陣列中,送出去的時(shí)間數(shù)據(jù)由AT89S52來(lái)控制。</p><p> 圖2-1 系統(tǒng)框圖</p><p><b> 3 硬件系統(tǒng)設(shè)計(jì)</b>
34、</p><p> 此次設(shè)計(jì)過(guò)程中,采用模塊化的設(shè)計(jì)思想將整個(gè)系統(tǒng)分為主控模塊、顯示模塊、驅(qū)動(dòng)模塊、復(fù)位模塊及按鍵模塊,并將所要實(shí)現(xiàn)的功能分配給相應(yīng)的模塊,通過(guò)硬件與軟件相結(jié)合的方式實(shí)現(xiàn)每個(gè)模塊的功能之后,再通過(guò)適當(dāng)?shù)恼{(diào)整將所有模塊有機(jī)地組合成為一個(gè)功能齊全、電路完整的時(shí)鐘系統(tǒng)。</p><p><b> 3.1 主控電路</b></p><
35、p> 主控電路是電路中的核心部分,它直接控制著其他外圍電路的工作,是整個(gè)系統(tǒng)中最為重要的部分。本設(shè)計(jì)的主控芯片為AT89S52單片機(jī)。</p><p> 3.1.1 AT89S52單片機(jī)的介紹</p><p><b> (1)功能特性描述</b></p><p> AT89S52是一種低功耗、高性能CMOS8位微控制器,具有可編
36、程8K字節(jié)Flash存儲(chǔ)器。使用Atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)
37、16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)的一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止[1]。</p><p> (2)AT89S52單片機(jī)引腳結(jié)構(gòu)</p>
38、;<p> 圖 3-1 AT89S52單片機(jī)引腳結(jié)構(gòu)</p><p><b> 引腳說(shuō)明如下:</b></p><p> ●VCC: 電源。</p><p><b> ●GND: 地。</b></p><p> ●P0 口: P0口是一個(gè)8位漏極開(kāi)路的雙向I/O口。作
39、為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在 flash編程時(shí),P0口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。</p><p> ●P1口: P1口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O口,P1輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。
40、對(duì)P1端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體如下表所示。在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。</p><p> 表3-1 P1口的第二功能</p>&
41、lt;p> ●P2 口: P2 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL 邏輯電平。對(duì)P2 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問(wèn)外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX @DPTR)時(shí),P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送1
42、。在使用8位地址(如MOVX @RI)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。</p><p> ●P3 口: P3 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,P3 輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL 邏輯電平。對(duì)P3 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因
43、,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。</p><p> 表3-2 P2口的第二功能</p><p> ●RST: 復(fù)位輸入。晶振工作時(shí),RST腳持續(xù)2 個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位??撮T狗計(jì)時(shí)完成后,RST 腳輸出96 個(gè)晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的D
44、ISRTO位可以使此功能無(wú)效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。</p><p> ●ALE/PROG: 地址鎖存控制信號(hào)(ALE)是訪問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低8 位地址的輸出脈沖。在flash編程時(shí),此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE脈沖將會(huì)跳過(guò)。如果需要,通過(guò)將
45、地址為8EH的SFR的第0位置“1”,ALE操作將無(wú)效。這一位置“1”,ALE 僅在執(zhí)行MOVX 或MOVC指令時(shí)有效。否則,ALE 將被微弱拉高。這個(gè)ALE 使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無(wú)效。</p><p> ●PSEN: 外部程序存儲(chǔ)器選通信號(hào)(PSEN)是外部程序存儲(chǔ)器選通信號(hào)。當(dāng) AT89S52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),PSEN在每個(gè)機(jī)器周期被激
46、活兩次,而在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),PSEN將不被激活。</p><p> ●EA/VPP: 訪問(wèn)外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H 到FFFFH的外部程序存儲(chǔ)器讀取指令,EA必須接GND。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接VCC。在flash編程期間,EA也接收12伏VPP電壓。</p><p> ●XTAL1: 振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。</p>
47、;<p> ●XTAL2: 振蕩器反相放大器的輸出端。</p><p> 3.1.2 定時(shí)計(jì)數(shù)器的工作原理</p><p> 定時(shí)計(jì)數(shù)器T0是一個(gè)16位定時(shí)/計(jì)數(shù)器,它既可以做定時(shí)器,又可以做事件計(jì)數(shù)器。其工作方式由特殊寄存器T0CON中的C/T0位選擇。定時(shí)計(jì)數(shù)器T0有三種工作模式:捕捉方式、自動(dòng)重載(向下或向上計(jì)數(shù))和波特率發(fā)生器。如表3-3所示,工作模式由T0
48、CON中的相關(guān)位選擇。定時(shí)器0 有2 個(gè)8位寄存器:TH2和TL2。</p><p> 在定時(shí)工作方式中,每個(gè)機(jī)器周期,TL2 寄存器都會(huì)加1。計(jì)數(shù)器的加1信號(hào)由振蕩器的12分頻信號(hào)產(chǎn)生,即每過(guò)一個(gè)機(jī)器周期,計(jì)數(shù)器加1,直至計(jì)滿溢出為止。顯然,定時(shí)器的定時(shí)時(shí)間與系統(tǒng)的振蕩頻率有關(guān)。因一個(gè)機(jī)器周期等于12個(gè)振蕩周期,所以計(jì)數(shù)頻率為:</p><p><b> 。</b&g
49、t;</p><p> 在計(jì)數(shù)工作方式中,通過(guò)引腳T0和T1對(duì)外部信號(hào)計(jì)數(shù),外部脈沖的下降沿將觸發(fā)計(jì)數(shù)。計(jì)數(shù)器在每個(gè)機(jī)器周期的S5P2期間采樣引腳輸入電平。若一個(gè)機(jī)器周期采樣值為1,下一個(gè)機(jī)器周期采樣值為0,則計(jì)數(shù)器加1。此后的機(jī)器周期S3P1期間,新的計(jì)數(shù)值裝入計(jì)數(shù)器。所以檢測(cè)一個(gè)由1至0的跳變需要兩個(gè)機(jī)器周期,故外部事年的最高計(jì)數(shù)頻率為振蕩頻率的1/24。雖然對(duì)外部輸入信號(hào)的占空比無(wú)特殊要求,但為了確保某給
50、定電平在變化前至少被采樣一次,外部計(jì)數(shù)脈沖的高電平與低電平保持時(shí)間均需在一個(gè)機(jī)器周期以上[2]。</p><p> 表3-3 定時(shí)器T0工作模式</p><p> 當(dāng)CPU用軟件給定時(shí)器設(shè)置了某種工作方式之后,定時(shí)器就會(huì)按設(shè)定的工作方式獨(dú)立運(yùn)行,不再占用CPU的操作時(shí)間,除非定時(shí)器計(jì)滿溢出,才可能中斷CPU 當(dāng)前操作。CPU也可以重新設(shè)置定時(shí)器工作方式,以改變定時(shí)器的操作。由此可見(jiàn),
51、定時(shí)器是單片機(jī)中效率高而且工作靈活的部件。 </p><p><b> 3.1.3 中斷</b></p><p> AT89S52 有6個(gè)中斷源:兩個(gè)外部中斷(INT0 和INT1),三個(gè)定時(shí)中斷(定時(shí)器0、1、2)和一個(gè)串行中斷。這些中斷中,每個(gè)中斷源都可以通過(guò)置位或清除特殊寄存器IE中的相關(guān)中斷允許控制位分別使得中斷源有效或無(wú)效。IE還包括一個(gè)中斷允許總控制
52、位EA,它能一次禁止所有中斷。對(duì)于AT89S52,IE.5位也是不能用的。用戶軟件不應(yīng)給這些位寫1。它們?yōu)锳T89系列新產(chǎn)品預(yù)留。定時(shí)器2可以被寄存器T2CON中的TF2和EXF2的或邏輯觸發(fā)。程序進(jìn)入中斷服務(wù)后,這些標(biāo)志位都可以由硬件清0。實(shí)際上,中斷服務(wù)程序必須判定是否是TF2 或EXF2激活中斷,標(biāo)志位也必須由軟件清0。定時(shí)器0和定時(shí)器1標(biāo)志位TF0 和TF1在計(jì)數(shù)溢出的那個(gè)周期的S5P2被置位。它們的值一直到下一個(gè)周期被電路捕捉
53、下來(lái)。然而,定時(shí)器2 的標(biāo)志位TF2 在計(jì)數(shù)溢出的那個(gè)周期的S2P2被置位,在同一個(gè)周期被電路捕捉下來(lái)[3]。中斷源如圖3-2:</p><p><b> 圖3-2 中斷源</b></p><p> 3.1.4 晶振特性</p><p> AT89S52 單片機(jī)有一個(gè)用于構(gòu)成內(nèi)部振蕩器的反相放大器,XTAL1 和XTAL2 分別是放大
54、器的輸入、輸出端。石英晶體和陶瓷諧振器都可以用來(lái)構(gòu)成自激振蕩器。從外部時(shí)鐘源驅(qū)動(dòng)器件的話,XTAL2 可以不接,而從XTAL1 接入,如圖3-4 所示。由于外部時(shí)鐘信號(hào)經(jīng)過(guò)二分頻觸發(fā)后作為外部時(shí)鐘電路輸入的,所以對(duì)外部時(shí)鐘信號(hào)的占空比沒(méi)有其它要求,最長(zhǎng)低電平持續(xù)時(shí)間和最少高電平持續(xù)時(shí)間等還是要符合要求的[4]。</p><p> 圖3-3 內(nèi)部振蕩電路連接圖 圖3-4 外部振蕩
55、電路連接圖</p><p> 注: 石英晶振 C1,C2=30pF±10pF</p><p> 陶瓷諧振器 C1,C2=40pF±10pF</p><p> 3.1.5 主控電路圖</p><p> 主控電路時(shí)電路的核心,其電路圖如圖3-5:</p><p> 圖3-5 主控電路圖
56、</p><p><b> 3.2 顯示電路</b></p><p> 本設(shè)計(jì)顯示電路采用LED點(diǎn)陣顯示器,在上電的時(shí)候用來(lái)顯示時(shí)間。顯示電路中分動(dòng)態(tài)顯示和靜態(tài)顯示:</p><p> ?。?)靜態(tài)顯示方式:LED的靜態(tài)顯示是指當(dāng)數(shù)碼管顯示某一字符時(shí),相應(yīng)段的發(fā)光二極管處于恒定的導(dǎo)通或截止?fàn)顟B(tài),直到需要顯示另一字符為止。顯示器的各位可以同
57、時(shí)顯示,較小的驅(qū)動(dòng)電流就能得到較高的顯示亮度。</p><p> ?。?)LED動(dòng)態(tài)顯示:就是利用單片機(jī)依次輸出每一位數(shù)碼管的段選碼和對(duì)應(yīng)于該位數(shù)碼管的位選控制信號(hào),一位一位輪流點(diǎn)亮各段數(shù)碼管。對(duì)每位數(shù)碼管來(lái)說(shuō),每隔一段時(shí)間點(diǎn)亮一次,如此循環(huán)。利用人眼的“視覺(jué)暫留”效應(yīng),只要每位顯示間隔足夠短就可以給人以同時(shí)顯示的感覺(jué)。在動(dòng)態(tài)顯示方式中,同一時(shí)刻,只有一位LED數(shù)碼管在顯示,其他各位是關(guān)閉的。在段選碼和位選碼每送
58、出一次后,應(yīng)保持1ms左右,這個(gè)時(shí)間應(yīng)根據(jù)實(shí)際情況而定。不能太小,因而發(fā)光二極管從導(dǎo)通到發(fā)光有一定的延時(shí),導(dǎo)通時(shí)間太小,發(fā)光太弱人眼無(wú)法看清。但也不能太大,因?yàn)楫吘挂芟抻谂R界閃爍頻率,而且此時(shí)間越長(zhǎng),占用CPU時(shí)間也越多。</p><p> 根據(jù)我們的設(shè)計(jì)要求我們需要5片LED點(diǎn)陣數(shù)碼管。采用動(dòng)態(tài)顯示方式比較節(jié)省I/O接口,硬件電路也較靜態(tài)顯示方式簡(jiǎn)單,因此本設(shè)計(jì)采用動(dòng)態(tài)顯示方式。</p>&l
59、t;p> 3.2.1 LED發(fā)光二極管工作原理</p><p> 發(fā)光二極管LED(Light-Emitting Diode)是能將電信號(hào)轉(zhuǎn)換成光信號(hào)的結(jié)型電致發(fā)光半導(dǎo)體器件。它的內(nèi)部具有發(fā)光特性的PN結(jié)。當(dāng)PN結(jié)導(dǎo)通時(shí),依靠少數(shù)載流子的注入以及隨后的復(fù)合而輻射發(fā)光。LED正向伏安特性曲線比較陡,在正向?qū)ㄖ皫缀鯖](méi)有電流。當(dāng)電壓超過(guò)開(kāi)啟電壓時(shí),電流就急劇上升。因此,LED屬于電流控制型半導(dǎo)體器件。&
60、lt;/p><p> 由于發(fā)光二極管的功耗低、體積小,色彩鮮艷、響應(yīng)速度快、壽命長(zhǎng),所以常用作收錄機(jī)、收音機(jī)和電子儀器的電平指示器、調(diào)諧指示器、電源指示器等[5]。發(fā)光二極管在正向?qū)〞r(shí)有一定穩(wěn)壓作用,還可作直流穩(wěn)壓器中的穩(wěn)壓二極管,提供基準(zhǔn)電壓,兼作電源指示燈。</p><p> LED的輸出光譜決定其發(fā)光顏色及光輻射純度,也反映出半導(dǎo)體材料的特性。常見(jiàn)管芯材料有磷化鎵、砷化鎵、磷砷化鎵
61、、砷鋁化鎵、氮化鎵。</p><p> 3.2.2 LED發(fā)光二極管主要特點(diǎn)</p><p> ?。?) 在低電壓(1.5~2.5V)、小電流(5~30mA)的條件下工作,即可獲得足夠高的亮度。</p><p> ?。?) 發(fā)光響應(yīng)速度快(~s)高頻特性好,能顯示脈沖信息。</p><p> (3) 單色性好,常見(jiàn)顏色有紅、綠、黃
62、、橙等。</p><p> ?。?) 體積小。發(fā)光面形狀分圓形、長(zhǎng)方形、異形(三角形等)。其中圓形管子的外徑有、、、、、、、、、(mm)等規(guī)格,直徑1mm的屬于超微型LED。</p><p> ?。?) 防震動(dòng)及抗沖擊穿性能好,功耗低,壽命長(zhǎng)。由于LED的PN結(jié)工作在正向?qū)顟B(tài),功耗低,只要加必要的限流措施,即可長(zhǎng)期使用,壽命在10萬(wàn)小時(shí)以上,甚至可達(dá)100萬(wàn)小時(shí)。</p>
63、;<p> ?。?) 使用靈活,根據(jù)需要可制成數(shù)碼管、字符管、電平顯示器、點(diǎn)陣顯示器、固體發(fā)光板、LED平極型電視屏等。</p><p> ?。?) 容易與數(shù)字集成電路匹配。</p><p> 3.2.3 LED發(fā)光二極管使用注意事項(xiàng)</p><p> (1) 管子極性不得接反,一般講引線較長(zhǎng)的為正極,引線較短的是負(fù)極?! ?lt;/p&g
64、t;<p> ?。?) 使用中各項(xiàng)參數(shù)不得超過(guò)規(guī)定極限值。正向電流IF不允許超過(guò)極限工作電流IFM值,并且隨著環(huán)境溫度的升高,必須作降額使用。長(zhǎng)期使用溫度不宜超過(guò)75℃。</p><p> ?。?) 焊接時(shí)間應(yīng)盡量短,焊點(diǎn)不能在管腳根部。焊接時(shí)應(yīng)使用鑷子夾住管腳根部散熱,宜用中性助焊劑(松香)或選用松香焊錫絲。</p><p> ?。?) 嚴(yán)禁用有機(jī)溶液浸泡或清洗。&l
65、t;/p><p> ?。?) LED的驅(qū)動(dòng)電路必須加限流電阻,一般可取一百歐至幾百歐,視電源電壓而定。</p><p> ?。?) 在發(fā)光亮度基本不變的情況下,采用脈沖電壓驅(qū)動(dòng)可以節(jié)省耗電。對(duì)于LED點(diǎn)陣顯示器,采用掃描顯示方式能大大降低整機(jī)功耗。</p><p> 3.2.4 顯示部分電路圖</p><p> 本設(shè)計(jì)顯示部分采用的是L
66、ED點(diǎn)陣顯示模塊。其電路圖如圖3-6所示:</p><p> 圖3-6 顯示部分電路圖</p><p><b> 3.3 驅(qū)動(dòng)電路</b></p><p> 本設(shè)計(jì)中驅(qū)動(dòng)電路包括行驅(qū)動(dòng)電路和列驅(qū)動(dòng)電路,其中74LS373鎖存器作為列驅(qū)動(dòng)器,74LS138譯碼器作為行驅(qū)動(dòng)器。</p><p> 3.3.1
67、列驅(qū)動(dòng)電路芯片74LS373的工作原理</p><p> 本設(shè)計(jì)中使用5片74LS373來(lái)組成5組雙緩沖寄存器,應(yīng)使OE為低電平,此時(shí)鎖存使能端LE為高電平時(shí),輸出Q0~Q7 狀態(tài)與輸入端D1~D7狀態(tài)相同;當(dāng)LE發(fā)生負(fù)的跳變時(shí),輸入端D0~D7 數(shù)據(jù)鎖入Q0~Q7。51單片機(jī)的ALE信號(hào)可以直接與74LS373的LE連接。在MCS-51單片機(jī)系統(tǒng)中,常采用74LS373作為地址鎖存器使用,其中輸入端D0~D7
68、接至單片機(jī)的P0口,輸出端提供低8位地址。輸出允許端OE接地,表示輸出三態(tài)門一直打開(kāi)。</p><p> 74LS373的輸出端Q0~Q7可直接與總線相連。當(dāng)三態(tài)允許控制端OE為低電平時(shí),Q0~Q7為正常邏輯狀態(tài),可用來(lái)驅(qū)動(dòng)負(fù)載或總線。當(dāng)OE為高電平時(shí),Q0~Q7呈高阻態(tài),即不驅(qū)動(dòng)總線,也不為總線的負(fù)載,但鎖存器內(nèi)部的邏輯操作不受影響。 當(dāng)鎖存允許端LE為高電平時(shí),Q隨數(shù)據(jù)D而變。當(dāng)LE為低電平時(shí),Q被鎖存在已
69、建立的數(shù)據(jù)電平。其內(nèi)部邏輯圖如圖3-7:</p><p> 圖3-7 74LS373內(nèi)部邏輯圖</p><p> 3.3.2 行驅(qū)動(dòng)電路芯片74LS138的工作原理</p><p> 74LS138 為3 線-8 線譯碼器,共有 54/74S138和 54/74LS138 兩種線路結(jié)構(gòu)型式,其74LS138工作原理如下: 當(dāng)一個(gè)選通端(E1)為高電平,另兩
70、個(gè)選通端(E2)和(E3)為低電平時(shí),可將地址端(A、B、C)的二進(jìn)制編碼在一個(gè)對(duì)應(yīng)的輸出端以低電平譯出。 </p><p><b> 其引腳如圖3-8:</b></p><p> 圖3-8 74LS138引腳圖</p><p> 其功能表如表3-4:</p><p> 表3-4 74LS138的功能表<
71、;/p><p> 無(wú)論從邏輯圖還是功能表我們都可以看到74LS138的八個(gè)輸出管腳,任何時(shí)刻要么全為高電平1—芯片處于不工作狀態(tài),要么只有一個(gè)為低電平0,其余7個(gè)輸出管腳全為高電平1。如果出現(xiàn)兩個(gè)輸出管腳在同一個(gè)時(shí)間為0的情況,說(shuō)明該芯片已經(jīng)損壞。</p><p> 3.3.3 驅(qū)動(dòng)部分電路圖</p><p> 本設(shè)計(jì)驅(qū)動(dòng)芯片采用74LS373、74LS138,
72、其驅(qū)動(dòng)部分電路圖如圖3-9:</p><p> 圖3-9 驅(qū)動(dòng)部分電路圖</p><p><b> 3.4 復(fù)位電路</b></p><p> 復(fù)位電路主要由10uF/16V的電解電容,10K的電阻以及按鍵構(gòu)成。按鍵接芯片的相應(yīng)引腳RST,當(dāng)開(kāi)關(guān)按下時(shí)引腳RST為高電平1,斷開(kāi)時(shí)引腳為低電平0。當(dāng)按鍵按下時(shí),系統(tǒng)清零,進(jìn)入初始化狀態(tài)。
73、復(fù)位電路如圖3-10:</p><p> 圖3-10 復(fù)位電路圖</p><p><b> 3.5 按鍵電路</b></p><p> 程序?qū)︽I盤的掃描方式有:隨機(jī)掃描、定時(shí)掃描和終端掃描。</p><p> 在隨機(jī)掃描方式中,CPU完成某種特定任務(wù)后,隨即執(zhí)行鍵盤掃描程序,以確定鍵盤有無(wú)按鍵接入,然后根據(jù)按
74、鍵功能轉(zhuǎn)去處理相應(yīng)的操作。在處理鍵盤按鍵規(guī)定的功能時(shí)不理睬鍵盤的輸入。</p><p> 定時(shí)掃描方式與隨機(jī)掃描方式基本相同,只是利用CPU內(nèi)的定時(shí)中斷,每隔一定時(shí)間掃描有無(wú)按鍵信號(hào)輸入。在處理鍵盤功能過(guò)程中,可以通過(guò)鍵盤命令進(jìn)行干預(yù),如取消、暫停等操作。</p><p> 由于本設(shè)計(jì)中AT89S52單片機(jī)在系統(tǒng)的主要任務(wù)由內(nèi)部定時(shí)/計(jì)數(shù)器產(chǎn)生時(shí)鐘信號(hào)數(shù)據(jù)并送出顯示,完成時(shí)鐘的控制。因
75、此本設(shè)計(jì)采用隨機(jī)掃描按鍵方式。其中按鍵部分由分調(diào)整按鍵及時(shí)調(diào)整按鍵組成,當(dāng)按下分調(diào)整時(shí)分加一,按下時(shí)調(diào)整時(shí)時(shí)加一,如圖3-11所示:</p><p><b> : </b></p><p> 圖3-11 按鍵電路圖</p><p> 3.6 系統(tǒng)電路原理圖</p><p> 本設(shè)計(jì)采用AST89S52,系統(tǒng)采
76、用高精度的12MHz的晶振,以獲得較高的刷新頻率及較準(zhǔn)確的時(shí)鐘頻率使顯示穩(wěn)定和計(jì)時(shí)準(zhǔn)確;采用RC上電加按鍵復(fù)位電路;單片機(jī)P0口的8位與列驅(qū)動(dòng)器相連;P2口的低3位與行驅(qū)動(dòng)器相連,用來(lái)送行選信號(hào)。</p><p> 單片機(jī)的P2口低三位輸出的行信號(hào)經(jīng)74LS138(3/8譯碼器)譯碼生成8條行掃描,這8條信號(hào)線所帶的驅(qū)動(dòng)能力足以驅(qū)動(dòng)5個(gè)LED顯示器,因此就不需要額外增加驅(qū)動(dòng)電路。74LS138的其他控制引腳按工
77、作狀態(tài)分別接入相應(yīng)的高低電平。列驅(qū)動(dòng)采用集成電路74LS373構(gòu)成,它是一個(gè)8位并入和8位并出的帶一定驅(qū)動(dòng)能力的鎖存器。</p><p> 綜上所述,設(shè)計(jì)出基于AT89S52單片機(jī)的LED點(diǎn)陣顯示電子時(shí)鐘電路圖如圖3-12:</p><p> 圖3-12 系統(tǒng)電路原理圖</p><p><b> 系統(tǒng)操作說(shuō)明:</b></p>
78、;<p> ?。?)初次上電,顯示初始化時(shí)間12:00;</p><p> ?。?)按下分調(diào)整鍵,進(jìn)行分鐘調(diào)整,分鐘位調(diào)整好后系統(tǒng)開(kāi)始自動(dòng)計(jì)時(shí)。</p><p> ?。?)按下時(shí)調(diào)整鍵,進(jìn)行小時(shí)調(diào)整,小時(shí)位調(diào)整好后系統(tǒng)自動(dòng)開(kāi)始計(jì)時(shí)。</p><p><b> 4 軟件系統(tǒng)設(shè)計(jì)</b></p><p>
79、 LED點(diǎn)陣電子鐘程序的主要功能是屏幕顯示時(shí)間的穩(wěn)定性與準(zhǔn)確性。按照分塊設(shè)計(jì)的方法可以把程序分為主程序與子程序,其中子程序包括:計(jì)時(shí)中斷程序、顯示程序、鍵盤掃描程序。主程序主要是用來(lái)初始化系統(tǒng)和控制各個(gè)子程序之間執(zhí)行的順序。由于計(jì)時(shí)需要精確,所以我們直接用T0計(jì)數(shù)器來(lái)產(chǎn)生一個(gè)1ms的中斷程序,在計(jì)時(shí)中斷程序中完成對(duì)時(shí)、分、秒的調(diào)整,而調(diào)時(shí)程序采用了兩個(gè)外部中斷來(lái)完成。</p><p><b> 4.1
80、 主程序</b></p><p> 第一次上電,系統(tǒng)將進(jìn)行初始化,LED數(shù)碼管顯示初始化時(shí)間,單片機(jī)開(kāi)始調(diào)用計(jì)時(shí)中斷程序、顯示程序、鍵盤掃描程序并循環(huán)。主程序流程圖如下:</p><p> 圖4-1 主程序流程圖</p><p><b> 4.2 子程序</b></p><p> 子程序包括:計(jì)
81、時(shí)中斷程序、顯示程序、鍵盤掃描程序</p><p> 4.2.1 計(jì)時(shí)中斷程序 </p><p> 該程序主要由AT889S52單片機(jī)的定時(shí)/計(jì)數(shù)器T0產(chǎn)生一個(gè)1ms的定時(shí)時(shí)間,作為秒計(jì)數(shù)時(shí)間。當(dāng)1s產(chǎn)生時(shí),秒計(jì)數(shù)加1;秒計(jì)數(shù)到60s時(shí)分計(jì)數(shù)加1;分計(jì)數(shù)到60min時(shí)時(shí)加1;時(shí)計(jì)數(shù)到24h時(shí)自動(dòng)從0開(kāi)始計(jì)數(shù)。</p><p> 圖4-2 計(jì)時(shí)中斷子程序&l
82、t;/p><p> 4.2.2 顯示子程序</p><p> 本設(shè)計(jì)通過(guò)74LS373、74LS138芯片驅(qū)動(dòng)LED數(shù)碼管顯示屏顯示時(shí)間,采用動(dòng)態(tài)顯示,編程簡(jiǎn)單。</p><p> 圖4-3 顯示子程序</p><p> 4.2.3 鍵盤掃描子程序</p><p> 鍵盤掃描子程序:?jiǎn)纹瑱C(jī)掃描鍵盤,得到鍵值
83、后,根據(jù)鍵值轉(zhuǎn)入執(zhí)行相應(yīng)任務(wù),以實(shí)現(xiàn)按鍵功能。如果沒(méi)有按鍵按下,則程序?qū)㈡I盤值清零,返回主程序。</p><p> 圖4-4 鍵盤掃描子程序</p><p><b> 5 系統(tǒng)調(diào)試</b></p><p> 電路調(diào)試技術(shù)包括調(diào)整和測(cè)試兩部分。調(diào)整主要是對(duì)電路參數(shù)的調(diào)整,如對(duì)電阻、電容和電感等,使電路達(dá)到預(yù)定的功能和性能要求;測(cè)試主要是
84、對(duì)電路的各項(xiàng)技術(shù)指標(biāo)和功能進(jìn)行測(cè)量與試驗(yàn),并與設(shè)計(jì)的性能指標(biāo)進(jìn)行比較,以確定電路是否合格。電路測(cè)試是電路調(diào)整的依據(jù),又是檢驗(yàn)結(jié)論的判斷依據(jù)。實(shí)際上,電子產(chǎn)品的調(diào)整和測(cè)試是同時(shí)進(jìn)行的,要經(jīng)過(guò)反復(fù)的調(diào)整和測(cè)試,產(chǎn)品的性能才能達(dá)到預(yù)期的目標(biāo)。</p><p> Keil uVision4軟件</p><p> 5.1.1 Keil uVision4軟件的介紹</p><
85、p> 目前流行的51系列單片機(jī)開(kāi)發(fā)軟件是德國(guó)Keil公司推出的Keil C51軟件,它是一個(gè)基于32位Windows環(huán)境的應(yīng)用程序,支持C語(yǔ)言和匯編語(yǔ)言編程。 Keil提供包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,由以下幾部分組成:μVision IDE集成開(kāi)發(fā)環(huán)境、C51編譯器、A51匯編器、LIB51庫(kù)管理器、BL51連接/定位器、OH51目標(biāo)文件生成器以及 Monitor-51、R
86、TX51實(shí)時(shí)操作系統(tǒng)。該軟件的主要特點(diǎn)如下:</p><p> ?。?) 具有Windows風(fēng)格的可視化操作界面,界面友好,使用極其方便。</p><p> ?。?) 支持匯編語(yǔ)言、C51語(yǔ)言及混合編程等多種方式的單片機(jī)設(shè)計(jì)。</p><p> (3) 集成了非常全面的單片機(jī)支持,能夠完成51系列單片機(jī)及和51系列兼容的絕大多數(shù)類型單片機(jī)的程序設(shè)計(jì)和仿真。&
87、lt;/p><p> ?。?) 集成了豐富的庫(kù)函數(shù),以及完善的編譯連接工具。</p><p> ?。?) 提供了并口、串口、A/D、D/A、定時(shí)器/計(jì)數(shù)器及中斷等資源的硬件仿真能力,能夠幫助用戶模擬實(shí)際硬件的執(zhí)行效果。</p><p> ?。?) 可以和多款外部仿真器聯(lián)合使用,提供了強(qiáng)大的在線仿真調(diào)試能力。</p><p> ?。?) 內(nèi)
88、嵌RTX-51 Tiny和RTX-51 FULL內(nèi)核,提供了簡(jiǎn)單而強(qiáng)大的實(shí)時(shí)多任務(wù)操作系統(tǒng)支持。</p><p> (8) 在一個(gè)開(kāi)發(fā)界面中支持多個(gè)項(xiàng)目的程序設(shè)計(jì)。</p><p> ?。?) 支持多級(jí)代碼優(yōu)化,最大限度地幫助用戶精簡(jiǎn)代碼體積。</p><p> Keil軟件由于其強(qiáng)大的軟件仿真功能,友好的用戶界面以及易于掌握的特點(diǎn)而受到工程技術(shù)人員的歡迎。
89、</p><p> 5.1.2 Keil uVision4建立工程的步驟</p><p> 進(jìn)入Keil后我們首先要建立一個(gè)工程。步驟如下:</p><p> 1、 單擊Project菜單,在彈出的下拉菜單中選中New Project選項(xiàng)。</p><p> 2、 選擇所要保存的路徑,輸入工程的名字(最好用英文),點(diǎn)擊保存。&l
90、t;/p><p> 3、 選擇單片機(jī)的型號(hào),右邊框是對(duì)這個(gè)單片機(jī)的基本說(shuō)明,然后點(diǎn)擊確定,然后出現(xiàn)一個(gè)對(duì)話框,選擇否。</p><p> 4、 單擊“File”菜單,再在下拉菜單中單擊“New”選項(xiàng)在Text1中輸入你寫的程序,寫完后利用快捷“Ctrl+S”對(duì)文件進(jìn)行保存,出現(xiàn)對(duì)話框,選擇保存途徑,鍵入欲使用的文件名,必須鍵入正確的擴(kuò)展名,用C語(yǔ)言編寫的程序,擴(kuò)展名為“.C”, 用匯編
91、語(yǔ)言編寫的程序,擴(kuò)展名為“.ASM”。然后單擊“保存”。</p><p> 5、 回到編輯界面后,單擊“Target 1”前面的“+”后,然后再“Source Group 1”上單擊右鍵,然后單擊“Add Files to Group’Source Group 1”選擇相應(yīng)的文件后,然后單擊“Add”按快捷鍵“F7”,進(jìn)行程序調(diào)試,對(duì)程序做修改,直到顯示“ 0 Error(s), 0 Warning(s)”。
92、</p><p> 6、 離線調(diào)試:?jiǎn)螕簟癙roject”菜單,再在下拉菜單中單擊“Options for Target Target 1”,單擊“Output”菜單中的“Create HEX File”選項(xiàng),使程序編譯后產(chǎn)生HEX代碼,供下載器使用。單擊“Start Debugging”可以自動(dòng)進(jìn)入調(diào)試狀態(tài)[9]。</p><p> 5.2 Proteus7.5sp3軟件<
93、/p><p> 5.2.1 Proteus7.5sp3軟件的介紹</p><p> Proteus嵌入式系統(tǒng)仿真與開(kāi)發(fā)平臺(tái)是由英國(guó)Labcenter公司開(kāi)發(fā)的,是目前世界上最先進(jìn)、最完整的嵌入式系統(tǒng)設(shè)計(jì)與仿真平臺(tái)。它是一種可視化的支持多種型號(hào)單片機(jī)(如51、PIC、AVR、Motorola hcll等),并且支持與當(dāng)前流行的單片機(jī)開(kāi)發(fā)環(huán)境(Keil、MPLAB)連接調(diào)試的軟硬件仿真系統(tǒng)[
94、12]。Proteus除了具有和其他EDA工具一樣的原理圖、PCB自動(dòng)或人工布線及電路仿真功能外,針對(duì)微控制系統(tǒng)與外設(shè)的混合電路的仿真、軟件仿真、系統(tǒng)協(xié)同仿真也做到了一體化和互動(dòng)效果。該軟件的主要特點(diǎn)是:</p><p> ?。?) 集原理圖設(shè)計(jì)、仿真分析(ISIS)和印刷電路板設(shè)計(jì)(ARES)于一身??梢酝瓿蓮睦L制原理圖、仿真分析到生成印刷電路板圖的整個(gè)硬件開(kāi)發(fā)過(guò)程。</p><p>
95、 (2) 提供幾千種電子元件(分立元件和集成電路、模擬和數(shù)字電路)的電路符號(hào)、仿真模型和外形封裝。</p><p> ?。?) 支持大多數(shù)單片機(jī)系統(tǒng)以及各種外圍芯片(RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真等)的仿真。</p><p> ?。?) 提供各種虛擬儀器,如各種測(cè)量?jī)x表、示波器、邏輯分析儀、信號(hào)發(fā)生器等。過(guò)去需要昂貴的電子儀器設(shè)備、繁多的電子元
96、件才能完成的電子電路、單片機(jī)等實(shí)驗(yàn),現(xiàn)在只要一臺(tái)電腦,都可在該軟件環(huán)境下快速輕松地實(shí)現(xiàn)。</p><p> Proteus可以仿真模擬電路及數(shù)字電路,也可以仿真模擬數(shù)字混合電路。 Proteus可提供30多種元件庫(kù),超過(guò)8000種模擬、數(shù)字元器件??梢园凑赵O(shè)計(jì)的要求選擇不同生產(chǎn)廠家的元器件。此外,對(duì)于元器件庫(kù)中沒(méi)有的元件,設(shè)計(jì)者也可以通過(guò)軟件自己創(chuàng)建。</p><p> 5.2.2
97、Keil uVision4建立工程的步驟</p><p> (1) 左鍵單擊電腦左下方開(kāi)始,選擇“所有程序”下拉菜單中的“Proteus 7 Professional”菜單中的“ISIS 7 Professional”單擊它。</p><p> (2) 單擊上面圖片左上方的:“P”,即可輸入要查找的元器件,選中后單擊右下方“OK”。</p><p> ?。?)
98、 然后單擊左鍵即可放置元器件。</p><p> ?。?) 放置好元器件,單擊鼠標(biāo)左鍵進(jìn)行連線。</p><p> 5.3 基于Keil uVision4和Proteus7.5sp3軟件的聯(lián)調(diào)仿真</p><p> (1) 首先分別安裝keil uVision4和 proteus7.5 sp3,安裝時(shí)分別看各個(gè)軟件包自帶的說(shuō)明。</p>&
99、lt;p> ?。?) 把C:\Program Files\Labcenter Electronics\Proteus7 Professional\MODELS\目錄下的 VDM51.dll文件復(fù)制到C:\Keil\C51\BIN文件夾下。(目錄名都是默認(rèn)的,你可以根據(jù)你實(shí)際安裝的目錄進(jìn)行復(fù)制。) 也可能會(huì)沒(méi)有這個(gè)VDM51.dll , 那就需要網(wǎng)上下一個(gè),再放到BIN里面。</p><p
100、> ?。?) 用記事本(其它的編輯軟件也可以,如Ultra Edit)打開(kāi)Keil 根目錄下的 TOOLS.INI 文件,在[C51] 欄目下加入 TDRV9=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver" ) ,其中“TDRV9” 中的 “9”要根據(jù)實(shí)際情況寫,不要和原來(lái)的重復(fù)。(我的這個(gè)文件中已經(jīng)有了從TDRV1到TDRV8,所以我用的是TDRV9)。<
101、/p><p> ?。?) 也可以安裝vdmagdi.exe軟件,這個(gè)軟件就可以自動(dòng)完成上面1和2的工作,這樣就不用手工完成上面的步驟1和2了。</p><p> (5) 打開(kāi)proteus軟件,畫出相應(yīng)電路。在proteus的tools菜單中選中Use remote debug monitor 。</p><p> ?。?) 建立KEIL工程后,單擊“Proje
102、ct菜單/Options for Target”選項(xiàng),彈出窗口,分別完成target、output和debug選項(xiàng),點(diǎn)擊“Debug”按鈕,在出現(xiàn)的對(duì)話框里在右欄最上部的下拉菜單里選中“Proteus VSM Monitor-51 Driver”。并且還要點(diǎn)擊一下“Use”前面表明選中的小圓點(diǎn)。在進(jìn)入seting設(shè)置時(shí),如果是同一臺(tái)機(jī)IP 名為127.0.0.1,如不是同一臺(tái)機(jī)則填另一臺(tái)的IP地址。端口號(hào)一定為8000 。具體看下面的貼
103、圖。</p><p><b> 圖5-1</b></p><p><b> 圖5-2</b></p><p><b> 圖5-3</b></p><p><b> 圖5-4</b></p><p><b> 這樣
104、就連上了。</b></p><p> 在keil中進(jìn)行debug,同時(shí)在proteus中查看直觀的結(jié)果。</p><p> 本次仿真的結(jié)果如圖5-5所示:</p><p> 圖5-1 仿真結(jié)果圖示</p><p> 5.4 調(diào)試中需注意的問(wèn)題</p><p> 1、 在新建工程前最好先建立一
105、個(gè)空文件夾,把所建的工程存放在此文件夾,以免和其他文件混合。</p><p> 2、 在KEIL中創(chuàng)建工程之后,保存文件時(shí),文件名最好和你創(chuàng)建的文件夾名字一致,這樣在添加文件時(shí),有利于你尋找到目標(biāo)文件。在保存文件時(shí),源程序名稱假如為test,如果你是用C語(yǔ)言編寫的程序,則文件名必須以“test.c”結(jié)尾;如果你是用匯編語(yǔ)言編寫的程序,則文件名必須以“test.a(chǎn)sm”結(jié)尾,然后保存。</p>&
106、lt;p> 3、 把創(chuàng)建的源程序加入到工程項(xiàng)目文件中,大家在點(diǎn)“ADD”按鈕時(shí)會(huì)感覺(jué)到奇怪,怎么對(duì)話框不會(huì)消失呢?不管它,直接點(diǎn)擊“close”關(guān)閉就行了,此時(shí)程序文本字體顏色發(fā)生了變化,說(shuō)明已經(jīng)成功加載了程序。</p><p> 4、 在KEIL中編寫好程序后,編譯時(shí),若對(duì)話框提示“Target not created”,說(shuō)明編寫的程序有問(wèn)題,需要檢查程序,改正之后,再編譯,直到?jīng)]有錯(cuò)誤為止。&l
107、t;/p><p> 5、 在建好Proteus工程圖后,保存時(shí)要保存在最先建好的那個(gè)文件夾中。</p><p> 6、 生成HEX文件后,針對(duì)電路圖仿真時(shí),當(dāng)對(duì)話框提示,某某元件有錯(cuò)誤時(shí),說(shuō)明你的元器件的接法不對(duì),需要改正,改正之后再仿真,反復(fù)此過(guò)程,直至實(shí)現(xiàn)仿真功能為止。</p><p><b> 總結(jié)</b></p>&
108、lt;p> 四年的勤奮學(xué)習(xí),三個(gè)月的精心準(zhǔn)備,畢業(yè)論文終于到了劃句號(hào)的時(shí)候了。四年來(lái),第一次投入如此多的時(shí)間和精力,完成了一篇具有一定水準(zhǔn)的論文,回頭看看我的論文從不成熟,到現(xiàn)在的基本實(shí)現(xiàn)預(yù)期結(jié)果,這其中蘊(yùn)含了許多教誨、關(guān)愛(ài)和幫助。</p><p> 通過(guò)本次畢業(yè)設(shè)計(jì),我深深體會(huì)到了軟件仿真的優(yōu)越性,并熟練掌握了Protues和Keil這些EDA工具的使用方法,掌握了基本的系統(tǒng)設(shè)計(jì)思路和方法,熟悉了單片
109、機(jī)匯編語(yǔ)言的編程方法,熟悉了51系列單片機(jī)的結(jié)構(gòu),掌握了單片機(jī)與外部設(shè)備通信的方法,掌握了一般程序的調(diào)試方法。這很好的檢測(cè)了我大學(xué)四年來(lái)所學(xué)的知識(shí),同時(shí),也培養(yǎng)了我分析問(wèn)題和解決問(wèn)題的能力。我充分相信這會(huì)對(duì)我以后的學(xué)習(xí)與工作有很大的幫助。</p><p> 與此同時(shí),在做畢業(yè)設(shè)計(jì)過(guò)程中也遇到了許多問(wèn)題,通過(guò)進(jìn)圖書館和上網(wǎng)查閱相關(guān)資料,向韋敏老師請(qǐng)教,與同學(xué)討論,問(wèn)題最終得到了圓滿解決。在此過(guò)程中,我深深體會(huì)到了
110、發(fā)現(xiàn)問(wèn)題的重要性,只有發(fā)現(xiàn)問(wèn)題,才能解決問(wèn)題,才能開(kāi)拓我們的思維。此外,我也深深地體會(huì)到了合作的重要性。</p><p> 總之,本次設(shè)計(jì)讓我所學(xué)習(xí)的知識(shí)系統(tǒng)化,同時(shí)也學(xué)習(xí)到了許多書本上根本沒(méi)有的東西,這必將對(duì)我以后的工作和生活有著很重要的幫助。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] AT89S52芯片資料
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文-----電子時(shí)鐘設(shè)計(jì)
- 電子時(shí)鐘設(shè)計(jì)畢業(yè)論文
- 電子時(shí)鐘設(shè)計(jì)畢業(yè)論文
- 電子時(shí)鐘設(shè)計(jì)--畢業(yè)論文初稿
- 畢業(yè)論文電子時(shí)鐘設(shè)計(jì)
- 畢業(yè)論文--數(shù)字電子時(shí)鐘的設(shè)計(jì)
- 電子時(shí)鐘程序設(shè)計(jì)畢業(yè)論文
- 數(shù)字電子時(shí)鐘的設(shè)計(jì) 畢業(yè)論文
- 多功能電子時(shí)鐘設(shè)計(jì)畢業(yè)論文
- 單片機(jī)電子時(shí)鐘畢業(yè)論文設(shè)計(jì)
- 單片機(jī)電子時(shí)鐘畢業(yè)論文設(shè)計(jì)
- 電子時(shí)鐘的設(shè)計(jì)與制作畢業(yè)論文
- 單片機(jī)電子時(shí)鐘畢業(yè)論文設(shè)計(jì)
- 單片機(jī)電子時(shí)鐘畢業(yè)論文設(shè)計(jì)
- 單片機(jī)電子時(shí)鐘畢業(yè)論文設(shè)計(jì)
- 單片機(jī)電子時(shí)鐘畢業(yè)論文設(shè)計(jì)
- 電子時(shí)鐘畢業(yè)設(shè)計(jì)論文
- 電子時(shí)鐘畢業(yè)設(shè)計(jì)論文
- 電子時(shí)鐘——畢業(yè)設(shè)計(jì)論文
- 電子時(shí)鐘——畢業(yè)設(shè)計(jì)論文
評(píng)論
0/150
提交評(píng)論