版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)</p><p> 題目 基于單片機(jī)的搖搖棒設(shè)計(jì) </p><p> 專業(yè) 電信工程 學(xué)號(hào) 姓名 </p><p> 主要內(nèi)容:1.根據(jù)設(shè)計(jì)要求確定系統(tǒng)的總體框圖。</p><p> 2.了解掌握單片機(jī)的基本結(jié)構(gòu)和應(yīng)用特點(diǎn)。&
2、lt;/p><p> 3.熟悉水銀開(kāi)關(guān)和集成電路的要求。</p><p> 4.根據(jù)系統(tǒng)的要求繪制系統(tǒng)硬件電路圖,進(jìn)行部分軟件功能的設(shè)計(jì)。</p><p> 基本要求:1.設(shè)計(jì)搖搖棒的總體方案與硬件設(shè)計(jì)。</p><p> 2.繪出總體程序流程圖和模塊化設(shè)計(jì),并作相關(guān)程序編譯。</p><p> 3.對(duì)設(shè)計(jì)進(jìn)行調(diào)
3、試,模擬電路的工作過(guò)程。 </p><p> 主要資料:現(xiàn)代單片機(jī)技術(shù)與系統(tǒng)、單片機(jī)匯編語(yǔ)言常用模塊與綜合系統(tǒng)設(shè)計(jì)、單片機(jī)原理及其應(yīng)用。</p><p> 完 成 期 限: 年 月 </p><p> 指導(dǎo)教師簽名: </p><p> 評(píng)審小組
4、負(fù)責(zé)人簽名: </p><p> 年 月 日</p><p> 畢業(yè)設(shè)計(jì)(論文)開(kāi)題報(bào)告表</p><p> 基于單片機(jī)的搖搖棒設(shè)計(jì)</p><p><b> 摘 要</b></p><p> 隨著人們物質(zhì)生活水平的提高,人們
5、對(duì)精神生活的追求也愈加強(qiáng)烈,對(duì)信息的渴求已成為了人們必不可少的需要,更加簡(jiǎn)捷與新穎的信息傳遞方式無(wú)疑會(huì)給人們帶來(lái)耳目一新的感受。而現(xiàn)代工具務(wù)求簡(jiǎn)捷化、便攜化,因此,搖動(dòng)顯示裝置的到來(lái),必將會(huì)給人們帶來(lái)一種新的方便的文化傳遞方式。</p><p> “搖動(dòng)顯示裝置”,俗稱“搖搖棒”,是基于人的視覺(jué)暫留原理的,通過(guò)分時(shí)刷新16個(gè)發(fā)光二極管來(lái)顯示輸出文字或圖案等信息的顯示裝置。輸出信號(hào)頻率的控制通過(guò)單片機(jī)來(lái)實(shí)現(xiàn),用水
6、銀開(kāi)關(guān)來(lái)檢測(cè)當(dāng)前搖動(dòng)狀態(tài)。當(dāng)進(jìn)行搖動(dòng)時(shí),由于人的視覺(jué)暫留原理,會(huì)在發(fā)光二極管搖動(dòng)區(qū)域產(chǎn)生一個(gè)視覺(jué)平面,在視覺(jué)平面內(nèi)的二極管通過(guò)不同頻率的刷新,會(huì)在搖動(dòng)區(qū)域內(nèi)產(chǎn)生圖像,從而達(dá)到在該視覺(jué)平面上傳達(dá)信息的作用。</p><p> 本文以單片機(jī)的實(shí)際應(yīng)用為背景,介紹了以單片機(jī)為核心系統(tǒng)顯示設(shè)計(jì)的基本結(jié)構(gòu)和基本原理。</p><p> 關(guān)鍵詞 單片機(jī)/發(fā)光二極管/水銀開(kāi)關(guān)</p>
7、<p> Based on single-chip shaking his stick design</p><p><b> ABSTRACT</b></p><p> As people material standard of living rise, people pursuit to cultural life also becomes
8、strong, the desire of information have become the people of the essential needs, more forthright and novel the information transfer mode will undoubtedly bring people to find everything new and fresh feeling. And modern
9、tools to the simple, portable, therefore, shaking the display device, the arrival of will give people brings a kind of new convenient cultural transfer mode.</p><p> "Shake display device," called
10、 "to shake the great", it is to be based on visual temporarily leave the principle, through the timeshare refresh 16 leds to display text or design output information display device. The output signal frequency
11、 control through the single-chip microcomputer to realize, with mercury switch test current moved state. When shaken, as the men's vision for a principle, will be in the light emitting diode shaking area produce a vi
12、sual plane, the plane within the vision of d</p><p> Based on the MCU application for background, introduces the single-chip microcomputer and sensor as the core system moved display design the basic struc
13、ture and the basic principle.</p><p> KEY WORDS Chip, leds, the mercury switch</p><p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p> ABSTRACT
14、II</p><p><b> 1引言</b></p><p> 1.1單片機(jī)的定義2</p><p> 1.2 單片機(jī)介紹2</p><p> 1.3 單片機(jī)的工作過(guò)程6</p><p> 1.4 搖搖棒簡(jiǎn)介17</p><p&g
15、t; 2 AT89S52單片機(jī)簡(jiǎn)介9</p><p> 2.1 AT89S52主要功能9</p><p> 2.2 AT89S52各引腳功能9</p><p> 2.3 AT89S52單片機(jī)內(nèi)部結(jié)構(gòu)簡(jiǎn)圖14</p><p> 2.4 AT89S52單片機(jī)的最小系統(tǒng)15</p><p> 3 系統(tǒng)
16、設(shè)計(jì)方案17</p><p> 3.1 搖搖棒原理18</p><p> 3.2 搖搖棒介紹18</p><p> 3.3 設(shè)計(jì)目的19</p><p> 3.4 設(shè)計(jì)要求19</p><p> 3.5 設(shè)計(jì)思路19</p><p> 4 系統(tǒng)硬件設(shè)計(jì)20</p&
17、gt;<p> 4.1 單元電路設(shè)計(jì)20</p><p> 4.2 LED 顯示模塊22</p><p> 4.3 各部分功能25</p><p> 4.4 系統(tǒng)硬件26</p><p> 5.系統(tǒng)軟件設(shè)計(jì)28</p><p> 5.1 軟件設(shè)計(jì)思路28</p>&
18、lt;p> 5.2 主程序流程圖29</p><p> 6 系統(tǒng)的硬件調(diào)試及軟件調(diào)試30</p><p> 6.1 常見(jiàn)的硬件故障31</p><p> 6.2 硬件調(diào)試方法32</p><p> 6.3 軟件調(diào)試方法33</p><p> 6.4 本次設(shè)計(jì)中,具體調(diào)試過(guò)程34</
19、p><p><b> 結(jié)束語(yǔ)35</b></p><p><b> 致 謝</b></p><p><b> 附 錄</b></p><p><b> 引言</b></p><p> 單片機(jī)是隨著大規(guī)模集成電路的出現(xiàn)極其
20、發(fā)展,將計(jì)算機(jī)的CPU,RAM,ROM,定時(shí)/計(jì)數(shù)器和多種I/O接口集成在一片芯片上,形成了芯片級(jí)的計(jì)算機(jī),因此單片機(jī)早期的含義稱為單片微型計(jì)算機(jī)(single chipmicrocomputer).它擁有優(yōu)異的性價(jià)比、集成度高、體積小、可靠性高、控制功能強(qiáng)、低電壓、低功耗的顯著優(yōu)點(diǎn).主要應(yīng)用于智能儀器儀表、工業(yè)檢測(cè)控制、機(jī)電一體化等方面,并且取得了顯著的成果.單片機(jī)應(yīng)用系統(tǒng)可以分為:(1)最小應(yīng)用系統(tǒng)是指能維持單片機(jī)運(yùn)行的最簡(jiǎn)單配置的
21、系統(tǒng)。這種系統(tǒng)成本低廉,結(jié)構(gòu)簡(jiǎn)單,常構(gòu)成一些簡(jiǎn)單的控制系統(tǒng),如開(kāi)關(guān)狀態(tài)的輸入/輸出控制等。片內(nèi)有ROM/EPROM的單片機(jī),其最小應(yīng)用系統(tǒng)即為配有晶振,復(fù)位電路,電源的單個(gè)單片機(jī).片內(nèi)無(wú)ROM/EPROM的單片機(jī),其最小應(yīng)用系統(tǒng)除了外部配置晶振,復(fù)位電路,電源外,還應(yīng)外接EPROM或EEPROM作為程序存儲(chǔ)器用.(2)最小功耗應(yīng)用系統(tǒng)是指為了保證正常運(yùn)行,系統(tǒng)的功耗最小.(3)典型應(yīng)用系統(tǒng)是指單片機(jī)要完成工業(yè)測(cè)控功能所必須的硬件結(jié)構(gòu)系統(tǒng)
22、。</p><p> 本文將使用單片機(jī)對(duì)搖動(dòng)顯示進(jìn)行實(shí)例化,設(shè)計(jì)一個(gè)LED搖動(dòng)顯示器來(lái)顯示文字、圖像等信息。掌握利用8051型單片機(jī)對(duì)發(fā)光二極管陣列進(jìn)行搖動(dòng)控制的方法。輸出信號(hào)頻率的控制通過(guò)單片機(jī)來(lái)實(shí)現(xiàn),用搖動(dòng)傳感器檢測(cè)當(dāng)前搖動(dòng)狀態(tài),用16個(gè)發(fā)光二極管進(jìn)行不同頻率的亮滅刷新,通過(guò)手動(dòng)搖動(dòng)可顯示輸出文字及圖案等信息。當(dāng)進(jìn)行搖動(dòng)時(shí),由于人的視覺(jué)暫留原理,會(huì)在發(fā)光二極管搖動(dòng)區(qū)域產(chǎn)生一個(gè)視覺(jué)平面,在視覺(jué)平面內(nèi)的二極管通
23、過(guò)不同頻率的刷新,會(huì)在搖動(dòng)區(qū)域內(nèi)產(chǎn)生圖像,從而達(dá)到在該視覺(jué)平面上傳達(dá)信息的作用。LED顯示棒,又稱搖搖棒,是一種利用視覺(jué)暫留效應(yīng)制作的“高科技”玩具。可以用“靜如處子,動(dòng)如脫兔”來(lái)形容它,即當(dāng)靜止時(shí),它只是幾個(gè)LED發(fā)光二極管(后簡(jiǎn)稱LED) ,而一旦按照一定的頻率去搖晃它,它就會(huì)隨著位置的變化而變化(亮或滅),最終顯示一幅圖片或字符串。</p><p><b> 單片機(jī)簡(jiǎn)介</b><
24、;/p><p><b> 1.1 單片機(jī)定義</b></p><p> 單片機(jī)是一種集成在電路芯片上,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器和計(jì)數(shù)器等功能(可能還包括顯示驅(qū)動(dòng)電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的小型計(jì)算機(jī)系統(tǒng)。</
25、p><p><b> 1.2 單片機(jī)介紹</b></p><p> 單片微型計(jì)算機(jī)簡(jiǎn)稱單片機(jī),它廣泛應(yīng)用在嵌入式系統(tǒng)等領(lǐng)域。嵌入式一般指非PC(PersonalComputer)系統(tǒng),它包括硬件呵軟件兩部分。它由芯片內(nèi)僅有CPU的專用處理器發(fā)展而來(lái)。最早的設(shè)計(jì)理念是通過(guò)將大量外圍設(shè)備和CPU集成在一個(gè)芯片中,使計(jì)算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對(duì)體積要求嚴(yán)格的控制設(shè)
26、備當(dāng)中。INTEL的Z80是最早按照這種思想設(shè)計(jì)出的處理器,從此以后,單片機(jī)和專用處理器的發(fā)展便分道揚(yáng)鑣。 </p><p> 隨著現(xiàn)代電子技術(shù)的發(fā)展,人們正處在一個(gè)信息時(shí)代,單片機(jī)已在嵌入式系統(tǒng)中占主導(dǎo)地位。人們每天都要通過(guò)電視,廣播,通信,互聯(lián)網(wǎng)等多種媒體獲取大量的信息。而現(xiàn)代信息的儲(chǔ)存,處理和傳輸越來(lái)越趨于數(shù)字化。在人們的日常生活中,常用的那個(gè)計(jì)算機(jī),電視機(jī),音響系統(tǒng),視頻記錄設(shè)備,長(zhǎng)途電信等電子設(shè)備或電
27、子系統(tǒng),無(wú)一不采用數(shù)字電路或數(shù)字系統(tǒng)。因此,數(shù)字電子技術(shù)的應(yīng)用越來(lái)越廣泛。早期的單片機(jī)都是8位或4位的。其中最成功的是INTEL的8031,因?yàn)楹?jiǎn)單可靠而性能不錯(cuò)獲得了很大的好評(píng)。此后在8031上發(fā)展出了MCS51系列單片機(jī)系統(tǒng)?;谶@一系統(tǒng)的單片機(jī)系統(tǒng)直到現(xiàn)在還在廣泛使用。隨著工業(yè)控制領(lǐng)域要求的提高,開(kāi)始出現(xiàn)了16位單片機(jī),但因?yàn)樾詢r(jià)比不理想并未得到很廣泛的應(yīng)用。90年代后隨著消費(fèi)電子產(chǎn)品大發(fā)展,單片機(jī)技術(shù)得到了巨大提高。隨著INTE
28、L.i960系列特別是后來(lái)的ARM系列的廣泛應(yīng)用,32位單片機(jī)迅速取代16位單片機(jī)的高端地位,并且進(jìn)入主流市場(chǎng)。而傳統(tǒng)的8位單片機(jī)的性能也得到了飛速提高,處理能力比起80年代提高了數(shù)百倍。目前,高端的32位單片機(jī)主頻已經(jīng)超過(guò)300MHz,性能直追90年代中期的專用處理器,而</p><p> 單片機(jī)比專用處理器更適合應(yīng)用于嵌入式系統(tǒng),因此它得到了最多的應(yīng)用。事實(shí)上單片機(jī)是世界上數(shù)量最多的計(jì)算機(jī)。現(xiàn)代人類生活中所
29、用的幾乎每件電子和機(jī)械產(chǎn)品中都會(huì)集成有單片機(jī)。手機(jī)、電話、計(jì)算器、家用電器、電子玩具、掌上電腦以及鼠標(biāo)等電腦配件中都配有1-2部單片機(jī)。而個(gè)人電腦中也會(huì)有為數(shù)不少的單片機(jī)在工作。汽車上一般配備40多部單片機(jī),復(fù)雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺(tái)單片機(jī)在同時(shí)工作!單片機(jī)的數(shù)量不僅遠(yuǎn)超過(guò)PC機(jī)和其他計(jì)算的總和,甚至比人類的數(shù)量還要多。</p><p> 單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把
30、一個(gè)單片機(jī)系統(tǒng)連接到一個(gè)芯片上。相當(dāng)于一個(gè)微型的計(jì)算機(jī),和計(jì)算機(jī)相比,單片機(jī)只缺少了I/O設(shè)備。概括的講:一塊芯片就成了一臺(tái)計(jì)算機(jī)。它的體積小、質(zhì)量輕、價(jià)格便宜、為學(xué)習(xí)、應(yīng)用和開(kāi)發(fā)提供了便利條件。同時(shí),學(xué)習(xí)使用單片機(jī)是了解計(jì)算機(jī)原理與結(jié)構(gòu)的最佳選擇。</p><p> 單片機(jī)內(nèi)部也用和電腦功能類似的模塊,比如CPU,內(nèi)存,并行總線,還有和硬盤作用相同的存儲(chǔ)器件,不同的是它的這些部件性能都相對(duì)我們的家用電腦弱很多
31、,不過(guò)價(jià)錢也是低的,一般不超過(guò)10元即可用它來(lái)做一些控制電器一類不是很復(fù)雜的工作足矣了。我們現(xiàn)在用的全自動(dòng)滾筒洗衣機(jī)、排煙罩、VCD等等的家電里面都可以看到它的身影!它主要是作為控制部分的核心部件。</p><p> 它是一種在線式實(shí)時(shí)控制計(jì)算機(jī),在線式就是現(xiàn)場(chǎng)控制,需要的是有較強(qiáng)的抗干擾能力,較低的成本,這也是和離線式計(jì)算機(jī)的(比如家用PC)的主要區(qū)別。</p><p> 單片機(jī)是靠
32、程序運(yùn)行的,并且可以修改。通過(guò)不同的程序?qū)崿F(xiàn)不同的功能,尤其是特殊的獨(dú)特的一些功能,這是別的器件需要費(fèi)很大力氣才能做到的,有些則是花大力氣也很難做到的。一個(gè)不是很復(fù)雜的功能要是用美國(guó)50年代開(kāi)發(fā)的74系列,或者60年代的CD4000系列這些純硬件來(lái)搞定的話,電路一定是一塊大PCB板!但是如果要是用美國(guó)70年代成功投放市場(chǎng)的系列單片機(jī),結(jié)果就會(huì)有天壤之別!只因?yàn)閱纹瑱C(jī)的通過(guò)你編寫的程序可以實(shí)現(xiàn)高智能,高效率,以及高可靠性!</p&g
33、t;<p> 由于單片機(jī)對(duì)成本是敏感的,所以目前占統(tǒng)治地位的軟件還是最低級(jí)匯編語(yǔ)言,它是除了二進(jìn)制機(jī)器碼以上最低級(jí)的語(yǔ)言了,既然這么低級(jí)為什么還要用呢?很多高級(jí)的語(yǔ)言已經(jīng)達(dá)到了可視化編程的水平為什么不用呢?原因很簡(jiǎn)單,就是單片機(jī)沒(méi)有家用計(jì)算機(jī)那樣的CPU,也沒(méi)有像硬盤那樣的海量存儲(chǔ)設(shè)備。一個(gè)可視化高級(jí)語(yǔ)言編寫的小程序里面即使只有一個(gè)按鈕,也會(huì)達(dá)到幾十K的尺寸!對(duì)于家用PC的硬盤來(lái)講沒(méi)什么,可是對(duì)于單片機(jī)來(lái)講是不能接受的。
34、 單片機(jī)在硬件資源方面的利用率必須很高才行,所以匯編雖然原始卻還是在大量使用。一樣的道理,如果把巨型計(jì)算機(jī)上的操作系統(tǒng)和應(yīng)用軟件拿到家用PC上來(lái)運(yùn)行,家用PC的也是承受不了的。可以說(shuō),二十世紀(jì)跨越了三個(gè)“電”的時(shí)代,即電氣時(shí)代、電子時(shí)代和現(xiàn)已進(jìn)入的電腦時(shí)代。不過(guò),這種電腦,通常是指?jìng)€(gè)人計(jì)算機(jī),簡(jiǎn)稱PC機(jī)。它由主機(jī)、鍵盤、顯示器等組成。還有一類計(jì)算機(jī),大多數(shù)人卻不怎么熟悉。這種計(jì)算機(jī)就是把智能賦予各種機(jī)械的單片機(jī)(亦稱微控制器)。顧名思義
35、,這種計(jì)算機(jī)的最小系統(tǒng)只用了一片集成電路,即可進(jìn)行簡(jiǎn)單運(yùn)算和控制。因?yàn)樗w積小,通常都藏在被控機(jī)械的“肚子”里。它在整個(gè)裝置中,起著有如人類頭腦的作用</p><p> 1.3 單片機(jī)的工作過(guò)程</p><p> 單片機(jī)自動(dòng)完成賦予它的任務(wù)的過(guò)程,也就是單片機(jī)執(zhí)行程序的過(guò)程,即一條條執(zhí)行的指令的過(guò)程,所謂指令就是把要求單片機(jī)執(zhí)行的各種操作用的命令的形式寫下來(lái),這是在設(shè)計(jì)人員賦予它的指令
36、系統(tǒng)所決定的,一條指令對(duì)應(yīng)著一種基本操作;單片機(jī)所能執(zhí)行的全部指令,就是該單片機(jī)的指令系統(tǒng),不同種類的單片機(jī),其指令系統(tǒng)亦不同。為使單片機(jī)能自動(dòng)完成某一特定任務(wù),必須把要解決的問(wèn)題編成一系列指令(這些指令必須是選定單片機(jī)能識(shí)別和執(zhí)行的指令),這一系列指令的集合就成為程序,程序需要預(yù)先存放在具有存儲(chǔ)功能的部件——存儲(chǔ)器中。存儲(chǔ)器由許多存儲(chǔ)單元(最小的存儲(chǔ)單位)組成,就像大樓房有許多房間組成一樣,指令就存放在這些單元里,單元里的指令取出并執(zhí)
37、行就像大樓房的每個(gè)房間的被分配到了唯一一個(gè)房間號(hào)一樣,每一個(gè)存儲(chǔ)單元也必須被分配到唯一的地址號(hào),該地址號(hào)稱為存儲(chǔ)單元的地址,這樣只要知道了存儲(chǔ)單元的地址,就可以找到這個(gè)存儲(chǔ)單元,其中存儲(chǔ)的指令就可以被取出,然后再被執(zhí)行。 </p><p> 程序通常是順序執(zhí)行的,所以程序中的指令也是一條條順序存放的,單片機(jī)在執(zhí)行程序時(shí)要能把這些指令一條條取出并加以執(zhí)行,必須有一個(gè)部件能追蹤指令所在的地址,這一部件就是程序計(jì)數(shù)器
38、PC(包含在CPU中),在開(kāi)始執(zhí)行程序時(shí),給PC賦以程序中第一條指令所在的地址,然后取得每一條要執(zhí)行的命令,PC在其中的內(nèi)容就會(huì)自動(dòng)增加,增加量由本條指令長(zhǎng)度決定,可能是1、2或3,以指向下一條指令的起始地址,保證指令順序執(zhí)行。</p><p> 2 AT89S52單片機(jī)簡(jiǎn)介</p><p> AT89S52為 ATMEL 所生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)
39、可編程Flsah存儲(chǔ)器。</p><p> 2.1 AT89S52主要功能</p><p> (1)、擁有靈巧的8位CPU和在系統(tǒng)可編程Flash</p><p> (2)、晶片內(nèi)部具時(shí)鐘振蕩器(傳統(tǒng)最高工作頻率可至 12MHz)</p><p> (3)、內(nèi)部程序存儲(chǔ)器(ROM)為 8KB</p><p>
40、 (4)、內(nèi)部數(shù)據(jù)存儲(chǔ)器(RAM)為 256字節(jié)</p><p> (5)、32 個(gè)可編程I/O 口線</p><p> (6)、8 個(gè)中斷向量源</p><p> (7)、三個(gè) 16 位定時(shí)器/計(jì)數(shù)器</p><p> (8)、三級(jí)加密程序存儲(chǔ)器</p><p> (9)、全雙工UART串行通道</p
41、><p> 2.2 AT89S52各引腳功能</p><p><b> VCC:</b></p><p> AT89S52電源正端輸入,接+5V。</p><p><b> VSS:</b></p><p><b> 電源地端。</b></
42、p><p><b> XTAL1:</b></p><p> 單芯片系統(tǒng)時(shí)鐘的反相放大器輸入端。</p><p><b> XTAL2:</b></p><p> 系統(tǒng)時(shí)鐘的反相放大器輸出端,一般在設(shè)計(jì)上只要在 XTAL1 和 XTAL2 上接上一只石英振蕩晶體系統(tǒng)就可以動(dòng)作了,此外可以在兩引腳
43、與地之間加入一 20PF 的小電容,可以使系統(tǒng)更穩(wěn)定,避免噪聲干擾而死機(jī)。</p><p><b> RESET:</b></p><p> AT89S52的重置引腳,高電平動(dòng)作,當(dāng)要對(duì)晶片重置時(shí),只要對(duì)此引腳電平提升至高電平并保持兩個(gè)機(jī)器周期以上的時(shí)間,AT89S51便能完成系統(tǒng)重置的各項(xiàng)動(dòng)作,使得內(nèi)部特殊功能寄存器之內(nèi)容均被設(shè)成已知狀態(tài),并且至地址0000H處
44、開(kāi)始讀入程序代碼而執(zhí)行程序。</p><p><b> EA/Vpp:</b></p><p> "EA"為英文"External Access"的縮寫,表示存取外部程序代碼之意,低電平動(dòng)作,也就是說(shuō)當(dāng)此引腳接低電平后,系統(tǒng)會(huì)取用外部的程序代碼(存于外部EPROM中)來(lái)執(zhí)行程序。因此在8031及8032中,EA引腳必須接低電
45、平,因?yàn)槠鋬?nèi)部無(wú)程序存儲(chǔ)器空間。如果是使用 8751 內(nèi)部程序空間時(shí),此引腳要接成高電平。此外,在將程序代碼燒錄至8751內(nèi)部EPROM時(shí),可以利用此引腳來(lái)輸入21V的燒錄高壓(Vpp)。</p><p><b> ALE/PROG:</b></p><p> ALE是英文"Address Latch Enable"的縮寫,表示地址鎖存器啟用信
46、號(hào)。AT89S52可以利用這支引腳來(lái)觸發(fā)外部的8位鎖存器(如74LS373),將端口0的地址總線(A0~A7)鎖進(jìn)鎖存器中,因?yàn)锳T89S52是以多工的方式送出地址及數(shù)據(jù)。平時(shí)在程序執(zhí)行時(shí)ALE引腳的輸出頻率約是系統(tǒng)工作頻率的1/6,因此可以用來(lái)驅(qū)動(dòng)其他周邊晶片的時(shí)基輸入。此外在燒錄8751程序代碼時(shí),此引腳會(huì)被當(dāng)成程序規(guī)劃的特殊功能來(lái)使用。</p><p><b> PSEN:</b>&
47、lt;/p><p> 此為"Program Store Enable"的縮寫,其意為程序儲(chǔ)存啟用,當(dāng)8051被設(shè)成為讀取外部程序代碼工作模式時(shí)(EA=0),會(huì)送出此信號(hào)以便取得程序代碼,通常這支腳是接到EPROM的OE腳。AT89S52可以利用PSEN及RD引腳分別啟用存在外部的RAM與EPROM,使得數(shù)據(jù)存儲(chǔ)器與程序存儲(chǔ)器可以合并在一起而共用64K的定址范圍。</p><p
48、> PORT0(P0.0~P0.7):</p><p> 端口0是一個(gè)8位寬的開(kāi)路汲極(Open Drain)雙向輸出入端口,共有8個(gè)位,P0.0表示位0,P0.1表示位1,依此類推。其他三個(gè)I/O端口(P1、P2、P3)則不具有此電路組態(tài),而是內(nèi)部有一提升電路,P0在當(dāng)做I/O用時(shí)可以推動(dòng)8個(gè)LS的TTL負(fù)載。如果當(dāng)EA引腳為低電平時(shí)(即取用外部程序代碼或數(shù)據(jù)存儲(chǔ)器),P0就以多工方式提供地址總線(A
49、0~A7)及數(shù)據(jù)總線(D0~D7)。設(shè)計(jì)者必須外加一鎖存器將端口0送出的地址栓鎖住成為A0~A7,再配合端口2所送出的A8~A15合成一完整的16位地址總線,而定址到64K的外部存儲(chǔ)器空間。</p><p> PORT2(P2.0~P2.7):</p><p> 端口2是具有內(nèi)部提升電路的雙向I/O端口,每一個(gè)引腳可以推動(dòng)4個(gè)LS的TTL負(fù)載,若將端口2的輸出設(shè)為高電平時(shí),此端口便能當(dāng)
50、成輸入端口來(lái)使用。P2除了當(dāng)做一般I/O端口使用外,若是在AT89S52擴(kuò)充外接程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),也提供地址總線的高字節(jié)A8~A15,這個(gè)時(shí)候P2便不能當(dāng)做I/O來(lái)使用了。</p><p> PORT1(P1.0~P1.7):</p><p> 端口1也是具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動(dòng)4個(gè)LS TTL負(fù)載,同樣地若將端口1的輸出設(shè)為高電平,便是由此端口來(lái)
51、輸入數(shù)據(jù)。如果是使用8052或是8032的話,P1.0又當(dāng)做定時(shí)器2的外部脈沖輸入腳,而P1.1可以有T2EX功能,可以做外部中斷輸入的觸發(fā)腳位。</p><p> PORT3(P3.0~P3.7):</p><p> 端口3也具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動(dòng)4個(gè)TTL負(fù)載,同時(shí)還多工具有其他的額外特殊功能,包括串行通信、外部中斷控制、計(jì)時(shí)計(jì)數(shù)控制及外部數(shù)據(jù)存儲(chǔ)器
52、內(nèi)容的讀取或?qū)懭肟刂频裙δ堋?lt;/p><p><b> 其引腳分配如下:</b></p><p> P3.0:RXD,串行通信輸入。</p><p> P3.1:TXD,串行通信輸出。</p><p> P3.2:INT0,外部中斷0輸入。</p><p> P3.3:INT1,外部中斷
53、1輸入。</p><p> P3.4:T0,計(jì)時(shí)計(jì)數(shù)器0輸入。</p><p> P3.5:T1,計(jì)時(shí)計(jì)數(shù)器1輸入。</p><p> P3.6:WR:外部數(shù)據(jù)存儲(chǔ)器的寫入信號(hào)。</p><p> P3.7:RD,外部數(shù)據(jù)存儲(chǔ)器的讀取信號(hào)。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST
54、腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p> ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí)
55、, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。</p><p> /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。</p><p> /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序
56、存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。</p><p> XTAL2:來(lái)自反向振蕩器的輸出。</p><p>
57、; 2.3 AT89S52單片機(jī)內(nèi)部結(jié)構(gòu)簡(jiǎn)圖</p><p> 2.4 AT89S52單片機(jī)的最小系統(tǒng)</p><p><b> 系統(tǒng)設(shè)計(jì)方案</b></p><p><b> 3.1搖搖棒簡(jiǎn)介</b></p><p> 搖搖棒是一種利用視覺(jué)暫留效應(yīng)制作的“高科技”玩具??梢杂谩办o如處子,
58、動(dòng)如脫兔”來(lái)形容它,即當(dāng)靜止時(shí),它只是幾個(gè)LED發(fā)光二極管(后簡(jiǎn)稱LED) ,而一旦按照一定的頻率去搖晃它,它就會(huì)隨著位置的變化而變化(亮或滅),最終顯示一幅圖片或字符串。它是由單片機(jī)控制一排LED燈有規(guī)律地亮暗,再通過(guò)搖動(dòng)使之在空中呈現(xiàn)一幅段時(shí)間的畫(huà)面。</p><p> 搖搖棒的設(shè)計(jì)需要解決幾個(gè)問(wèn)題。因?yàn)橥ㄟ^(guò)搖動(dòng)產(chǎn)生的圖像是有方向的,所以,要使圖像正確不重疊,就要將搖搖棒設(shè)計(jì)成單方向才顯示圖像。如果搖動(dòng)一下
59、的速度比顯示一幅圖像的速度慢,可能會(huì)出現(xiàn):第二幅圖的前面部分在第一下?lián)u動(dòng)的末尾,后面部分在第二下?lián)u動(dòng)的開(kāi)始。這就要使搖搖棒在一次搖動(dòng)中只顯示一次圖像。</p><p> 人的視覺(jué)暫留時(shí)間是100ms—400ms。如果要設(shè)計(jì)一個(gè)16X20分辨率的搖搖棒,LED數(shù)為16只,LED每5ms—10ms變換一次,共變換20次組成一幅圖像。測(cè)試間隔8ms效果較好。其中亮燈3ms,暗燈5ms。這樣能使亮點(diǎn)不呈一條橫線,黑暗寬
60、度與LED間隔相近。</p><p> 單片機(jī)系統(tǒng)可采用AT89S52單片機(jī)。選擇P0和P2口輸出,連接16只LED燈。P3.2為外部中斷INT0,低電平觸發(fā)方式,接一個(gè)輕觸開(kāi)關(guān),功能為切換圖像。P3.3為外部中斷INT1,低電平觸發(fā)方式,接一個(gè)水銀開(kāi)關(guān),功能是使搖搖棒只有向一個(gè)方向搖動(dòng)時(shí)才顯示圖像,使圖像完整。</p><p><b> 3.2 搖搖棒原理</b>
61、;</p><p> “搖搖棒”是基于人的視覺(jué)暫留原理的,通過(guò)分時(shí)刷新16個(gè)發(fā)光二極管 來(lái)顯示輸出文字或圖案等信息的顯示裝置。輸出信號(hào)頻率的控制通過(guò)單片機(jī)來(lái)實(shí)現(xiàn),用水銀開(kāi)關(guān)檢測(cè)當(dāng)前搖動(dòng)狀態(tài)。當(dāng)進(jìn)行搖動(dòng)時(shí),由于人的視覺(jué)暫留原理,會(huì)在發(fā)光二極管搖動(dòng)區(qū)域產(chǎn)生一個(gè)視覺(jué)平面,在視覺(jué)平面內(nèi)的二極管通過(guò)不同頻率的刷新,會(huì)在搖動(dòng)區(qū)域內(nèi)產(chǎn)生圖像,從而達(dá)到在該視覺(jué)平面上傳達(dá)信息的作用。</p><p>&l
62、t;b> 3.3 搖搖棒介紹</b></p><p> 搖搖棒,是一種利用視覺(jué)暫留效應(yīng)制作的“高科技”玩具。 可以用“靜如處子,動(dòng)如脫兔”來(lái)形容它,即當(dāng)靜止時(shí),它只是幾個(gè)LED 發(fā)光二 極管(后簡(jiǎn)稱LED) ,而一旦按照一定的頻率去搖晃它,它就會(huì)隨著位置的變 化而變化(亮或滅),最終顯示一幅圖片或字符串。本設(shè)計(jì)要求制作完成一個(gè)LED 的顯示棒。要求LED 燈線狀排列,通過(guò)搖動(dòng) 時(shí)形成的亮燈扇
63、形區(qū)域能夠分辨出如:“電”、“A”、五環(huán)之類的漢字或圖案 且可以使用按鍵對(duì)顯示內(nèi)容進(jìn)行切換。 </p><p> 本系統(tǒng)要求設(shè)計(jì)一個(gè) LED 顯示棒,,它主要是由中央控制部分、LED 驅(qū)動(dòng)部分、LED 顯示部分以及電源部分組成, LED 顯示棒系統(tǒng),單片機(jī)將提取的字模進(jìn)行存儲(chǔ),當(dāng)接收到按鍵輸入的指令時(shí)單片機(jī)就將相應(yīng) 的字模代碼通過(guò) I/O 口輸出,使 LED 點(diǎn)亮,利用視覺(jué)暫留原理最終使圖案完整 的顯示在擺動(dòng)的
64、顯示屏中。</p><p> 本設(shè)計(jì)的難點(diǎn)在于送數(shù)據(jù)的時(shí)間間隔以及較長(zhǎng)畫(huà)面或文字的完整顯示。LED 燈的選擇為傳統(tǒng)LED 發(fā)光二極管。顏色多樣,在可以同樣顯示圖案的前提下使 用它更為經(jīng)濟(jì),但是顏色較為黯淡,不鮮亮。</p><p> 單片機(jī)的字模讀取是通過(guò)在水銀開(kāi)關(guān)閉合的次數(shù)上來(lái)取設(shè)計(jì)子程序的代碼(即設(shè)變量N,水銀開(kāi)關(guān)每閉合一次,N加一,數(shù)組指向下一個(gè)字模代碼)。</p>
65、<p> 使用水銀開(kāi)關(guān)。通過(guò)搖晃使得水銀開(kāi)關(guān)與焊接的左右兩個(gè)觸點(diǎn)接觸,利用這種接觸產(chǎn)生的電平變化來(lái)改變數(shù)組指向,結(jié)合軟件控制顯示,制作簡(jiǎn)單,使用方便。</p><p><b> 3.4 設(shè)計(jì)目的</b></p><p> 本次設(shè)計(jì)制作的是一個(gè)顯示棒,基本要求就是要小巧、輕便,所以要將單片機(jī)的系統(tǒng)板簡(jiǎn)化設(shè)計(jì)。通過(guò)本次設(shè)計(jì),加強(qiáng)學(xué)生對(duì)AT89S52單片機(jī)
66、的深刻理解,提高學(xué)生的設(shè)計(jì)能力和動(dòng)手能力。</p><p><b> 3.5 設(shè)計(jì)要求</b></p><p> 設(shè)計(jì)一個(gè)16只高亮度LED發(fā)光二極管構(gòu)成的搖搖棒,通過(guò)單片機(jī)編程配合手的左右搖晃就可呈現(xiàn)一幅完整的畫(huà)面,可以顯示字符、圖片。</p><p><b> 3.6 設(shè)計(jì)思路</b></p>&l
67、t;p> 本系統(tǒng)要求設(shè)計(jì)一個(gè)LED顯示棒且需要有按鍵進(jìn)行內(nèi)容切換,它主要是由中央控制部分,LED驅(qū)動(dòng)部分,LED顯示部分以及電源部分組成。</p><p> 單片機(jī)將提取的字模進(jìn)行存儲(chǔ),當(dāng)接收到按鍵輸入的指令時(shí)單片機(jī)就將相應(yīng)的字模代碼通過(guò)I/O口輸出,使LED燈點(diǎn)亮,利用視覺(jué)暫留原理最終使圖案完整的顯示在擺動(dòng)的顯示屏中。</p><p> (1),LED燈的選擇:傳統(tǒng)LED發(fā)光
68、二極管。顏色多樣,在可以同樣顯示圖案的前提下使用它更為經(jīng)濟(jì)。</p><p> (2),外部中斷信號(hào)產(chǎn)生方式:通過(guò)外部中斷可以控制數(shù)據(jù)開(kāi)始傳輸?shù)臅r(shí)刻。選擇好外部中斷來(lái)源是本次制作的難點(diǎn)及重點(diǎn)。使用慣性開(kāi)關(guān)。通過(guò)搖晃使得慣性開(kāi)關(guān)的擺桿與焊接的左右兩個(gè)觸點(diǎn)接觸,利用這種接觸產(chǎn)生的電平變化來(lái)觸發(fā)中斷,結(jié)合軟件控制顯示,制作簡(jiǎn)單,使用方便。</p><p> (3),抗重影方案的選擇:使用外部
69、中斷控制數(shù)據(jù)傳輸時(shí)刻。外部中斷信號(hào)由慣性開(kāi)關(guān)產(chǎn)生,觸發(fā)方式為下降沿觸發(fā)。慣性開(kāi)關(guān)左右兩邊的觸點(diǎn)分別與單片機(jī)兩個(gè)外部中斷接口相連,默認(rèn)為高電平,搖動(dòng)的擺桿接地。慣性開(kāi)關(guān)處于不同位置進(jìn)入不同的中斷,從而決定何時(shí)送數(shù)據(jù)。該方案簡(jiǎn)單易行,可以保證數(shù)據(jù)是單程傳輸?shù)?,避免了重影。不搖動(dòng)時(shí)把慣性開(kāi)關(guān)處在左邊就可以使LED棒熄滅,可以達(dá)到省電的效果。</p><p><b> 4 系統(tǒng)硬件設(shè)計(jì)</b>&l
70、t;/p><p> 4.1 單元電路設(shè)計(jì)</p><p> 圖二 復(fù)位電路 圖三時(shí)鐘電路</p><p> 單片機(jī)在啟動(dòng)時(shí)都需要復(fù)位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開(kāi)始工作。89系列單片機(jī)的復(fù)位信號(hào)是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時(shí),且振蕩器穩(wěn)定后,如果RST引腳上有一
71、個(gè)高電平并維持2個(gè)機(jī)器周期24個(gè)振蕩周期以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。單片機(jī)系統(tǒng)的復(fù)位方式有:手動(dòng)按鈕復(fù)位和上電復(fù)位。手動(dòng)按鈕復(fù)位需要人為在復(fù)位輸入端RST上加入高電平(圖二)。一般采用的辦法是在RST端和正電源Vcc之間接一個(gè)按鈕。當(dāng)人為按下按鈕時(shí),則Vcc的+5V電平就會(huì)直接加到RST端。手動(dòng)按鈕復(fù)位的電路如所示。由于人的動(dòng)作再快也會(huì)使按鈕保持接通達(dá)數(shù)十毫秒,所以,完全能夠滿足復(fù)位的時(shí)間要求。單片機(jī)在啟動(dòng)時(shí)都需要復(fù)位,以使C
72、PU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開(kāi)始工作。89系列單片機(jī)的復(fù)位信號(hào)是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時(shí),且振蕩器穩(wěn)定后,如果RST引腳上有一個(gè)高電平并維持2個(gè)機(jī)器周期(24個(gè)振蕩周期)以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。單片機(jī)系統(tǒng)的復(fù)位方式有:手動(dòng)按鈕復(fù)位和上電復(fù)位。</p><p> 時(shí)鐘在引腳XTAL1和XTAL2外接晶體振蕩器(簡(jiǎn)稱晶振)或陶瓷諧振器,就構(gòu)成
73、了內(nèi)部振蕩方式(如圖三)。由于單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖。內(nèi)部振蕩方式的外部電路如下圖所示。</p><p> 外部振蕩方式是把外部已有的時(shí)鐘信號(hào)引入單片機(jī)內(nèi)。這種方式適宜用來(lái)使單片機(jī)的時(shí)鐘與外部信號(hào)保持同步。外部振蕩方式的外部電路如下圖所示。</p><p> 圖三中,電容器C01,C02起穩(wěn)定振蕩頻率、快速起振的作用,其電容
74、值一般在5-30pF。晶振頻率的典型值為12MH2,采用6MHz的情況也比較多。內(nèi)部振蕩方式所得的時(shí)鐘情號(hào)比較穩(wěn)定,實(shí)用電路中使用較多。</p><p> 4.2 LED 顯示模塊 </p><p> 首先,我們根據(jù) LED 點(diǎn)陣屏的顯示原理:點(diǎn)陣屏的顯示分為行掃描與列掃 描兩種,列掃描是將我們的字模數(shù)組通過(guò)點(diǎn)陣屏的行驅(qū)動(dòng)進(jìn)行輸入,然后通過(guò)列對(duì)每一行進(jìn)行掃描,當(dāng)列為低(高)電平、行為
75、高(低)電平時(shí)則表示該點(diǎn)為圖 案的一部分,將其讀出、顯示。它的順序可以總結(jié)為:行不斷的送數(shù)據(jù),每送完 設(shè)置的信息后列進(jìn)行讀取,然后行再次送數(shù)據(jù),列再次讀取依次循環(huán)下去, 一幅完整的圖案就顯示在了顯示屏上。 而本次設(shè)計(jì)的 LED 顯示棒數(shù)據(jù)傳輸原理與LED點(diǎn)陣屏相似??梢园?LED 顯示棒看成是 LED 點(diǎn)陣屏中的一列。為了使顯示的圖案清晰,我們使用了 16 個(gè)LED 管將它們排成一列,整個(gè)屏在靜止時(shí)也就相當(dāng)于16 行×1 列。
76、數(shù)據(jù)傳輸 時(shí)我們同樣使用行送數(shù)據(jù)、列掃描。在擺動(dòng)過(guò)程中,應(yīng)用視覺(jué)暫留原理,我們點(diǎn) 亮的列不會(huì)很快的消失,而是隨著擺動(dòng)的方向繼續(xù)向前移動(dòng),只要移動(dòng)的速度高 于視覺(jué)暫留的最短時(shí)間顯示內(nèi)容就不會(huì)熄滅,至此,一幅圖案也就可以這樣被“擺動(dòng)”出來(lái)了。 </p><p><b> 基本原理圖為:</b></p><p> 基本原理與硬件電路設(shè)計(jì):</p><
77、p> 16只LED發(fā)光管作為畫(huà)面每一列的顯示,左右搖晃起到了掃描的作用,人眼的視覺(jué)暫留現(xiàn)象看到的是一幅完整的畫(huà)面。與LED點(diǎn)陣的顯示有幾分相仿。</p><p> 其硬件電路如上圖中所示:</p><p> 系統(tǒng)電源VCC為5V,下載程序和調(diào)試時(shí)一定要保證5V電壓,MCS-51單片機(jī)作為控制器,在它的P1,P2口接有16只以共陽(yáng)的方式連接的高亮度LED,由單片機(jī)輸出低電平點(diǎn)亮。
78、P1口,P2口的上拉電阻不能少。串在LED公共端的二極管D1會(huì)產(chǎn)生一定的壓降,用來(lái)保護(hù)LED,經(jīng)試驗(yàn)測(cè)試LED點(diǎn)亮?xí)r兩端電壓為3V左右,在LED的安全承受范圍之內(nèi)。</p><p><b> 4.3 各部分功能</b></p><p><b> (1),按鍵模塊</b></p><p> 使用一個(gè)按鍵對(duì)顯示的所有內(nèi)容
79、進(jìn)行切換,通過(guò)按鈕按下的次數(shù)確定顯示的內(nèi)容。</p><p> S1:水銀開(kāi)關(guān) 功能為棒在搖動(dòng)時(shí),只能在朝某一方向搖動(dòng)時(shí)顯示,否則會(huì)出現(xiàn)鏡像字或鏡像畫(huà)面,所以通過(guò)接一支水銀開(kāi)關(guān)來(lái)控制,使搖搖棒從左向右搖動(dòng)時(shí)將內(nèi)容顯示出來(lái)。</p><p> S2:畫(huà)面切換開(kāi)關(guān) 功能為用于切換顯示不同內(nèi)容。</p><p> S3:手動(dòng)復(fù)位開(kāi)關(guān) 功能為可以控制系統(tǒng)的啟停<
80、/p><p> (2),LED顯示模塊</p><p> 首先,我們根據(jù)LED點(diǎn)陣屏的顯示原理:點(diǎn)陣屏的顯示分為行掃描與列掃描兩種,列掃描是將我們的字模數(shù)組通過(guò)點(diǎn)陣屏的行驅(qū)動(dòng)進(jìn)行輸入,然后通過(guò)列對(duì)每一行進(jìn)行掃描,當(dāng)列為低(高)電平、行為高(低)電平時(shí)則表示該點(diǎn)為圖案的一部分,將其讀出、顯示。它的順序可以總結(jié)為:行不斷的送數(shù)據(jù),每送完設(shè)置的信息后列進(jìn)行讀取,然后行再次送數(shù)據(jù),列再次讀取……依
81、次循環(huán)下去,一幅完整的圖案就顯示在了顯示屏上。</p><p> 而本次設(shè)計(jì)的LED顯示棒數(shù)據(jù)傳輸原理與LED點(diǎn)陣屏相似??梢园袻ED顯示棒看成是LED點(diǎn)陣屏中的一列。為了使顯示的圖案清晰,我們使用了16個(gè)LED管將它們排成一列,整個(gè)屏在靜止時(shí)也就相當(dāng)于16行×1列。數(shù)據(jù)傳輸時(shí)我們同樣使用行送數(shù)據(jù)、列掃描。在擺動(dòng)過(guò)程中,應(yīng)用視覺(jué)暫留原理,我們點(diǎn)亮的列不會(huì)很快的消失,而是隨著擺動(dòng)的方向繼續(xù)向前移動(dòng),只要
82、移動(dòng)的速度高于視覺(jué)暫留的最短時(shí)間顯示內(nèi)容就不會(huì)熄滅,至此,一幅圖案也就可以這樣被“擺動(dòng)”出來(lái)了。</p><p><b> 4.4 系統(tǒng)硬件</b></p><p> 系統(tǒng)功能主要體現(xiàn)在3個(gè)部分:</p><p> (1),單片機(jī)控制(AT89S52)本裝置采用了AT89S52單片機(jī),它支持直接通過(guò)串口線下載程序,對(duì)于本設(shè)計(jì)而言,顯示文
83、字需經(jīng)常改變,AT89S52方便許多,因此選擇AT89S52作為本設(shè)計(jì)所用的單片機(jī)。</p><p> (2), 顯示功能。(D1~D16)</p><p> 信息傳遞主要由顯示來(lái)完成,本設(shè)計(jì)顯示功能由16個(gè)發(fā)光二極管來(lái)完成。16個(gè)發(fā)光二極管分為4組,以共陽(yáng)的方式連接,共用P1口和P2口作為輸出口。</p><p> 系統(tǒng)的元器件明細(xì)表:</p>
84、<p><b> 5.系統(tǒng)軟件設(shè)計(jì)</b></p><p> 5.1 軟件設(shè)計(jì)思路</p><p> 在搖動(dòng)LED棒的時(shí)候單片機(jī)必須單程傳送數(shù)據(jù)否則顯示的圖形會(huì)產(chǎn)生重影,影響視覺(jué)效果。因此當(dāng)系統(tǒng)開(kāi)始工作后通過(guò)慣性開(kāi)關(guān)的位置來(lái)使單片機(jī)實(shí)現(xiàn)單程傳送數(shù)據(jù)給LED。如果慣性開(kāi)關(guān)位于右邊,則進(jìn)入外部中斷1并將一變量置1。在變量為1期間讓單片機(jī)以一定的頻率將數(shù)據(jù)
85、傳送給LED。如果慣性開(kāi)關(guān)位于左邊,則進(jìn)入外部中斷0并將變量置0,。在這期間單片機(jī)不會(huì)傳送數(shù)據(jù)給LED。在送數(shù)據(jù)時(shí),數(shù)據(jù)送完后應(yīng)延時(shí)一段時(shí)間來(lái)使搖動(dòng)時(shí)顯示的每個(gè)字不會(huì)太擁擠。之后再立刻熄滅LED并開(kāi)始重新判斷慣性開(kāi)關(guān)的位置。</p><p> 5.2 主程序流程圖</p><p> 通過(guò)軟件設(shè)計(jì)思路分析,得到該系統(tǒng)的主程序流程圖如下:</p><p> 系統(tǒng)開(kāi)
86、始運(yùn)行,內(nèi)部進(jìn)行初始化后,等待外部中斷。當(dāng)搖動(dòng)到指定位置時(shí),由滾珠開(kāi)關(guān)出觸發(fā)外部中斷,再經(jīng)過(guò)一段時(shí)間延時(shí)后開(kāi)始顯示。顯示完成返回主程序,等待下一個(gè)搖動(dòng)周期的到來(lái)。</p><p> 6 系統(tǒng)的硬件調(diào)試及軟件調(diào)試</p><p> 單片機(jī)應(yīng)用系統(tǒng)的硬件調(diào)試和軟件調(diào)試是分不可的,許多硬件故障是在調(diào)試軟件時(shí)才發(fā)現(xiàn)的。但通常是先排除系統(tǒng)中明顯的硬件故障后才和軟件結(jié)合起來(lái)調(diào)試的。其一般的調(diào)試過(guò)程
87、如下:</p><p> 6.1 常見(jiàn)的硬件故障</p><p><b> ?。?),邏輯錯(cuò)誤</b></p><p> 樣機(jī)硬件的邏輯錯(cuò)誤是由于設(shè)計(jì)錯(cuò)誤和加工過(guò)程中的工藝性錯(cuò)誤所造成的。這類錯(cuò)誤包括:錯(cuò)線,開(kāi)路,短路等幾種,其中短路時(shí)最常見(jiàn)的故障。在印刷電路板布線密度高的情況下,極易因工藝原因造成短路。</p><p&
88、gt;<b> (2),器件失效</b></p><p> 元器件失效的原因有兩個(gè)方面:一是器件本身已損壞或性能不符合要求;二是由于組裝錯(cuò)誤而造成的元器件失效,如電解電容,二極管的極性錯(cuò)誤,集成塊安裝方向錯(cuò)誤等。</p><p><b> ?。?),可靠性差</b></p><p> 引起系統(tǒng)不可靠的因素很多,如金屬
89、化孔,接插件接觸不良會(huì)造成系統(tǒng)時(shí)好時(shí)壞;內(nèi)部和外部的干擾,電源紋波系數(shù)過(guò)大,器件負(fù)載過(guò)大等造成邏輯電平不穩(wěn)定;另外,走線和布局的不合理等也會(huì)引起系統(tǒng)可靠性差。</p><p><b> ?。?),電源故障</b></p><p> 若樣機(jī)中存在電源故障,則加電后將造成器件損壞。電源的故障包括:電壓值不符合設(shè)計(jì)要求,電源引出線和插座不對(duì)應(yīng),電源功率不足,負(fù)載能力差。&
90、lt;/p><p> 6.2 硬件調(diào)試方法</p><p><b> ?。?),脫機(jī)調(diào)試</b></p><p> 脫機(jī)調(diào)試是在電路板加電之前,先用萬(wàn)用表等工具,根據(jù)硬件電氣原理圖和裝配圖仔細(xì)檢查樣機(jī)線路的正確性,并核對(duì)元器件的型號(hào),規(guī)格和安裝是否符合要求。應(yīng)特別注意電源的走線,防止電源之間的短路和極性錯(cuò)誤,并重點(diǎn)檢查拓展系統(tǒng)總線是否存在相互間
91、的短路或其他信號(hào)線的短路。</p><p> 對(duì)于樣機(jī)所用的電源事先必須單獨(dú)調(diào)試,調(diào)試好后,檢查其電壓值,負(fù)載能力,極性等均符合要求,才能加到系統(tǒng)的各個(gè)部件上。在不插片子的情況下,加電檢查各插件上引腳的電位,仔細(xì)檢查各地點(diǎn)電位是否正常,尤其應(yīng)注意單片機(jī)插座上的各點(diǎn)電位是否正常,若有高壓,聯(lián)機(jī)時(shí)將會(huì)損壞開(kāi)發(fā)機(jī)。</p><p><b> ?。?),聯(lián)機(jī)調(diào)試</b>&l
92、t;/p><p> 通過(guò)脫機(jī)調(diào)試可排除一些明顯的硬件故障。有些硬件故障還是要通過(guò)聯(lián)機(jī)調(diào)試才能發(fā)現(xiàn)和排除。</p><p> 聯(lián)機(jī)前先斷電,把開(kāi)發(fā)系統(tǒng)的仿真插頭插到樣機(jī)的單片機(jī)插座上,檢查一下開(kāi)發(fā)機(jī)與樣機(jī)之間的電源、接地是否良好。一切正常,即可打開(kāi)電源。</p><p> 通電后執(zhí)行開(kāi)發(fā)機(jī)讀寫指令,對(duì)用戶機(jī)的存儲(chǔ)器、I/O端口進(jìn)行讀寫操作、邏輯檢查,若有故障,可用示
93、波器觀察波形。通過(guò)對(duì)波形的觀察分析,尋找故障原因,并進(jìn)一步排除故障??赡艿墓收嫌校壕€路連接上的邏輯錯(cuò)誤、有斷線或短路現(xiàn)象、集成電路失效等。</p><p> 6.3 軟件調(diào)試方法</p><p> 軟件調(diào)試與所選用的軟件結(jié)構(gòu)和程序設(shè)計(jì)技術(shù)有關(guān)。如果采用模塊程序設(shè)計(jì)技術(shù),則逐個(gè)模塊調(diào)試好以后,再進(jìn)行系統(tǒng)程序總調(diào)試。如果采用實(shí)時(shí)多任務(wù)操作系統(tǒng),一般是逐個(gè)任務(wù),下面進(jìn)一步予以說(shuō)明。</
94、p><p> 對(duì)于模塊結(jié)構(gòu)程序,要一個(gè)個(gè)子程序分別調(diào)試。調(diào)試子程序時(shí),一定要符合現(xiàn)場(chǎng)環(huán)境,即入口條件和出口條件。調(diào)試的手段可采用單步運(yùn)行方式和斷點(diǎn)運(yùn)行方式,通過(guò)檢查用戶系統(tǒng)CPU的現(xiàn)場(chǎng)、RAM的內(nèi)容和I/O口的狀態(tài),檢測(cè)程序執(zhí)行結(jié)果是否符合設(shè)計(jì)要求。通過(guò)檢測(cè),可以發(fā)現(xiàn)程序中的死循環(huán)錯(cuò)誤、機(jī)器碼錯(cuò)誤及轉(zhuǎn)移地址的錯(cuò)誤,同時(shí)也可以發(fā)現(xiàn)用戶系統(tǒng)中的硬件故障、軟件算法及硬件設(shè)計(jì)錯(cuò)誤。在調(diào)試過(guò)程中不斷調(diào)整用戶系統(tǒng)的軟件和硬件,
95、逐步通過(guò)一個(gè)個(gè)程序模塊。各程序模塊通過(guò)后,可以把各功能塊聯(lián)系起來(lái)一起進(jìn)行整體程序綜合調(diào)試。在這階段若發(fā)生故障,可以考慮各子程序在運(yùn)行時(shí)是否破壞現(xiàn)場(chǎng),緩沖單元是否發(fā)生沖突,零位的建立和清除在設(shè)計(jì)上有否失誤,堆棧區(qū)域有否溢出,輸入設(shè)備的狀態(tài)是否正常,等等。若用戶系統(tǒng)是在開(kāi)發(fā)系統(tǒng)的監(jiān)控程序下運(yùn)行時(shí),還要考慮用戶緩沖單元是否和監(jiān)控程序的工作單元發(fā)生沖突。</p><p> 單步和斷點(diǎn)調(diào)試后,還應(yīng)進(jìn)行連續(xù)調(diào)試,這是因?yàn)閱?/p>
96、步運(yùn)行只能驗(yàn)證程序的正確與否,而不能確定定時(shí)精度、CPU的實(shí)時(shí)響應(yīng)等問(wèn)題。待全部完成后,應(yīng)反復(fù)運(yùn)行多次,除了觀察穩(wěn)定性之外,還要觀察用戶系統(tǒng)的操作是否符合原始設(shè)計(jì)要求、安排的用戶操作是否合理等,必要時(shí)還要做適當(dāng)修正。對(duì)于實(shí)時(shí)多任務(wù)操作系統(tǒng)的應(yīng)用程序是由若干個(gè)任務(wù)程序組成,一般是逐個(gè)任務(wù)進(jìn)行調(diào)試,在調(diào)試某一個(gè)任務(wù)時(shí),同時(shí)也調(diào)試相關(guān)的子程序、中斷服務(wù)程序和一些操作系統(tǒng)的程序。逐個(gè)任務(wù)調(diào)試好以后,再使各個(gè)任務(wù)同時(shí)運(yùn)行,如果操作系統(tǒng)中沒(méi)有錯(cuò)誤,
97、一般情況下系統(tǒng)就能正常運(yùn)轉(zhuǎn)。</p><p> 在全部調(diào)試修改完成后,將用戶軟件固化于EPROM中,插入用戶樣機(jī)后,用戶系統(tǒng)即能離發(fā)機(jī)獨(dú)立工作,至此系統(tǒng)研制完成。</p><p> 6.4 本次設(shè)計(jì)中,具體調(diào)試過(guò)程</p><p> 在開(kāi)始實(shí)驗(yàn)設(shè)計(jì)前,根據(jù)實(shí)驗(yàn)要求,分析實(shí)驗(yàn)所涉及的相關(guān)知識(shí)點(diǎn),查閱身邊的資料,并根據(jù)自己以前所學(xué)的理論知識(shí),有了大概設(shè)計(jì)框圖后,
98、在PROTEL中畫(huà)出原理圖,然后根據(jù)原理圖分析模塊焊出電路板,并對(duì)模塊進(jìn)行測(cè)試。 </p><p> 第一步,測(cè)試LED顯示電路和S51單片機(jī)最小系統(tǒng)。首先測(cè)試LED,輸入一個(gè)簡(jiǎn)單程序,發(fā)現(xiàn)有一個(gè)LED不亮,于是檢查該LED的引腳,發(fā)現(xiàn)線路斷了,接好后LED亮了。于是輸入搖搖棒程序,但LED燈不閃,猜測(cè)是數(shù)碼管芯片與插槽接觸不良的問(wèn)題,就把插槽重新焊接,之后,再次檢測(cè)時(shí),發(fā)現(xiàn)有時(shí)閃爍有時(shí)燈不亮。說(shuō)明不是插槽的問(wèn)
99、題,于是反復(fù)檢查最小系統(tǒng)模塊,通過(guò)用電壓表最數(shù)碼管的每個(gè)引腳進(jìn)行高低電平測(cè)試,最總發(fā)現(xiàn)原來(lái)是接線問(wèn)題,即是一根線忘了連接。使得硬件與軟件的設(shè)置不匹配,從而導(dǎo)致了LED顯示不正常。改正后重新測(cè)試。手動(dòng)搖晃可呈現(xiàn)圖像。</p><p> 第二步,測(cè)試驅(qū)動(dòng)電路,該模塊完好。</p><p> 第三步,軟件測(cè)試。在軟件方面,改部分主要調(diào)延時(shí)函數(shù),調(diào)試過(guò)程簡(jiǎn)單但費(fèi)時(shí)。于是,多次耐心嘗試后軟件調(diào)試
100、才成功,能夠完整并較為清晰地完整圖像,最終,實(shí)現(xiàn)搖搖棒功能。</p><p><b> 結(jié)束語(yǔ)</b></p><p> 在趙老師的指導(dǎo)下,通過(guò)幾周的時(shí)間完成了搖搖棒的設(shè)計(jì),本次設(shè)計(jì)以水銀開(kāi)關(guān)和單片機(jī)的實(shí)際應(yīng)用為背景,介紹了以單片機(jī)為核心顯示設(shè)計(jì)的基本結(jié)構(gòu)和基本原理。 本次將使用單片機(jī)對(duì)搖動(dòng)顯示進(jìn)行實(shí)例化,設(shè)計(jì)一個(gè)LED搖動(dòng)顯示器來(lái)顯示文字、圖像等信息。掌
101、握利用AT89S52型單片機(jī)對(duì)發(fā)光二極管陣列進(jìn)行搖動(dòng)控制的方法。輸出信號(hào)頻率的控制通過(guò)單片機(jī)來(lái)實(shí)現(xiàn),用水銀開(kāi)關(guān)擺動(dòng)狀態(tài)和16個(gè)發(fā)光二極管進(jìn)行不同頻率的亮滅刷新,通過(guò)手動(dòng)搖動(dòng)可顯示輸出文字及圖案等信息。當(dāng)進(jìn)行搖動(dòng)時(shí),由于人的視覺(jué)暫留原理,會(huì)在發(fā)光二極管搖動(dòng)區(qū)域產(chǎn)生一個(gè)視覺(jué)平面,在視覺(jué)平面內(nèi)的二極管通過(guò)不同頻率的刷新,會(huì)在搖動(dòng)區(qū)域內(nèi)產(chǎn)生圖像,從而達(dá)到在該視覺(jué)平面上傳達(dá)信息的作用。 設(shè)計(jì)具有市場(chǎng)前景,可滿足各種大型演出、集會(huì)、游行等宣
溫馨提示
- 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è)論文---單片機(jī)實(shí)現(xiàn)搖搖棒設(shè)計(jì)
- 畢業(yè)論文---單片機(jī)實(shí)現(xiàn)搖搖棒設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的led顯示搖搖棒的設(shè)計(jì)
- 基于單片機(jī)的神奇搖搖棒畢業(yè)論文
- 基于51單片機(jī)搖搖棒的設(shè)計(jì)說(shuō)明
- 畢業(yè)論文-基于at89s51單片機(jī)的led搖搖棒設(shè)計(jì)
- 基于51單片機(jī)搖搖棒的設(shè)計(jì)說(shuō)明
- 基于單片機(jī)的gps畢業(yè)設(shè)計(jì)論文
- led搖搖棒畢業(yè)設(shè)計(jì)
- 電子搖搖棒畢業(yè)設(shè)計(jì)
- 基于單片機(jī)滾動(dòng)字幕設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 基于單片機(jī)的定時(shí)顯示設(shè)計(jì)畢業(yè)設(shè)計(jì)(論文)
- 畢業(yè)設(shè)計(jì)論文 基于單片機(jī)的電子日歷設(shè)計(jì)
- 基于單片機(jī)的畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)論文 基于單片機(jī)的溫度控制設(shè)計(jì)
- 基于單片機(jī)的智能加濕器畢業(yè)設(shè)計(jì)論文
- 單片機(jī)畢業(yè)設(shè)計(jì)論文01
- 基于單片機(jī)的智能加濕器畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的倒車?yán)走_(dá)的設(shè)計(jì)
- 基于單片機(jī)的d類功放設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
評(píng)論
0/150
提交評(píng)論