多功能走馬燈設(shè)計(jì)_第1頁(yè)
多功能走馬燈設(shè)計(jì)_第2頁(yè)
多功能走馬燈設(shè)計(jì)_第3頁(yè)
多功能走馬燈設(shè)計(jì)_第4頁(yè)
多功能走馬燈設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

目錄1設(shè)計(jì)要求22設(shè)計(jì)的作用、目的23設(shè)計(jì)的具體實(shí)現(xiàn)231系統(tǒng)概述232單元電路設(shè)計(jì)與分析233電路的安裝與調(diào)試34心得體會(huì)及建議441心得體會(huì)442建議45附錄46參考文獻(xiàn)23多功能走馬燈設(shè)計(jì)報(bào)告1設(shè)計(jì)要求多功能跑馬燈的具體要求如下(1)顯示效果使用16個(gè)LED;(2)設(shè)置三個(gè)按鍵,K1模式鍵,通過按鍵調(diào)整顯示結(jié)果,要求有8種模式;K2加速鍵,提高走馬燈顯示效果的速度;K3減速鍵,放慢走馬燈的顯示效果速度;(3)8種模式通過一個(gè)共陰型數(shù)碼管顯示出來,比如,走馬燈的顯示效果為模式一時(shí),數(shù)碼管顯示數(shù)字“1”。2設(shè)計(jì)的作用、目的多功能跑馬燈可以應(yīng)用到裝飾當(dāng)中去,裝飾一些東西,更具有吸引力、漂亮。熟悉掌握SPI接口的應(yīng)用,還有利用SPI對(duì)74HC595的控制,學(xué)會(huì)如何編寫具有連發(fā)功能的按鍵,如何控制16個(gè)LED。3設(shè)計(jì)的具體實(shí)現(xiàn)31系統(tǒng)概述本系統(tǒng)采用AVR單片機(jī)MEGA16作為主控制器,通過SPI接口,把數(shù)據(jù)傳給74HC595,然后通過74HC595輸出數(shù)據(jù)來點(diǎn)亮16個(gè)LED,實(shí)現(xiàn)各種流水燈模式,由三個(gè)按鍵來控制LED,一個(gè)按鍵控制LED的顯示模式,另兩個(gè)控制LED的改變速度。速度的控制和鍵盤的掃描是通過定時(shí)器來控制的。用數(shù)碼管顯示LED當(dāng)前所處的模式。32單元電路設(shè)計(jì)與分析直接控制16個(gè)LED,需要占用大量的I/O端口,于是通過采用串口輸入,并口輸出的芯片74HC595來控制LED,這樣可以減少端口的使用,大大提高單片機(jī)端口的利用率,節(jié)省I/O端口,以便接其它外圍器件。74HC595是具有8位移位寄存器和一個(gè)存儲(chǔ)器,三態(tài)輸出功能。移位寄存器和存儲(chǔ)器是分別的時(shí)鐘。數(shù)據(jù)在SCHCP的上升沿輸入,在STCP的上升沿進(jìn)入的存儲(chǔ)寄存器中去。如果兩個(gè)時(shí)鐘連在一起,則移位寄存器總是比存儲(chǔ)寄存器早一個(gè)脈沖。移位寄存器有一個(gè)串行移位輸入(DS),和一個(gè)串行輸出(Q7),和一個(gè)異步的低電平復(fù)位,存儲(chǔ)寄存器有一個(gè)并行8位的,具備三態(tài)的總線輸出,當(dāng)使能OE時(shí)(為低電平),存儲(chǔ)寄存器的數(shù)據(jù)輸出到總線。我們可以利用兩個(gè)74HC595構(gòu)成一個(gè)級(jí)聯(lián)形式,構(gòu)成16個(gè)并口輸出,剛好控制16個(gè)LED,每次把控制LED的16位數(shù)據(jù)通過SPI接口發(fā)送到74HC595。根據(jù)74HC595的特點(diǎn),我們可以知道,74HC595在上升沿移位,下降沿不變。在上升沿打入所輸入的數(shù)據(jù)。這樣可以把SPI接口配置為上升沿移位,下降沿鎖存,而74HC595最大移位速度可以達(dá)到100MHZ,所以可以使用最大的SPI速度,數(shù)據(jù)可以及時(shí)發(fā)送完成,不會(huì)出現(xiàn)拖影現(xiàn)象。按鍵具有連發(fā)功能,可以連續(xù)的改變LED的速度和模式,有利于調(diào)節(jié),按鍵的掃描是通過定時(shí)器0定時(shí)10MS來進(jìn)行掃描,并進(jìn)行了消抖處理,這樣可以充分利用單片機(jī)資源,而且還可以提高按鍵功能的可靠性與穩(wěn)定性,避免誤發(fā)。避免了用軟件延時(shí)來進(jìn)行按鍵處理的誤發(fā)可能性,占用大量的時(shí)間,降低單片機(jī)的利用率。模式顯示使用的是共陰極的數(shù)碼管,數(shù)碼管采用靜態(tài)掃描方式,每次模式改變了,就刷新數(shù)據(jù),改變顯示。這樣可以減少指令的執(zhí)行,大大降低單片機(jī)的使用。當(dāng)為模式一時(shí),數(shù)碼管顯示一,顯示數(shù)據(jù)是通過查表得到的。圖一是八段LED數(shù)碼顯示管原理和結(jié)構(gòu)。(A)八段數(shù)碼管結(jié)構(gòu)(B)共陰型數(shù)碼管圖一八段LED數(shù)碼顯示管原理和結(jié)構(gòu)33電路的安裝與調(diào)試在電路的連接與安裝當(dāng)中沒出現(xiàn)什么問題,電路連接好后,下載程序,一切運(yùn)行正常,LED具有八種顯示模式。分別如下模式1LED從左到右循環(huán)點(diǎn)亮,只有一個(gè)燈亮。模式2LED從右到左循環(huán)點(diǎn)亮,只有一個(gè)燈亮。模式3LED從左到右,然后從右到左,只有一個(gè)燈亮。模式4一個(gè)燈從左到右滅,然后從右到左,循環(huán)滅。模式5LED燈從左到右滅,然后從右到左滅,再接著就是從右到左點(diǎn)亮,從左到右點(diǎn)亮。模式6四個(gè)LED點(diǎn)亮,從左到右,然后從右到左,每次循環(huán)到一個(gè)燈亮?xí)r,就重新循環(huán)。模式7四個(gè)LED滅,從左到右,然后從右到左,每次循環(huán)到一個(gè)燈滅時(shí),就重新循環(huán)。模式8六個(gè)LED燈亮,從左到又,到達(dá)邊界時(shí)立即返回,不停留。4心得體會(huì)及建議41心得體會(huì)通過本次實(shí)驗(yàn),使我更加熟練的運(yùn)用SPI接口,以及利用SPI接口對(duì)74HC595的控制,明白串口轉(zhuǎn)并口的具體應(yīng)用與實(shí)現(xiàn),以及如何實(shí)現(xiàn)具有連發(fā)功能的按鍵編程,為以后更加深入的學(xué)習(xí)與利用AVR單片機(jī)進(jìn)行開發(fā)提供了很好的實(shí)踐機(jī)會(huì),并且還提高了自己的調(diào)試能力與判斷能力。42建議該設(shè)計(jì)只是進(jìn)行了簡(jiǎn)單對(duì)LED的控制,軟件程序還需要進(jìn)行大量的優(yōu)化,寫得太爛了,不適宜移植,沒有使用較好的算法與數(shù)據(jù)的處理,雖然實(shí)現(xiàn)了功能,但閱讀與理解起來比較困難。5附錄元器件清單MEGA16一片16MHZ晶振一個(gè)八段數(shù)碼管一個(gè)按鍵三個(gè)LED16個(gè)1K電阻16個(gè)20P電容2個(gè)01U電容3個(gè)74HC5952片51K電阻1個(gè)電路原理圖程序INCLUDEINCLUDE/74HC595/DEFINESTPORTD0C120PC220PX116MHZR11KR21KR31KR41KR51KR61KR71KR81KR91KR101KR11KR121KR131KR141KR151KR161KD1LEDRED2LERED3LERED4LERED5LERED6LERED7LRED8LERED9LERED10LERED1LERED12LERED13LERED14LERED15LERED16LEREDPA0/ADC040PA1/ADC139PA2/ADC238PA3/ADC337PA4/ADC436PA5/ADC535PA6/ADC634PB0/XCK/T01PB1/T12PB2/INT2/AIN03PB3/OC0/AIN14PB4/S5PB5/MOSI6PB6/ISO7PB7/SCK8PA7/ADC73RESET9XTAL113XTAL212PC0/SCL2PC1/SDA23PC2/TCK24PC3/TMS25PC4/TDO26PC5/TDI27PC6/TOSC128PC7/TOSC229PD0/RXD14PD1/TXD15PD2/INT016PD3/INT117PD4/OC1B18PD5/OC1A19PD6/ICP20PD7/OC221AVC30AREF32U1ATMEGA16R175K1C310NQ015Q11Q22Q33Q44Q55Q66Q77Q79SH_CP1ST_CP12DS14MR10OE13U274HC595Q015Q11Q22Q33Q44Q55Q66Q77Q79SH_CP1ST_CP12DS14MR10OE13U374HC595模式加速減速模式顯示/SPCR/DEFINESPIE7DEFINESPE6DEFINEDORD5DEFINEMSTR4DEFINECPOL3DEFINECPHA2DEFINESPR11DEFINESPR00/SPSR/DEFINESPIF7DEFINEWCOL6DEFINESPI2X0/SPI_PORT/DEFINESS4DEFINEMOSI5DEFINEMISO6DEFINESCK7FLASHUNSIGNEDCHARLED_7100X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6FUNSIGNEDINTSTEP400UNSIGNEDCHARPOSIT0UNSIGNEDCHARVALUE0UNSIGNEDINTCOUNTER0BITKEY_STIME_OK0BITTIME_DISPLAY_OK0DEFINEWGM006DEFINEWGM013DEFINECS022DEFINECS011DEFINECS000VOIDOPENTIMER0VOID/打開定時(shí)器0ASM“CLI“TCCR01STEPCOUNTER0TIME_DISPLAY_OK1VOIDSPI_INITVOID/SPI初始化UNSIGNEDCHARTEMPDDRB|1POSITSPI_TRANSMIT0XFFELSESPI_TRANSMIT0XFFSPI_TRANSMITUNSIGNEDCHAR0X80POSIT8ST1ST0IFPOSIT16POSIT0VOIDDISPLAY2VOID/模式二IFPOSIT16POSIT0VOIDDISPLAY3VOID/模式三IFPOSITPOSITSPI_TRANSMIT0XFFELSEIFPOSITPOSIT8ELSEIFPOSIT32POSIT0VOIDDISPLAY4VOID/模式四IFPOSITPOSITSPI_TRANSMITVALUESPI_TRANSMIT0X00IFPOSIT7VALUE0ELSEIFPOSITPOSIT8SPI_TRANSMIT0XFFSPI_TRANSMITVALUEIFPOSIT15VALUE0ELSEIFPOSIT32POSIT0VOIDDISPLAY5VOID/模式五IFPOSITPOSITSPI_TRANSMITVALUESPI_TRANSMIT0X00IFPOSIT7VALUE0ELSEIFPOSITPOSIT8SPI_TRANSMIT0XFFSPI_TRANSMITVALUEIFPOSIT15VALUE0ELSEIFPOSITPOSIT48SPI_TRANSMITVALUESPI_TRANSMIT0XFFIFPOSIT55VALUE0XFFELSEVALUESPI_TRANSMIT0X00SPI_TRANSMITVALUEIFPOSIT63VALUE0X00ST1ST0IFPOSIT64POSIT0VOIDDISPLAY6VOID/模式六IFPOSITPOSITIFPOSITPOSIT5ELSEIFPOSITPOSIT8ELSEIFPOSIT34POSIT0VOIDDISPLAY7VOID/模式七IFPOSITPOSITIFPOSITPOSIT5ELSEIFPOSITPOSIT8ELSEIFPOSIT34POSIT0VOIDDISPLAY8VOID/模式八IFPOSITPOSITIFPOSITPOSIT3ELSEIFPOSITPOSIT8ELSEIFPOSIT21POSIT0DEFINEKEY_INPUTPINADEFINEMODE0X01DEFINEINC0X02DEFINEDEC0X03DEFINENO_KEY0XFFDEFINEKEY_MASK0B00000111UNSIGNEDCHARREADKEYVOID/按鍵掃描STATICUNSIGNEDCHARKEY_VALUE_OLDSTATICUNSIGNEDCHARKEY_STATE0STATICUNSIGNEDINTKEY_COUNTER0UNSIGNEDCHARKEY_VALUE0UNSIGNEDCHARKEY_RETURNNO_KEYKEY_VALUEKEY_INPUTSWITCHKEY_STATECASE0IFKEY_VALUEKEY_MASKKEY_STATE1KEY_VALUE_OLDKEY_VALUEBREAKCASE1IFKEY_VALUEKEY_VALUE_OLDKEY_STATE2KEY_COUNTER0ELSEKEY_STATE0BREAKCASE2IFKEY_VALUEKEY_MASKKEY_STATE0IFKEY_VALUE_OLD0B00000110KEY_RETURNMODEELSEIFKEY_VALUE_OLD0B00000101KEY_RETURNINCELSEIFKEY_VALUE_OLD0B00000011KEY_RETURNDECELSEIFKEY_COUNTER300KEY_COUNTER0KEY_STATE3IFKEY_VALUE_OLD0B00000110KEY_RETURNMODEELSEIFKEY_VALUE_OLD0B00000101KEY_RETURNINCELSEIFKEY_VALUE_OLD0B00000011KEY_RETURNDECBREAKCASE3IFKEY_VALUEKEY_MASKKEY_STATE0ELSEIFKEY_COUNTER100KEY_COUNTER0IFKEY_VALUE_OLD0B00000110KEY_RETURNMODEELSEIFKEY_VALUE_OLD0B00000101KEY_RETURNINCELSEIFKEY_VALUE_OLD0B00000011KEY_RETURNDECBREAKRETURNKEY_RETURNVOIDINIT_PORTVOID/端口初始化PORTA0X07DDRA0X00PORTB0X00DDRB0X00PORTC0X00DDRC0XFFPORTD0X00DDRD0X01/主程序VOIDMAINVOIDUNSIGNEDCHARMODE1POSIT0INIT_PORTSPI_INITOPENTIMER0OPENTIMER2PORTCLED_7MODEDISPLAY1WHILE1IFTIME_DISPLAY_OKTIME_DISPLAY_OK0SWITCHMODECASE1DISPLAY1BREAKCASE2DISPLAY2BREAKCASE3DISPLAY3BREAKCASE4DISPLAY4BR

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論