版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 南京理工大學(xué)紫金學(xué)院</p><p> 畢業(yè)設(shè)計說明書(論文)</p><p> 指導(dǎo)者: </p><p> (姓 名) (專業(yè)技術(shù)職務(wù))</p><p> 評閱者: &
2、lt;/p><p> (姓 名) (專業(yè)技術(shù)職務(wù))</p><p> 2015 年 6 月</p><p> 畢業(yè)設(shè)計說明書(論文)中文摘要</p><p> 畢業(yè)設(shè)計說明書(論文)外文摘要</p><p> 南 京 理 工 大 學(xué) 紫 金 學(xué) 院</p><p>
3、; 畢業(yè)設(shè)計(論文)評語</p><p> 學(xué)生姓名: 唐佳恒 班級、學(xué)號: 110404333 </p><p> 題 目: 4*4*4光立方的設(shè)計與實(shí)現(xiàn) </p><p> 綜合成績: </p><p> 畢業(yè)設(shè)計(論文)評語</p><p><b> 目
4、 次</b></p><p><b> 1 緒論1</b></p><p> 1.1 光立方的發(fā)展背景1</p><p> 1.2 研究意義1</p><p> 1.3 章節(jié)安排1</p><p><b> 2 總體設(shè)計3</b>
5、</p><p> 2.1 光立方控制原理3</p><p> 2.2 系統(tǒng)的總體設(shè)計方案3</p><p> 2.3 各個模塊的方案比較4</p><p> 3 系統(tǒng)硬件設(shè)計6</p><p> 3.1 單片機(jī)選型6</p><p> 3.2 單片機(jī)總控制電路
6、8</p><p> 3.3 光立方顯示電路12</p><p> 4 系統(tǒng)軟件設(shè)計13</p><p> 4.1 軟件編譯13</p><p> 4.2 流程設(shè)計15</p><p> 4.3 顯示設(shè)計16</p><p> 4.4 小結(jié)22</p&
7、gt;<p><b> 結(jié)論與展望23</b></p><p><b> 致 謝28</b></p><p> 參 考 文 獻(xiàn)29</p><p><b> 附錄:30</b></p><p><b> 1 緒論</b>
8、</p><p> 1.1 光立方的發(fā)展背景</p><p> 光立方在我國的起步還是相對比較晚,直到2009年,在北京天安門廣場舉行的國慶晚會才與大家相見。“光立方”在氣勢和整體感覺上,融合了北京奧運(yùn)會開幕式“擊缶而歌”和“活字印刷”的風(fēng)格,而各種圖案則與貫穿奧運(yùn)會開幕式的“畫卷”有異曲同工之妙[1]。光立方在國慶聯(lián)歡晚會上演習(xí)結(jié)束之后, “光立方”這一個新名詞在不知不覺之中吸引了
9、許多人的目光。之后以“光立方”制作而成的手電筒也被應(yīng)用在2010年的世博會的主題館和中國館。</p><p> 隨后“光立方”在中國被越來越多的人所留意,也有越來越多的人學(xué)習(xí)和制作光立方,他們在此基礎(chǔ)上不斷創(chuàng)新,開發(fā)出了更多的花樣。其實(shí)在我們的日常生活中,“光立方”的各種產(chǎn)品早就已經(jīng)存在了,只是我們沒有去關(guān)注它。例如照明類光立方,常見的是在景觀處所使用的裝飾燈;還有就是應(yīng)用在各種活動中的大屏幕上,色彩斑斕的效果
10、非常絢麗。</p><p><b> 1.2 研究意義</b></p><p> 隨著人們生活水平的提高,3D效果的欣賞已經(jīng)成為了人們的追求,但是發(fā)展到現(xiàn)在3D還不能夠普及到人們的生活當(dāng)中去,因此要更好地把3D推廣到日常生活中。在這一次的設(shè)計中,放棄了對平面LED燈的制作,而是轉(zhuǎn)向3D效果的設(shè)計,利用3D制作出來的效果更加豐富多彩,不但可以吸引人們的目光,還可以
11、提升人們的審美觀,不用把視線集中在平面成像上。3D光立方是一種新型的顯示資源,因此它所擁有的優(yōu)勢也是比較明顯的,在體積方面非常小、功率消耗方面相比同類也降低很多、功能強(qiáng)大、優(yōu)秀的拓展能力、微型化等。比起市面上使用的電子或數(shù)字電路的光照設(shè)備,在每一個方面都有顯著的優(yōu)勢。最重要的是它的研究極具創(chuàng)意和啟發(fā),還可以應(yīng)用于未來的3D手機(jī)、節(jié)能燈等產(chǎn)品,并且由于制作成本低廉,用3D所實(shí)現(xiàn)的智能產(chǎn)品對市場經(jīng)濟(jì)發(fā)展有很大的推動作用。</p>
12、<p><b> 1.3 章節(jié)安排</b></p><p><b> 具體安排如下:</b></p><p> 第二章:主要說明了光立方的總體設(shè)計原理和各個結(jié)構(gòu)都有一些什么特點(diǎn),并且對不同的方案都作了比較。</p><p> 第三章:詳細(xì)說明了電路各個部分的排布、設(shè)計和功能,主要包括控制電路、驅(qū)動電
13、路還有顯示電路在光立方工作過程中的作用。</p><p> 第四章:主要說明了軟件調(diào)試的過程,軟件設(shè)計的具體做法更加方便讀者理解設(shè)計的整個架構(gòu)和邏輯關(guān)系。</p><p> 最后,對光立方的設(shè)計過程做出總結(jié),并對光立方的發(fā)展前景進(jìn)行描述。</p><p><b> 2 總體設(shè)計</b></p><p> 2.1
14、 光立方控制原理</p><p> 3D光立方看起來就像是一個三維的顯示器,只不過這個光立方是由發(fā)光二極管組成的一個立方體。光立方顯示的原理簡單來說就是用單片機(jī)控制64個發(fā)光二極管,在不同時間段點(diǎn)亮動畫效果所需要的發(fā)光二級管,然后便能看到圖案或動畫效果了。光立方的具體原理如下:</p><p> 整個光立方由下到上一共分為4層,將每一層的總共16個發(fā)光二級管的負(fù)極焊接在一直線上,由于
15、是雙色的發(fā)光二極管,所以將32個正極分為兩路焊接,其他層都對應(yīng)焊接,然后再曾與曾直接對應(yīng)焊接起來。然后再根據(jù)所要實(shí)現(xiàn)的動畫效果,編寫相應(yīng)的程序來控制發(fā)光二極管。根據(jù)人眼的視覺暫留效果,設(shè)置每幅畫面呈現(xiàn)動態(tài),最終達(dá)到所要顯示的內(nèi)容。每一個發(fā)光二級管的點(diǎn)亮或者熄滅,都是由層控制端所決定的。</p><p> 2.2 系統(tǒng)的總體設(shè)計方案</p><p> 此次的光立方設(shè)計用的是層整體控制的
16、方法,每一層都要引出兩個正極引腳,然后將16個燈的陰極分為2路焊接起來,最后焊接到PCB板相對應(yīng)引腳上就可以了。用64個雙色發(fā)光二級管燈作為顯示模塊來構(gòu)成光立方,再加上查詢芯片的功能和作用,就可以確定基本思路。系統(tǒng)模塊框圖如圖2.1所示。</p><p> 圖2.1 系統(tǒng)模塊框</p><p> 如上圖2.1所示,此次設(shè)計的系統(tǒng)整體模塊包括了以單片機(jī)為核心的控制模塊,驅(qū)動模塊、運(yùn)放模
17、塊和顯示模塊。</p><p> 2.3 各個模塊的方案比較</p><p> 2.3.1 單片機(jī)模塊</p><p> 方案一:采用常規(guī)的51單片機(jī)的作為光立方的主要控制芯片,存在兩個明顯的不足之處。第一,51單片機(jī)的內(nèi)存比較小,而相對的制作3D光立方的動畫所要的程序量比較大,會出現(xiàn)內(nèi)存不足的情況。第二,如果采用89c51單片機(jī)作為主要控制芯片,還需要添
18、加另外的芯片,這樣的話不僅制作的成本上來了,在這同時也增加了工作量。所以不采用此方案。</p><p> 方案二:采用MCS-51系列的STC12C5A60S2芯片作為控制芯片,這個芯片具有60K的超大內(nèi)存,非常適合用來存儲光立方形成的多種動畫的程序量,并且此芯片完全兼容普通8051單片機(jī),而且內(nèi)部集成度又非常高,具有超強(qiáng)的抗干擾能力,外部的復(fù)位可用可不用,運(yùn)行的速度也比普通8051單片機(jī)快10倍左右。正是因?yàn)?/p>
19、內(nèi)部的高度集成,不需再添加其它的芯片,降低了成本,節(jié)約了時間,還在一定程度上減小了PCB板的面積,更加小巧。</p><p> 2.3.2 驅(qū)動模塊</p><p> 方案一:采用8個8050NPN三極管驅(qū)動。如果使用這一類驅(qū)動,就需要8個三極管對雙色LED進(jìn)行控制,數(shù)量太多,影響整理的布局和美觀,最重要的是性價比不高,所以不建議使用此方案。</p><p>
20、 方案二:采用達(dá)林頓ULN2803來驅(qū)動,如果使用這一類驅(qū)動,第1個引腳到第8個引腳作為輸入端,第11引腳到18作為輸出端,工作能力是500mA\50V。雖然在很大程度上縮小了元件占用的空間,但是64個LED燈所需的電流沒有那么大,因此性價比也不是很高,所以也不考慮此方案。</p><p> 方案三:采用MCS-51系列的STC12C5A60S2芯片。由于此芯片的高度集成化,可以用I\O口直接驅(qū)動LED二極管
21、,功率消耗也不大,而且可以只用一個芯片就能驅(qū)動LED,所以直接采用此芯片直接驅(qū)動。</p><p> 2.3.3 運(yùn)放模塊</p><p> 方案一:選用LM4562,這個芯片是高性能音頻專用雙運(yùn)算放大器,這款芯片常用于制作專業(yè)級或者高端的音頻系統(tǒng),在本次的設(shè)計中,由于性價比不高,所以不推薦使用。</p><p> 方案二:選用LM358p,這個芯片內(nèi)部具備
22、兩個獨(dú)立的、高增益、頻率補(bǔ)償?shù)碾p運(yùn)算放大器,功耗低,價格低廉,非常適合本次的設(shè)計。</p><p> 2.3.4 顯示模塊</p><p> 方案一:我們在生活中常用的LED不容易聚光,當(dāng)LED被點(diǎn)亮的時候光發(fā)散比較厲害,燈與燈之間會相互影響,效果比較混亂,直接導(dǎo)致視覺效果達(dá)不到要求,而且在質(zhì)量方面也不過關(guān)。</p><p> 方案二:我們選用方形或者草帽型
23、雙色霧狀LED發(fā)光二極管,此類二極管的工作電壓是3.5V左右,工作電流在6mA左右。這種二極管的特點(diǎn)是同時可以顯示兩種顏色,分別是紅色和藍(lán)色,在適當(dāng)?shù)目刂葡?,可以變換更多的顏色,當(dāng)64 個燈同時被點(diǎn)亮的時候效果更佳。效果如圖2.2所示:</p><p> 圖2.2 方形雙色霧狀發(fā)光二極管</p><p><b> 3 系統(tǒng)硬件設(shè)計</b></p>
24、<p> 系統(tǒng)的硬件設(shè)計采用的方法很多,此次的設(shè)計在要求精簡的前提下,又保證了功能的正常運(yùn)行。</p><p> 3.1 單片機(jī)選型 </p><p> MCS-51系列的STC12C5A60S2單片機(jī)是宏晶科技生產(chǎn)的一款功能較為強(qiáng)大的單時鐘/機(jī)器周的單片機(jī),它是MCS-51系列單片機(jī)衍生產(chǎn)品中代表。這個系列的單片機(jī)在指令代碼上可以完全兼容普通的8051單片機(jī),而且這
25、個單片機(jī)的與傳統(tǒng)的單片機(jī)所不同的是它具有1T的內(nèi)核,所以在速度上比普通8051單片機(jī)快10倍左右。但是在碰到對延遲有特殊要求的時候,便會對應(yīng)轉(zhuǎn)換成單片機(jī)的1/12。總的來說這款單片機(jī)是具有速度快,功率消耗低,抗干擾能力強(qiáng)等特點(diǎn)的新一代8051單片機(jī)。特別是在電機(jī)控制的方面,干擾信號比較強(qiáng)的情況下比傳統(tǒng)8051單片機(jī)優(yōu)勢明顯。</p><p><b> 單片機(jī)特點(diǎn)</b></p>
26、<p> 1) 屬于功能增強(qiáng)型51單片機(jī),具有1T的內(nèi)核,內(nèi)部單時鐘/機(jī)器周期,傳統(tǒng)8051單片機(jī)的指令和代碼在這款單片機(jī)中都可以運(yùn)行 </p><p> 2) 工作電壓:STC12C5A60S2系列單片機(jī)工作的電壓為3.5V -5.5V</p><p> STC12LE5A60S2 系列單片機(jī)工作的電壓為2.2V -3.6V </p><p>
27、 3) 工作頻率范圍:0~35MHZ,近似于普通8051單片機(jī)的0~420MHZ </p><p> 4) 用戶可用的應(yīng)用程序的空間大有8K / 16K / 20K / 32K / 40K / 48K / 52K / 60最大64k字節(jié) </p><p> 5) 片上集成1280字節(jié)RAM </p><p> 6) 通用I/O口(36/40/44個),復(fù)位后
28、為準(zhǔn)雙向口/弱上拉(一般8051單片機(jī)I/O)可以設(shè)置成四種模式:準(zhǔn)雙向口/弱上拉,強(qiáng)推挽/強(qiáng)上拉,僅為輸入/高阻,開漏每個I/O口驅(qū)動能力均可到達(dá)20mA,但是整個芯片最大不要超過120mA </p><p> 7) ISP/IAP,ISP指的是直接將寫好的程序下載到芯片里面,而芯片不需要從PCB板上取出來,IAP指的是通過操作之后將程序下載到芯片,也不需要特定的仿真器,只要通過串口(P3.0/P3.1)
29、就可以下載已經(jīng)編寫好的程序代碼,幾秒內(nèi)就可以完成 </p><p> 8) 具備EEPROM功能 ,但是要注意的是此款單片機(jī)內(nèi)部沒有這個功能 </p><p><b> 9) 看門狗功能 </b></p><p> 10)內(nèi)部集成MAX810復(fù)位電路,不用再設(shè)計外部的復(fù)位電路,而且這個復(fù)位是非常可靠的,如果需要的話只要在外部接一個復(fù)位按鍵
30、</p><p> 11)外部掉電檢測電路:這個電路主要是在遇到突發(fā)情況的時候可以把數(shù)據(jù)保存在EEPROM當(dāng)中 </p><p> 12)時鐘源:在外面接一個高精度的晶振,設(shè)計者在下載已經(jīng)編寫完成的程序時,能選擇用外部高精度晶振/時鐘,3.3V單片機(jī)為10MHZ左右。在設(shè)計的精確度不需要非常高的情況下,也可以用單片機(jī)的內(nèi)部時鐘,只是每一個單片機(jī)都存在制造誤差,所以還是要根據(jù)實(shí)際測量的值
31、作為標(biāo)準(zhǔn)</p><p> 13)共有4個16位定時器,兩個與傳統(tǒng)的8051單片機(jī)兼容的定時器/計數(shù)器,16位定時器T0和T1,沒有定時器2,但是有獨(dú)立波特率發(fā)生器做串行通訊的波特率發(fā)生器,再加上2路PCA模塊可以實(shí)現(xiàn)2個16位定時器 </p><p> 14)3個時鐘輸出口,獨(dú)立波特率發(fā)生器可以在P1.0口輸出時鐘,其中選用這款單片機(jī)最主要的原因還是因?yàn)樗旧砭哂蠥/D轉(zhuǎn)換功能,而不
32、需要外接其它A/D轉(zhuǎn)換模塊,這樣不但使電路看起來更加精致和簡單,與此同時也降低了制作成本,節(jié)約了時間,并且能夠存儲足夠多的動畫,達(dá)到非常好的效果 </p><p> 15) 2路PWM/PCA</p><p> ---可以用來當(dāng)做2路D/A使用</p><p> ---可以用來當(dāng)做另外的兩個定時器</p><p> ---可以用來再實(shí)
33、現(xiàn)2個外部中斷 </p><p> 16) 通用全雙工異步串行口,由于此單片機(jī)是增強(qiáng)型MCS-51,可以再使用別的一些軟件來達(dá)成多串口的目的</p><p> 17) 封裝:當(dāng)I/O接口不夠用的時候,可以用2到3根普通I/O口外接來擴(kuò)展I/O端口,還可以用A/D作為按鍵掃描來節(jié)省I/O/,或者用雙CPU,這樣做的話就可以實(shí)現(xiàn)多線通信,</p><p> STC
34、12C5A60S2單片機(jī)各個引腳功能不同,P0、P1、P2和P3口在常規(guī)狀態(tài)下是雙向I/O口,其余的有的引腳有雙功能。這里只對第二功能說明。P3口的第二功能如表3.1所示。</p><p> 表3.1 P3口的第二功能</p><p> 3.2 單片機(jī)總控制電路</p><p> 由于省略了其他的芯片,使得電路變得也更加簡潔,控制電路也都集中在主控制芯片上
35、了。如圖3.1所示。</p><p> 圖3.1 總控制電路原理圖</p><p> 控制電路點(diǎn)亮二極管主要分為兩中情況,如下圖3.2所示,在這種情況下,被稱為弱上拉/準(zhǔn)雙向口,它通過電壓直接給I/O端口供電,是用灌電流的方式控制的。</p><p> 圖3.2 灌電流示意圖</p><p> 另外一種情況是如圖3.3所示,叫做推
36、挽/強(qiáng)上拉口,由圖可以看見I/O端口的另一端連接的是地,是用拉電流控制發(fā)光二極管的。</p><p> 圖3.3 拉電流示意圖</p><p> 此次設(shè)計我們用的是第一種灌電流的方式,在發(fā)光二極管處于正向連接的時,在此狀態(tài)下,反相器大概可以輸出7 mA左右的電流,點(diǎn)亮二極管是綽綽有余的,所以采用灌電流這種方式來點(diǎn)亮發(fā)光二級光是非常適合的。</p><p>
37、3.2.1 驅(qū)動電路</p><p> 為了節(jié)約成本,并且使得體積可以盡可能的小一些,此次的設(shè)計沒有選擇硬件電路的集成設(shè)計,而是直接把驅(qū)動電路連同控制電路設(shè)計在了一起,并且選用主控制芯片作為光立方的驅(qū)動,如圖3.4。</p><p> 圖3.4 共陰極驅(qū)動電路圖</p><p> 圖中左側(cè)上端的四個I/O端口連接的是共陰極發(fā)光二極管,下端的I/O端口連接的
38、是主控制芯片的8個端口,在接收到程序后,直接在I/O端口的驅(qū)動下,實(shí)現(xiàn)各式各樣的動畫。</p><p> 3.2.2 時鐘電路</p><p> 在設(shè)計中,我們設(shè)計時鐘電路的時候,我們要清楚的知道時鐘端口是怎么樣使用的,并且還要知道這個端口的特點(diǎn):</p><p> XTAL1端口:內(nèi)部振蕩電路的輸入端口。</p><p> XTA
39、L2端口:內(nèi)部振蕩電路的輸出端口。</p><p> 其實(shí)這兩個端口就是一個反向的放大器,它可以作為一個時鐘振蕩電路,但是必須要用石英晶振連接之后才可以實(shí)現(xiàn)。 </p><p> 內(nèi)部方式的的時鐘電路就是如圖3.5所示,只要在XTAL1端口處、XTAL2端口處接一個石英晶體并在兩端接兩個電容,這樣就可以產(chǎn)生一個內(nèi)部激蕩電路,本次設(shè)計時鐘電路部分主要元器件包括2個30pF電容和1個11.
40、0592MHz晶振組成。</p><p> 如果采用外部方式的時鐘電路信號,把RXD端接地,然后在TXD端接一個振蕩器。外部振蕩信號要求選取頻率低于11.0592 MHZ的方波。</p><p> 時鐘電路用的是并聯(lián)諧振回路,這個回路是使用晶體與兩個電容構(gòu)建而成的。頻率微測則是根據(jù)電容的大小來實(shí)現(xiàn)的。</p><p> 圖3.5 內(nèi)部方式時鐘電路圖
41、 </p><p> 3.2.3 運(yùn)放電路</p><p> 此次光立方的設(shè)計最大的變化就是多了一個雙運(yùn)算放大電路,這是為了能夠在接入音頻的時候來調(diào)節(jié)和放大模擬信號。</p><p> LM358P就是本次設(shè)計所用的一塊雙運(yùn)算放大電路芯片,這個電路是由兩個獨(dú)立的高增益運(yùn)算放大器所組成的,具有內(nèi)部頻率補(bǔ)償。該電路可以在較寬的電源電壓范圍內(nèi)單電源工作,也可以
42、在雙電源條件下工作,在各個領(lǐng)域中有廣泛的應(yīng)用。芯片的內(nèi)部電路圖如圖3.6所示。</p><p> 圖3.6 LM358P內(nèi)部電路圖</p><p> 由于負(fù)輸入端與輸出端直接相連,所以反饋信號直接取自輸出端的信號,實(shí)現(xiàn)電壓并聯(lián)負(fù)反饋。</p><p> NC器件選用的是0805規(guī)格貼片,這個貼片主要是保護(hù)電路的安全可以在上面連接,也可以不用連接。如圖3.7就
43、是雙運(yùn)算放大電路原理圖。</p><p> 圖3.7 雙運(yùn)算放大電路原理圖</p><p> 此運(yùn)算放大器主要對輸入進(jìn)來的弱信號進(jìn)行放大,然后再把放大后的信號進(jìn)行輸出。圖中5100歐姆的電阻為平衡電阻,這個電阻的阻值等于輸入信號為零時,各個反向輸入端總等效電阻。它是為了保證運(yùn)放輸入級差分放大電路的對稱性。</p><p> 3.2.4 顯示轉(zhuǎn)換電路<
44、/p><p> 本次的設(shè)計沒有采用復(fù)位電路,而是將這一部分改為功能轉(zhuǎn)換,如圖3.8所示。</p><p> 圖3.8 轉(zhuǎn)換電路</p><p> 一般作為復(fù)位電路都會連接在RST引腳,但是現(xiàn)在將電路接在P1.2引腳,由于整個P1引腳都可以當(dāng)做A/D使用,在檢測到有模擬信號輸入時,按下按鈕就可以通過單片機(jī)就模擬信號轉(zhuǎn)換為數(shù)字信號,顯示在光立方中。</p>
45、;<p> 3. 3 光立方顯示電路</p><p> 光立方顯示電路是由4層4*4的雙色發(fā)光二極管組成的,將它們焊接在一起之后,再連接到PCB板上,如圖3.9所示。</p><p> 圖3.9 PCB板對應(yīng)引腳圖</p><p> 圖中J1、J3、J4、J5有三個引腳,J8~J19只有兩個引腳,是由于已經(jīng)把每一豎列上二極管的陰極連接在一起
46、,只剩下兩個陽極引腳。J6和J7的三個引腳連接的是第二、第三和第四層的LED負(fù)極。各層的連接方式都和上圖一致,上面三層的陰極管腳可以通過導(dǎo)線連接到J6與J7的各引腳。</p><p><b> 4 系統(tǒng)軟件設(shè)計</b></p><p><b> 4.1 軟件編譯</b></p><p> 此次設(shè)計在編譯方面用的是
47、Keil uVision4,使用Keil uVision4這個軟件能夠進(jìn)行C語言編程,當(dāng)然如果使用的是其他Keil uVision系列的軟件,也是可是進(jìn)行編譯的。一開始先在Keil uVision4的工程菜單中新建一個工程,要注意的是keil里面沒有本次所用單片機(jī)的頭文件,所以頭文件需要設(shè)計者自行補(bǔ)充并插入到程序里面。示例如下:</p><p> 新建了一個工程之后,先把它另存為文件夾中,文件夾的名字可以自己命
48、名,保存的類型為.c格式,并添加到組中。保存文件如圖4.1所示。</p><p><b> 圖4.1 保存文件</b></p><p> 在保持完成之后,我們就可以開始編寫程序了,編譯完之后,我們可以運(yùn)行一下,看編譯有沒有錯誤如圖4.2所示。</p><p> 圖4.2 編譯沒有錯誤</p><p> 緊接著下
49、一步要生成Hex文件,這一步步驟很重要,在菜單工程中選擇“為目標(biāo)Target1 設(shè)置選項(xiàng)”這一個選項(xiàng),然后選擇輸出菜單,在產(chǎn)生HEX文件前面的方框中打上勾,點(diǎn)擊確定,隨后只有將寫好的程序編譯,就會生成HEX文件。生成HEX文件如圖4.3所示。</p><p> 圖4.3 生成hex文件</p><p> 在所有的的程序都編譯結(jié)束之后,就要把HEX文件下載到芯片里面。運(yùn)行STC-ISP這
50、一個軟件,選擇對應(yīng)的單片機(jī)型號,接著打開HEX文件,選擇正確的COMS通道,就能下載了。燒錄程序?qū)υ捒蛉鐖D4.4所示。</p><p> 圖4.4 燒錄程序?qū)υ捒?lt;/p><p> 步驟1:選擇你所使用的單片機(jī)型號,如STC12C5A60S2 </p><p> 步驟2:打開程序文件,選擇需要燒錄的程序 </p><p&
51、gt; 步驟3:串口號的選擇,根據(jù)設(shè)計者自己所用的電腦的串口來選擇,有的最新生產(chǎn)的電腦可能沒有RS-232這個串口號,可以去網(wǎng)上或者店面買一條轉(zhuǎn)接器</p><p> 步驟4:選擇“下載/編程”按鈕,這樣就開始把之前編譯好的程序下載到芯片中去,這一步步驟可以反復(fù)進(jìn)行 </p><p> 步驟5:如果根據(jù)設(shè)計者自己的要求,要進(jìn)行重復(fù)的下載,也可以選擇“重復(fù)編程按鈕”,進(jìn)行程序
52、的下載 </p><p> 在下載的同時還需要留心一下提示,主要是看單片機(jī)需不需要上機(jī)或者是復(fù)位,程序在下載時的速度都要比普通的編譯器快。在下載程序之前,先要使單片機(jī)完全斷開與電源之間的連接,接著用鼠標(biāo)點(diǎn)擊“下載/編程”這一個按鈕,這步完成之后,才能給單片機(jī)上單。如果是先上電的話,就會遇到查找不到正確的下載命令的情況,單片機(jī)就會連接到用戶程序那邊去了。</p><p&g
53、t;<b> 4.2 流程設(shè)計</b></p><p> 在程序運(yùn)行之前,首先要對單片機(jī)的的各種設(shè)置進(jìn)行初始化,這個過程包括了對定時器功能設(shè)置的初始化,對I/O端口各個功能設(shè)定的初始化等等。接著把每一個動畫的程序都編譯成一個可以獨(dú)自運(yùn)行的程序段,下載到單片機(jī)里面進(jìn)行驗(yàn)證。如果動畫的效果都沒有錯誤,酒吧每一個動畫所編譯的程序都整合在一起,變成一個完整的程序,再對這整個程序進(jìn)行編譯,看是不
54、是有錯誤,沒有的話把程序再一次下載到單片機(jī)里面,這樣就會得到一個完成的程序。</p><p> 本次的設(shè)計在語言的編寫這一塊用的是Keil軟件,并且是采用模塊化設(shè)計程序的。初期要知道所編寫的程序具體實(shí)現(xiàn)的功能是什么,比如要實(shí)現(xiàn)動態(tài)效果,3D效果等等。然后才能利用軟件把所要實(shí)現(xiàn)的效果進(jìn)行編譯。如圖4.5所示為主程序的流程圖。</p><p><b> 否</b>&l
55、t;/p><p><b> 是</b></p><p> 圖4.5 主程序的流程圖</p><p><b> 4.3 顯示設(shè)計</b></p><p> 4.3.1 LED顯示的數(shù)據(jù)傳送</p><p> 在LED顯示這個地方用的動態(tài)掃描顯示,顧名思義,就是把一整個
56、3D光立方分成幾個部分,這樣在第一個動畫顯示結(jié)束后,接下去顯示第二個動畫,直至最后一個動畫顯示完畢,然后又再次顯示第一個動畫,就這樣循環(huán)顯示??偠灾@一種掃描方式要連續(xù)對LED進(jìn)行刷新。</p><p> 4.3.2 顯示程序設(shè)計</p><p> 動態(tài)顯示程序流程圖如4.6:</p><p> 圖4.6 LED顯示子程序流程圖</p><
57、;p> 這種動態(tài)掃描顯示的方式主要分為兩種,一種是行掃描顯示,另一種是列掃描顯示,這兩種顯示的方式的區(qū)別是數(shù)據(jù)輸入端連接的是行或者列,如果先選的是列的話,就會從行輸入數(shù)據(jù),顯示的效果就是從第一列顯示到第四列,然后重復(fù)循環(huán)。只要掃描的速度達(dá)到一定的程度,就可以在眼前呈現(xiàn)出一幅絢麗的動畫。</p><p> 本次設(shè)計使用的動態(tài)掃描顯示采用的是列掃描,通過先選通了一列然后再依次選通第二行,第三、第四行。利用右
58、移的邏輯將數(shù)據(jù)輸出到鎖存器當(dāng)中,然后再根據(jù)程序選擇相對應(yīng)的鎖存器輸出動畫。</p><p> 4.3.3 A/D轉(zhuǎn)換</p><p> 本次單片機(jī)自帶A/D轉(zhuǎn)換功能,P1的各個引腳都是A/D轉(zhuǎn)換口,可以將模擬量送入比較器,用模數(shù)轉(zhuǎn)換器(DAC)的模擬量與本次輸入的模擬量通過比較器進(jìn)行比較,并且將比較的結(jié)果保存到逐次比較器,再通過逐次比較寄存器輸出轉(zhuǎn)換結(jié)果,轉(zhuǎn)換結(jié)束后,最終的結(jié)果保存到A
59、DC轉(zhuǎn)換結(jié)果寄存器ADC_RES和ADC_RESL,同時置位ADC控制寄存器ADC_CONTR中的A/D轉(zhuǎn)換結(jié)束標(biāo)志位ADC_FLAG。先要設(shè)定一個輸入口,函數(shù)程序如下:</p><p> void Init()</p><p><b> { </b></p><p> P1ASF = 0x02; // 將 P1.1
60、 置成模擬口 </p><p> AUXR1 &=0xFB; // 令 ADRJ=0</p><p> EADC=1;//AD中斷打開</p><p> ADC_CONTR = ADC_POWER | ADC_SPEEDHH | ADC_START | channel;</p><p> //
61、1打開 A/D (ADC_POWER)轉(zhuǎn)換電源;11速度為70周期一次;</p><p> //0中斷標(biāo)志清零;1啟動adc(ADC_START);001AD通道打開(這里為P1.1);</p><p> 在設(shè)定完了輸入口之后,就要開始進(jìn)行AD采集,具體程序如下:</p><p> void Ad_Control() interrupt 1//控制采樣率&
62、lt;/p><p><b> {</b></p><p> ADC_CONTR = ADC_POWER | ADC_SPEEDHH| ADC_START | channel; //開始AD采集</p><p> if(adwu>10) //任意采集點(diǎn)的值大于5就不計時</p><p><b>
63、 {</b></p><p> time_ms=0;</p><p><b> }</b></p><p><b> }</b></p><p> AD采集需要進(jìn)行多次的比較,才可以是得到的數(shù)字量逐次逼近輸入模擬量的對應(yīng)值。最后用完整的程序進(jìn)行編譯。</p>&
64、lt;p> 4.3.4 點(diǎn)亮方法</p><p> 要實(shí)現(xiàn)發(fā)光二極管的亮與滅,此次的設(shè)計用的是一款3D光立方取模軟件,在這塊軟件的幫助下,可以更快的組織動畫,如圖4.7。</p><p> 圖4.7 3D光立方取模軟件</p><p> 然后將3D光立方的取模軟件的試圖分為正視圖,側(cè)視圖和俯視圖,取模是只需要在你想要的使徒上操作就可以了,不用管其他視圖
65、的變化。</p><p> ?。?)制作一個動畫,從側(cè)視圖看右邊第一列全亮,然后第二列亮,第一列熄滅到最后第四列列亮,第三列熄滅,只需要用鼠標(biāo)點(diǎn)擊8*8的小方格,白色代表點(diǎn)亮,灰色代表熄滅,如圖4.8所示。相對應(yīng)的數(shù)據(jù)就會出現(xiàn)hex的區(qū)域內(nèi)。之后找到hex文本框里第一行的后面四個數(shù)據(jù),這四個數(shù)據(jù)即為有效數(shù)據(jù),根據(jù)圖形的的不同,獲得的數(shù)據(jù)大小也不同,總之除零以外的數(shù)據(jù)都是有效的。</p><p&
66、gt; 圖4.8 取模過程</p><p> 然后用keil打開軟件,將有效數(shù)據(jù)那一行復(fù)制到模板中。所示其他的三列也是按照這個方法取模,然后將這些數(shù)據(jù)復(fù)制到keil軟件中去,再加上時鐘電路的控制,如圖4.9所示。</p><p> 圖4.9 程序編寫</p><p> 就可以把制作的動畫進(jìn)行保存,并進(jìn)行編譯,確定沒有編譯錯誤后,用stc下載軟件進(jìn)行程序的
67、下載,這樣一個從右面平移到左面的動畫就完成了。</p><p> ?。?)制作一個動畫從右邊開始,第一列亮,然后第二列亮,直到最后整個光立方全亮,同樣要用到取模軟件,如圖4.10所示。</p><p> 圖4.10 動畫取模</p><p> 取模過程是一樣的,完成取模后要將對應(yīng)的代碼復(fù)制到keil軟件中,加上時鐘電路進(jìn)行編譯,如圖4.11所示。</p&
68、gt;<p> 圖4.11 程序編寫</p><p> 如果編譯沒有錯誤,就可以將程序下載到單片機(jī),一個從右亮到左的動畫就完成了,以上是基本的動畫設(shè)計,同樣可以用這款軟件設(shè)計更華麗的動畫效果。</p><p><b> 4.4 小結(jié)</b></p><p> 通過以上的步驟操作之后,得到的動畫顯示效果如圖4.12所示。
69、</p><p> 圖4.12 效果展示</p><p> 還可以根據(jù)設(shè)計者的喜愛,按照以上的做法設(shè)計出更加多的動畫,總的來說整個過程比較簡單,只要注意在取模時要有順序的進(jìn)行,否則最后顯示的動畫將沒有美感。</p><p><b> 結(jié)論與展望</b></p><p> 這一次的設(shè)計用的MCS-51的的增強(qiáng)型S
70、TC12C5A60S2單片機(jī)對整個系統(tǒng)進(jìn)行控制的,另外再添加64個發(fā)光二極管所組成顯示模塊,為了效果能夠更加的絢麗,選用了紅藍(lán)雙色的LED。此次光立方采用的是共陰層的接法。P2.0-P2.7端口是層制端口,先把整個3D光立方從中間分開,分為左右兩側(cè),把左側(cè)的陰極都焊接在一起,這樣就有四層,再把右側(cè)的陰極也焊接在一起。然后將左側(cè)第四層的陰極接入P2.0這個端口,將左側(cè)第三層的陰極接入P2.1端口,再把左側(cè)第二層的陰極接入P2.2端口,最后
71、把最底層的陰極接入P2.3端口。右側(cè)也是按照這個方法,第四層的陰極接入P2.4端口,第三層的陰極接入P2.5端口,第二層的陰極接入P2.6端口,最低層的陰極接入P2.7端口。圖5.1所示:</p><p> 圖5.1 光立方結(jié)構(gòu)圖</p><p> 接下來是束的焊接,如圖5.2所示,這種接法就比較簡單了,根據(jù)PCB板上面標(biāo)的B+藍(lán)色正極焊接的藍(lán)色的發(fā)光二極管的管腳,R+紅色正極焊接的
72、是紅色的發(fā)光二極管的管腳,黑顏色的線指的是層控制線。</p><p> 圖5.2 引腳連接圖</p><p> 緊接著是有關(guān)于接線下燈座的加工方法,需要把40P圓排母用相應(yīng)的工具制作成單針,這里可以用到水口鉗或斜口鉗,在這兩種工具都找不到的話,可以用老虎鉗代替一下,注意在剪的過程當(dāng)中不要弄傷了手,剪完之后放在容器里面,以免會有掉落和遺失。結(jié)束了上一步之后還要再用水口鉗把針座周圍的塑料
73、去掉,,同樣的要注意安全。當(dāng)然不見也是可以的,剪了之后在焊接的時候悔比較美觀一點(diǎn)。</p><p> 然后我們要開始焊接LED了,在焊接之前,先要整形LED,每個LED都整形成如圖5.3的樣子,這樣就可以更好地區(qū)分中間的是負(fù)極,次長的一段為紅色正極,最短的那一根為藍(lán)色正極。同樣要整理好這些LED,不可隨意亂放。</p><p> 圖5.3 二極管整形圖</p><
74、p> 整形完成之后,我們要先搭建一個固定發(fā)光二極管的萬用板,這樣的話可以更加方便的焊接發(fā)光二極管支架,用這樣的方法焊接出來的LED陳列就比較整齊美觀。在搭建的過程中可以先用LED測量一下上下兩個LED之間的間距,還有PCB板上相鄰的兩個LED之間的距離。</p><p> 搭建完成之后,我們而已先把這些排針焊接在萬用板上,再把之前整形好的LED夾在排針的中間,保持一定的距離,縱向焊接正極,橫向焊接負(fù)極,
75、如圖5.4這樣焊接。</p><p> 圖5.4 二極管焊接圖</p><p> 下來正好是16個LED,也就是1面,就用這樣的方法,把接下來的3面LED都焊接完成,然后吧單針套在最底層的引腳上面,再把單針焊接在對應(yīng)的PCB板的對應(yīng)端口處。最后第二層,第三層,第四層的負(fù)極管腳可以相接,再通過導(dǎo)線接到PCB板的對應(yīng)端口處,最終我們得到了如圖5.5所示的成果。</p>&l
76、t;p> 圖5.5 完整光立方圖</p><p> 在制作完了之后,我們還可以再整理一下,這樣一個完整的光立方就制作完成。 </p><p><b> 硬件測試問題:</b></p><p> 問題一:最初測試不成功,有幾顆LED不亮,還有一排沒有亮的。</p><p> 解決方法:換掉了那幾顆不亮的L
77、ED,估計是在我焊接的時候弄壞了,那一排沒有亮的是沒有焊接好,引腳處沒有搭上。</p><p><b> 軟件測試問題:</b></p><p> 問題一:剛開始我寫了一個程序是一排一排亮的,然后發(fā)現(xiàn)有LED串亮的現(xiàn)象發(fā)生。</p><p> 解決方法:我以為是我的程序有錯誤,又看了一遍,結(jié)果沒有錯。然后我對串亮的發(fā)光二極管進(jìn)行了檢測,在
78、萬用表的幫助下,發(fā)現(xiàn)原來是二極管燒壞了,直接使部分電路發(fā)生了短路的現(xiàn)象。最后在更換了新的二極管之后,問題得到了解決。</p><p> 問題二:我寫了一個全亮的程序,然后有一排的LED都沒有亮。</p><p> 解決方法:一開始,我以為是我程序的問題,然后又重新寫了一遍,再進(jìn)行試驗(yàn),結(jié)果還是沒有點(diǎn)亮,后來我直接換了一個主控制芯片,發(fā)現(xiàn)可以正常工作了,可能是一個端口有問題,問題解決。&
79、lt;/p><p> 問題三:在所有的代碼都編譯完之后,把程序下載到芯片里面,運(yùn)行后發(fā)現(xiàn)其中的一層發(fā)光二極管會閃爍。</p><p> 解決方法:經(jīng)過檢查,程序沒有問題,然后有匯過去檢查LED,是有一個點(diǎn)沒有連接好,然后我把虛焊的點(diǎn)銜接好了。</p><p> 最終成果展示,如圖5.6:</p><p><b> 圖5.6 展
80、示圖</b></p><p> 回顧本次的畢業(yè)設(shè)計,發(fā)現(xiàn)光立方在目前的市場上具有良好的發(fā)展前景,雖然現(xiàn)在大多用于舞臺等大型場所,只是為了增加舞臺效果,但是經(jīng)過設(shè)計,小型的光立方同樣可以走進(jìn)日常生活中,對緩解壓力有一定的幫助。所以如果對光立方加以推廣的話,此次的設(shè)計將會變得更有意義。</p><p><b> 致 謝</b></p>&l
81、t;p> 本論文是在指導(dǎo)老師武曉光教授悉心指導(dǎo)下完成的。武老師淵博的專業(yè)知識,嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,精益求精的工作作風(fēng),誨人不倦的高尚師德,嚴(yán)以律己、寬以待人的崇高風(fēng)范,樸實(shí)無華、平易近人的人格魅力對我影響深遠(yuǎn)。不僅使我樹立了遠(yuǎn)大的學(xué)術(shù)目標(biāo)、掌握了基本的研究方法。本論文從選題到完成,每一步都是在武老師的指導(dǎo)下完成的,傾注了武老師大量的心血。在此,謹(jǐn)向武老師表示崇高的敬意和衷心的感謝!</p><p> 此外,
82、本文最終得以順利完成,也離不開各位老師、同學(xué)和朋友的關(guān)心和幫助。在此感謝錢東寧老師和劉曦老師,雖然他們沒有直接參與我的論文指導(dǎo),但在專業(yè)方面的指導(dǎo)和幫助,提出了一系列可行性的建議,在此向他們表示深深的感謝!</p><p><b> 參 考 文 獻(xiàn)</b></p><p> [1] 國慶亮點(diǎn)——光立方[J]. 老年教育(長者家園),2009,11:48. <
83、/p><p> [2] 楊永剛. 3D光立方的設(shè)計與制作[J]. 電子世界,2014,06:129.</p><p> [3] 韓鵬程,婁穎,池承選. 基于單片機(jī)的光立方系統(tǒng)設(shè)計[J]. 電子世界,2014,12:528.</p><p> [4] 劉建闖. 基于STC12C5616AD單片機(jī)的操作指示器設(shè)計[J]. 世界電子元器件,2012,10:50-53.&
84、lt;/p><p> [5] 劉文英.油井產(chǎn)液量自動計量裝置研究開發(fā)[D].中國石油大學(xué),2012.</p><p> [6] 艾學(xué)忠. 單片機(jī)原理及接口技術(shù)理及應(yīng)用[M]. 北京:機(jī)械工業(yè)出版社,2012.</p><p> [7] 黃正瑾.電子設(shè)計競賽賽題解析[M].南京:東南大學(xué)出版社,2003.</p><p> [8] 王毓銀.
85、數(shù)字電路邏輯設(shè)計[M].北京:高等教育出版社,2007.</p><p> [9] 何立民.單片機(jī)應(yīng)用程序設(shè)計[M].北京:北京航空航天大學(xué)出版社,2003.</p><p> [10] 李朝青.單片機(jī)原理及接13技術(shù)[M].3版.北京:北京航空航天大學(xué)出版社,2005.</p><p> [11] 劉維恒.實(shí)用電子電路基礎(chǔ)[M].北京.電子工業(yè)出版社,200
86、4.</p><p> [12] 何光明,楊靜宇.c語言程序設(shè)計與應(yīng)用開發(fā)[M].北京:清華大學(xué)出版社,2006.</p><p> [13] 李廣第.單片機(jī)基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,1999.</p><p> [14] 付曉光.單片機(jī)原理與使用技術(shù)[M].清華大學(xué)出版社,ISBN7-81082-169-5TP.</p><
87、;p> [15] 胡漢才.單片機(jī)原理及其接口技術(shù).(第2版).北京:清華大學(xué)出版社,2013.</p><p><b> 附錄:</b></p><p> void DisplayMode2()</p><p><b> {</b></p><p> PwmAllon(1);<
88、/p><p> PwmOff(1);</p><p> P2 = 0XFF;</p><p> DELAY_MS(1000);</p><p> Any10(1,TimeDelay);</p><p> Any10(1,TimeDelay);</p><p> Allfalloff(
89、2,TimeDelay);</p><p> Allfalloff(3,TimeDelay);</p><p> Randomlight(1,TimeDelay);</p><p> Randomlight(3,TimeDelay);</p><p> Any10(2,TimeDelay);</p><p>
90、 Rain(1,TimeDelay);</p><p> Righttoleft(1,TimeDelay);</p><p> Righttoleft(2,TimeDelay);</p><p> Righttoleft(3,TimeDelay);</p><p> Lefttoright(2,TimeDelay);</p&g
91、t;<p> Lefttoright(1,TimeDelay);</p><p> Any10(3,TimeDelay);</p><p> Lefttoright(3,TimeDelay); </p><p> turnD(1,TimeDelay);</p><p> Randomoff(2,TimeDelay);
92、</p><p> turnD(3,TimeDelay);</p><p> turnD(2,TimeDelay);</p><p> Randomoff(1,TimeDelay);</p><p> Spin(1,TimeDelay);</p><p> Spin(1,TimeDelay);</p
93、><p> Spin(1,TimeDelay);</p><p> Spin(1,TimeDelay);</p><p> Spin(1,TimeDelay);</p><p> Randomoff(3,TimeDelay);</p><p> Toptofollowing(1,TimeDelay);</
94、p><p> Toptofollowing(2,TimeDelay);</p><p> Toptofollowing(3,TimeDelay);</p><p> Followingtotop(1,TimeDelay);</p><p> Followingtotop(2,TimeDelay);</p><p>
95、 Followingtotop(3,TimeDelay);</p><p> Alllight(1,TimeDelay);</p><p> Alllight(2,TimeDelay);</p><p> Alllight(3,TimeDelay);</p><p> Evel(1,TimeDelay);</p>&l
96、t;p> Evel(2,TimeDelay);</p><p> Evel(3,TimeDelay);</p><p> Followtotop(1,TimeDelay);</p><p> Followtotop(2,TimeDelay);</p><p> Followtotop(3,TimeDelay);</p&g
97、t;<p> Allfalloff(1,TimeDelay);</p><p> Spin(2,TimeDelay);</p><p> Spin(2,TimeDelay);</p><p> Spin(2,TimeDelay);</p><p> Spin(2,TimeDelay);</p><
98、p> Spin(2,TimeDelay); </p><p> Randomlight(2,TimeDelay);</p><p> Thenthelast(1,TimeDelay);</p><p> Thenthelast(2,TimeDelay);</p><p> Thenthelast(3,TimeDelay);&
99、lt;/p><p> Thelast(1,TimeDelay);</p><p> Thelast(2,TimeDelay);</p><p> Thelast(3,TimeDelay); </p><p> Twoidea(1,TimeDelay);</p><p> Twoidea(2,TimeDelay);
100、</p><p> Twoidea(3,TimeDelay);</p><p> Around2(1,TimeDelay);</p><p> Around2(2,TimeDelay);</p><p> Around2(3,TimeDelay);</p><p> Spin(3,TimeDelay); &l
101、t;/p><p> Spin(3,TimeDelay); </p><p> Spin(3,TimeDelay); </p><p> Spin(3,TimeDelay); </p><p> Spin(3,TimeDelay); </p><p> Spread(1,TimeDelay);</p>
102、<p> Spread(2,TimeDelay);</p><p> Spread(3,TimeDelay);</p><p> Framework(1,TimeDelay);</p><p> Framework(2,TimeDelay);</p><p> Framework(3,TimeDelay);</p&
103、gt;<p> Nextkj1(1,TimeDelay);</p><p> Nextkj1(2,TimeDelay);</p><p> Nextkj1(3,TimeDelay);</p><p> Nextkj2(1,TimeDelay);</p><p> Nextkj2(2,TimeDelay);</p&
104、gt;<p> Nextkj2(3,TimeDelay); </p><p> Drip(1,TimeDelay);</p><p> Drip(2,TimeDelay);</p><p> Drip(3,TimeDelay); </p><p> Around(1,TimeDelay);</p>&l
105、t;p> Around(2,TimeDelay);</p><p> Around(3,TimeDelay);</p><p> Aroundnext(1,TimeDelay);</p><p> Aroundnext(2,TimeDelay);</p><p> Aroundnext(3,TimeDelay);</p&
106、gt;<p> Rain(1,TimeDelay);</p><p> Rain(2,TimeDelay);</p><p> Rain(3,TimeDelay);</p><p> Nextfourspread(1,TimeDelay);</p><p> Nextfourspread(2,TimeDelay);&l
107、t;/p><p> Nextfourspread(3,TimeDelay);</p><p> Fourspread(1,TimeDelay);</p><p> Fourspread(2,TimeDelay);</p><p> Fourspread(3,TimeDelay);</p><p> Any1(1,
108、TimeDelay);</p><p> Any1(2,TimeDelay);</p><p> Any1(3,TimeDelay);</p><p> Any2(1,TimeDelay);</p><p> Any2(2,TimeDelay);</p><p> Any2(3,TimeDelay);<
109、/p><p> Any3(1,TimeDelay);</p><p> Any3(2,TimeDelay);</p><p> Any3(3,TimeDelay);</p><p> Any4(2,TimeDelay);</p><p> Any4(1,TimeDelay);</p><p&g
110、t; Any4(3,TimeDelay);</p><p> Any5(1,TimeDelay);</p><p> Any5(2,TimeDelay);</p><p> Any6(3,TimeDelay);</p><p> Any5(3,TimeDelay);</p><p> Any6(1,Tim
111、eDelay);</p><p> Any6(2,TimeDelay);</p><p> Any7(1,TimeDelay);</p><p> Any7(2,TimeDelay);</p><p> Any8(1,TimeDelay);</p><p> Any7(3,TimeDelay);</p&
112、gt;<p> Any8(2,TimeDelay);</p><p> Any9(2,TimeDelay);</p><p> Any8(3,TimeDelay);</p><p> Any9(1,TimeDelay);</p><p> Any9(3,TimeDelay);</p><p>
113、 PwmAllon(0);</p><p> PwmOff(0); </p><p> P2 = 0XFF;</p><p> DELAY_MS(2000);</p><p><b> }</b></p><p> void main()</p><p><
114、;b> {</b></p><p> P0M0 = 0xff;</p><p> P0M1 = 0x00;</p><p> P3M0 = 0xff;</p><p> P3M1 = 0x00;</p><p> P1M0|=0x06; </p><p> P1M
115、1|=0x06; </p><p> //timer1_init();</p><p><b> while(1)</b></p><p><b> {</b></p><p> DisplayMode2();</p><p><b> } </b
116、></p><p><b> }</b></p><p> void timer1() interrupt 3</p><p><b> {</b></p><p><b> TH1 = 0;</b></p><p><b>
117、 TL1 = 0;</b></p><p> if(S_1==1 && S1())</p><p><b> {</b></p><p> TimeDelay++;</p><p> if(TimeDelay > MAX_Delay)</p><p>
118、 TimeDelay = MIN_Delay;</p><p> while(S1());</p><p><b> } </b></p><p> if(S_2==1 && S2())</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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 3d光立方系統(tǒng)的設(shè)計與實(shí)現(xiàn)【畢業(yè)設(shè)計】
- 3d光立方畢業(yè)設(shè)計論文
- 畢業(yè)論文基于單片機(jī)的光立方設(shè)計
- 人力資源論文444
- 3d光立方畢業(yè)設(shè)計
- 畢業(yè)設(shè)計 3d光立方設(shè)計
- 基于Hadoop的封閉直方圖立方的設(shè)計與實(shí)現(xiàn).pdf
- 恒鑫物資租賃系統(tǒng)的設(shè)計與實(shí)現(xiàn)
- “光立方”的審美意蘊(yùn)
- 炫色3d光立方設(shè)計
- 基于單片機(jī)的光立方的設(shè)計課程設(shè)計
- 卷染機(jī)組恒張力-恒速控制系統(tǒng)的設(shè)計與實(shí)現(xiàn).pdf
- 上海唐碩軟件公司門戶網(wǎng)站的設(shè)計與實(shí)現(xiàn) 【畢業(yè)論文】
- 企業(yè)年金數(shù)據(jù)立方體的設(shè)計與實(shí)現(xiàn).pdf
- 3d光立方的制作
- 上海申佳采購管理系統(tǒng)的設(shè)計與實(shí)現(xiàn).pdf
- 恒泰賬務(wù)管理系統(tǒng)設(shè)計與實(shí)現(xiàn).pdf
- 青島恒佳精密科技有限公司
- 唐閘醫(yī)院管理系統(tǒng)設(shè)計與實(shí)現(xiàn).pdf
- 紙立方優(yōu)光企業(yè)標(biāo)準(zhǔn)
評論
0/150
提交評論