STM32F103VCT6點陣游戲機電子設計報告_第1頁
STM32F103VCT6點陣游戲機電子設計報告_第2頁
STM32F103VCT6點陣游戲機電子設計報告_第3頁
STM32F103VCT6點陣游戲機電子設計報告_第4頁
STM32F103VCT6點陣游戲機電子設計報告_第5頁
已閱讀5頁,還剩25頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

京信杯電子設計報告-點陣游戲機STM32F103VCT6點陣游戲機電子設計報告隊員名單:譚承志張一弘戴明峻

Time\@"yyyy年M月d日"

2013年12月8日

京信杯設計報告題目:點陣游戲機(A題)題目:點陣游戲機(A題)【摘要】本系統作品采用一個STM32F103VCT6單片機控制,1個74HC573鎖存器驅動四位一體數碼管顯示數字,四個74HC595鎖存器驅動點陣屏,4個水銀管作重力感應,8個微動開關作鍵盤輸入。TDA2822搭建的功放電路作音頻輸出。Ams1117-3.3作電源部分。用keil編寫程序,可根據重力方向改變顯示方向,顯示數字,漢字,大小寫字母等。具有開機動畫,開機音樂,游戲音樂,6個游戲,1個演示功能。游戲部分可存檔可記錄最高分。有方便直觀的人機界面。系統運行穩定,具有一定的使用價值。【關鍵詞】STM32單片機四位一體數碼管點陣屏手持游戲機【Abstract】ThesystemworksusingaSTM32F103VCT6MCUcontrol,a74HC573latchdriverintegrateddigitaldisplayfourdigits,four74HC595latchdriverdotmatrixscreen,fourmercurytubeforgravitysensing,8frettingswitchforkeyboardinput.TDA2822amplifiercircuitbuiltforaudiooutput.Ams1117-3.3forthepowersection.Writtenwithkeilprogramcanchangethedisplayorientationaccordingtothedirectionofgravity,displaynumbers,characters,uppercaseandlowercaselettersandsoon.Withbootanimation,bootmusic,gamesmusic,sixgames,apresentationfunction.Partofthegamecanbearchivedtorecordthehighestscore.Thereisaconvenientandintuitiveuserinterface.Thesystemisstable,hasacertainvalue.【Keyword】STM32MCUfourintegrateddigitallatticescreenhandheldgameconsole-25-目錄一方案論證與比較····························································41.1控制芯片的選取························································42.2數碼管驅動的方式······················································42.3光照感應及速度調節的設計方案··········································5二系統方案設計與參數計算····················································7 2.1系統總體方案··························································7 2.2硬件電路設計··························································72.2.1單片機控制電路··················································72.2.2數碼管驅動電路設計··············································82.2.3光照的檢測電路···················································9 2.3軟件設計流程··························································9三測試方法及數據··························································103.1測試方法簡介························································103.2基礎部分測試數據····················································103.3發揮部分測試數據····················································10四測試結果及分析··························································11五小結····································································11六參考文獻·······························································11

一、方案論證與比較1.1單片機芯片的選取系統需要能驅動點陣屏,音頻輸出(DAC口),spi通信(內存卡,無線收發模塊),就需要一種強大而穩定的單片機芯片,有了好的單片機芯片才能保障游戲機的完美工作。【方案一】51系列單片機,蜂鳴器輸出音頻,模擬spi口,大量鎖存器拓展io口。【方案二】用一個Arduino芯片。Arduino是一個基于開放原始碼的軟硬體平臺,構建于開放原始碼simpleI/O介面版,并且具有使用類似Java,C語言的Processing/Wiring開發環境。蜂鳴器輸出音頻,模擬spi口,大量鎖存器拓展io口。【方案三】stm32系列單片機。具有大量的io口,自帶DAC、ADC、SPI。JTAG便宜學習資料豐富,32位的單片機,價格便宜【方案選擇】綜合優缺點分析和學習的態度我們本次使用【方案三】1.2數碼管驅動的方式要進行計數就需要能將計數狀態通過人機交互界面變現出來,本系統我們采用數碼管顯示。【方案一】使用74LS48BCD七段數碼管譯碼器將單片機IO口的二進制數據直接譯碼,并連接到四位一體數碼管,通過快速閃爍切換形成視覺殘留顯示4為數字。【方案二】使用一片74HC573鎖存器提供電流,利用單片機內部保存譯碼表實現軟解碼。同樣通過快速閃爍切換形成視覺殘留顯示4為數字。【方案選擇】方案一線路簡單,可以便捷的實現基本功能,但是使用局限性較多,不能顯示非數字信息。方案二控制復雜但自定義顯示的信息,甚至能顯示16進制數據,可以輕松拓展。綜上所述,為了能實現更多功能我們選擇方案二。1.3點陣屏的設計方案【方案一】占用PD、PE兩組共32個IO口驅動點陣屏【方案二】使用4個74HC595鎖存器控制點陣屏并提供電流【方案選擇】方案一需三極管等其他元件提供電流驅動點陣屏并占用IO口過多。AB組具有大量SPI、TX、RX等功能接口、方案二鎖存器集拓展IO口和提供電流為一體。只需要6個IO口即可驅動。綜上所述選擇方案二。1.1功放電路的選取系統解碼的WAV文件輸出電流為幾百uA遠不足以驅動喇叭。故需要功率放大器驅動。【方案一】:基于集成ICtad2822的功率放大電路如圖,輸入信號串電阻器到地,保證了音頻輸入的穩定性,調節電阻器可改變聲音的大小,外圍電路簡單,做PCB方便電路分析:輸入的音頻模擬信號經過PWM電路調制處理后,形成占空比同輸入信號成一定比例的脈沖鏈,經過開關電路放大后,由低通濾波器濾除高頻成分,還原出已放大的輸入信號波形,由揚聲器放音。從上述場效應管H-橋式電路輸出的脈沖波是不便直接驅動揚聲器發聲的。為了重現放大的音頻信號,輸出波形必須恢復到原來的正弦波。D類放大器的設計,大都采用低通濾波器來解決。由于音頻的頻帶范圍為20Hz~20kHz,搜索而載波頻率通常是它的5倍以上,因此,濾除載波頻率的過程相當于就是在揚聲器前面接一個截止頻率約為25kHz左右的低通濾波器。而在運用到重低音功放時,由于處理的是低頻,低通的截止頻率可以降低到5kHz左右。濾波器的設計要求較高,可能會引起射頻干擾。為降低功耗,采用被動元件。【方案二】:基于運算放大器的功率放大電路此功放電路外圍電阻電容較多,不便于印刷電路的制作,對于游戲的重低音和鼓點音的放大效果不佳,并且伴有雜音【方案三】:分立元件搭建的功率放大電路雖然此電路放大音質很好,但是PCB上用分立元件搭建功放電路十分麻煩,占用了大量的空間,也不經濟,另外這個電路的抗干擾能力不好,容易產生自激振蕩,容易產生雜音。【方案選擇】:綜上,選擇方案一,有外圍電路簡單,聲音可調,噪音較小等優點 二、系統方案設計及參數設置2.1系統總體方案3.3v電源3.3v電源STM32VCT6硬件STM32VCT6按鍵&重力功放ICSPI74HC57374HC595按鍵&重力功放ICSPI74HC57374HC595喇叭SD卡數碼管點陣屏喇叭SD卡數碼管點陣屏點陣屏緩沖數碼管緩沖鍵盤緩沖DAC數碼管緩沖點陣屏緩沖數碼管緩沖鍵盤緩沖DAC數碼管緩沖APIAPI存檔Rhythm青蛙過河貪食蛇主菜單演示坦克大戰Get存檔Rhythm青蛙過河貪食蛇主菜單演示坦克大戰GetLove打飛機打飛機字庫字庫2.2硬件電路設計2.2.1單片機控制電路如圖為stm32f103vct6單片機最小系統,采用8MHZ晶振。3.3V直流供電。

2.2.2數碼管驅動電路設計如圖為數碼管驅動電路,采用74HC573芯片為數碼管顯示提供了充足的電流。74HC573包含八進制3態非反轉透明鎖存器,是一種高性能硅門器件。74HC573八數據鎖存器都是透明的D型鎖存器,當使能(G)為高時,Q輸出將隨數據(D)輸入而變。當使能為低時,輸出將鎖存在已建立的數據電平上。輸出控制不影響鎖存器的內部工作,即老數據可以保持,甚至當輸出被關閉時,新的數據也可以置入。這種電路可以驅動大或低阻抗負載,可以直接與系統總線接口并驅動總線,而不需要外接口。特別適用于緩沖寄存器,I/O通道,雙向總線驅動器和工作寄存器。真值表OE(輸出使能)LE(鎖存使能)DQ(輸出)LHHHLHLLLLXQOHXXZ

2.2.3JTAG下載端口電路2.2.4藍牙預留口2.2.52.4G無線通信模塊預留口2.2.6microSD卡卡槽P9為手動片選跳針2.2.7鍵盤及重力感應電路

2.2.8功放電路2.3PCB設計 由于外設較多,又要求手持,我們決定嘗試使用PCB進行硬件焊接。PCBtop層。印刷有我們的logoPCBbottom層2.4軟件設計流程啟動啟動設置并設置并初始化各個外設初始化菜單初始化菜單載入開機動畫載入開機動畫掃描鍵盤掃描鍵盤刷新點陣屏刷新點陣屏刷新數碼管刷新數碼管更新WAV數據緩存更新WAV數據緩存更新隨機數種子更新隨機數種子定時器中斷定時器中斷?邏輯Update邏輯Update2.5游戲介紹開機動畫:自制的16*16點陣版BadApple(東方Project相關的一個PV)打飛機:基于重力感應的打飛機游戲,可由鍵盤控制。具有高分記錄和存讀檔功能。坦克大戰:具有豐富設定的坦克游戲,如裝彈時間、裝甲厚度、跳彈以及前側后裝甲區分。敵人具有一定的AI。GetLove:一款休閑游戲小品,目標是躲避“高中校領導”,成功追到“妹子”。青蛙過河:相當有難度的一個游戲,要求玩家穿過湍急的河流到達對岸。Rhythm:緊隨當下流行的節奏游戲,按照鼓點準確敲擊。測試方法及數據3.1測試方法簡介點陣顯示進入主菜單,選擇演示。觀察字母及數字是否準確無誤顯示。中文漢字顯示進入主菜單,選擇演示。觀察漢字是否準確無誤顯示。重力感應進入主菜單,選擇演示。轉動屏幕,觀察字母、數字及漢字是否準確無誤顯示。滾動顯示進入主菜單,選擇演示。轉動屏幕,觀察字母、數字及漢字是否準確無誤顯示。手持用雙手托舉,感受手部壓力。打飛機游戲進入主菜單,選擇打飛機。分別用鍵盤和重力操作飛機移動。開機音樂打開電源,等待2s。觀察是否播放有音樂。得分功能進入主菜單,任意打開一款游戲,操作游戲。觀察數碼管是否有分數變化。隨機性進入主菜單,任意打開一款游戲,操作游戲。退出,重新打開。觀察游戲內容是否變化。想象力進入主菜單,打開打飛機。操作片刻,選擇保存

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論