終於完成學生時代的夢想-製作掌機用單片機STM32手把手教你
學生時代夢想著自己有一天能親手打造一台硬體軟體全自主設計的掌機,終於在 2022年4月19日,正式建立工程文件,在工作之餘,花費了足足 2年,一點一滴全程設計出名為ALTA-STM32H77掌上電腦,純粹為了好玩。
///插播一條:我自己在今年年初錄製了一套還比較系統的入門單片機教程,想要的同學找我拿就行了免費的,私信我就可以哦~點我頭像黑色字體加我也能領取哦。最近比較閒,帶做畢設,帶學生參加省級或以上比賽///
正文開始:
項目展示
掌上電腦的軟體框架使用的安富萊 V7例程,uCOS-III+emWin+FatFs+ST_USB,只差 LWIP集齊全部。在自己設計的掌機上開發了 10個 APP,分別是:時鍾 APP、音樂 APP、圖庫 APP、設置 APP、文件 APP、版本 APP、電影 APP、游戲 APP、U盤 APP、波形 APP。演示視頻和圖片如下:
1)核心板配置
CPU:STM32H743XIH6(M7核心、480MHz主頻、2MB Flash,1MB RAM)
SDRAM:IS42S32800G-6BLI(32位,32MB)
QSPI Flash:W25Q256JVEIQ(4線總線寬度,容量 32MB,支持 XIP,即可運行程序)
SPI Flash:W25Q64JVZEIQ(容量 8MB)NAND Flash:MT29F4G08ABADAWP:IT(8位總線寬度,容量 512MB)SD卡座:Micro SD Card顯示器接口:RGB 24bit、I2C觸摸、背光可調Typec-C型 USB口:1個 USB Device全速LED燈:2個指示燈串行接口:1個SWD下載接口:1個按鍵:1個復位鍵,1個喚醒按鍵
2)底板配置
二合一鋰電池充電升壓 IC:TP5400/TP5410(充電:4.2V/1A,輸出 5V/1A)二合一鋰電池保護 IC:DW06D電量監控 IC:STC3100線性 LDO IC:AMS1117-3.3電壓參考 IC:LM285D-2.5光照強度 IC:BH1730FVCEEPROM:AT24C02C-STUM-T實時時鍾 IC:DS3231M以太網 IC:LAN8720A音頻 IC:WM8978CGEFL(24位 ADC與 DAC)Typec-C型 USB口:1個 USB Device全速,1個串行接口(CH340G USB轉串口晶片)A型 USB口:1個 USB HOST全速電池座子:1個雙 18650鋰電池座子,1個 CR1220紐扣電池底座無線模塊:NRF24L01(2.4GHz、SPI接口驅動)溫度模塊:DS18B20濕度模塊:DHT11耳機插座:1個音源輸入,1個音源輸出按鍵:1個開機鍵,1個確認鍵,1個取消鍵,1個 ISP下載鍵,1個復位鍵LED燈:1個電源燈,3個指示燈蜂鳴器:1個(9055有源蜂鳴器 3V 9*5.5MM)麥克風:1個(6 * 2.2mm咪頭 6022尺寸)SWD下載接口:1個揚聲器:1個(8歐姆)
3)螢幕配置:RGB電容觸摸屏(並行 24位 RGB接口、分辨率 800*480、全視角 IPS、5英寸、GT911電容觸摸)
軟體展示
1)軟體版本軟體框架為 uCOS-III+emWin+FatFs+ST_USB,還差網絡沒有加上,具體軟體版本見如下列表
·ST_HAL庫版本:V1.10.0
·BSP驅動包版本:V1.2
·uCOS-III版本:V3.08.00
·uC/CPU版本: V1.32.00
·uC/LIB版本: V1.39.00
·emWin版本:V6.10
·FatFS版本:V0.14
·ST_USBD版本:V2.7.1
·ST_USBH版本:V3.3.4
2)掌機主介面及應用 APP介紹
基於ALTA-STM32H7掌機開發的 10個 APP分別是:時鍾 APP、音樂 APP、圖庫 APP、設置 APP、文件 APP、版本 APP、電影 APP、游戲 APP、U盤 APP、波形 APP。
主機面左側透明區域為鋰電池監測信息、emWin的剩餘內存(emWin總共分配了 24MB)、和傳感器(光照強度、溫度、濕度)數據顯示。
主介面右側區域為 APP布局介面,采用 ICONVIEW控制項,一共顯示了 12個 APP。
主介面下冊區域為任務欄,有關機 Win鍵和時間日期的同步顯示。
1)時鍾 APP
·時鐘主介面左側顯示錶盤,模擬時、分、秒指針,右側顯示時間、日期和時鐘晶片溫度
·時鐘子介面采用 LISTWHEEL控制項,實現調整年、月時,自動調整日的最大值。如:將日期 2022-04-19調整年為 2021,則天自動調整為 28
2)音樂 APP
·音樂主介面碟片是打開列表的按鈕。主介面有音量、進度調節、耳機與外放切換,上一曲、下一曲、播放、暫停功能
·音樂子介面采用 LISTVIEW控制項,顯示音樂列表
3)圖庫 APP
·圖庫主介面采用 LISTVIEW控制項,顯示圖片列表
·選擇圖片後全屏顯示。點擊圖片左側,向上切換圖片。點擊圖片右側,向下切換圖片。點擊圖片中間,關閉圖片
4)文件 APP
·文件主介面顯示內部儲存設備(3個內部儲存設備並未開發)和移動儲存設備(SD卡和 U盤容量顯示)
·文件子介面采用 CHOOSEFILE控制項,僅用於瀏覽 SD卡和 U盤中文件內容,但不能打開文件
5)電影 APP
·電影 APP為雙圖層(圖層 1底層,圖層 2上層。程序默認運行在圖層1)設計,有關操作的按鈕和進度條均在圖層2,電影播放在圖層 1
·注意使用格式工廠軟體轉化視頻時,視頻解析度為 800*480,且每秒幀數不推薦超過 30幀,防止幀率太高無法播放
6)游戲 APP
·移植自網友 ye781205的 nes模擬器,實現外界 USB遊戲手柄暢玩 nes類遊戲
·遊戲主介面采用 LISTVIEW控制項,顯示遊戲列表。選擇進入遊戲後,運行 nes模擬器
自此,ALTA-STM32H7掌機項目軟硬體設計介紹完畢,這代表這我目前的軟硬體綜合能力的最高水平。後續可能全部開源,如果對這個項目感興趣的話,可以在評論區留言。