第46屆世賽電子技術項目貴州選拔賽C模塊嵌入式系統編程-樣題_第1頁
第46屆世賽電子技術項目貴州選拔賽C模塊嵌入式系統編程-樣題_第2頁
第46屆世賽電子技術項目貴州選拔賽C模塊嵌入式系統編程-樣題_第3頁
第46屆世賽電子技術項目貴州選拔賽C模塊嵌入式系統編程-樣題_第4頁
第46屆世賽電子技術項目貴州選拔賽C模塊嵌入式系統編程-樣題_第5頁
已閱讀5頁,還剩2頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

第46屆世界技能大賽電子技術項目

貴州省選拔賽

電子技術項目

選拔賽樣題

C模塊嵌入式系統編程

姓名:

工位號:

第46屆世界技能大賽電子技術項目貴州省選拔賽

一筆畫完游戲

目錄

這個試題任務包括以下文檔與文件:

1.簡介

2.項目和任務描述

3.編程環境

4.接口表

5.編程任務

簡介

本次測試項目設計一筆畫完游戲。

項目和任務描述

設計一筆畫完游戲,一筆畫完的游戲規則是將所有可用點用一條線連接,所有點只能

經過一次。在三色點陣上,使用綠色的點表示需要經過的點,藍色表示已經經過的點,紅

色表示線頭。分成以下兩個任務:

1、完成頁面切換狀態機:包括開機動畫、游戲介紹、關卡提示、游戲頁面、通關

提示等L頁CD面的切換。

2、完成一筆畫畫完游戲功能:包括關卡計時、搖桿移動、通關判斷等功能。

WSCGuiZhou_2020_TP161/6

Date:2020.07.1

第46屆世界技能大賽電子技術項目貴州省選拔賽

編程環境

編程環境如下圖所示:

1核心板,該核心板帶STLINK

2USB線,供電及下載調試

3LCD屏幕

4三色點陣

5搖桿

6蜂鳴器

WSCGuiZhou_2020_TP162/6

Date:2020.07.1

第46屆世界技能大賽電子技術項目貴州省選拔賽

接口表

CPUGPIOType信號名Notes

PA0ADC_IN0JS_CH0搖桿電位器縱向輸入

PA1ADC_IN1JS_CH1搖桿電位器橫向輸入

PA2GPIO_InputJS_SW搖桿按鍵輸入

PA6GPIO_OutputSTCP74HC595移位寄存器時鐘

PA7GPIO_OutputDIN74HC595串行數據輸出

PA5GPIO_OutputSHCP74HC595移位寄存器時鐘

PA8GPIO_OutputSCLR74HC596復位信號,低電平有效

PA9GPIO_OutputLCD_CLKLCD12864串行時鐘

PA15GPIO_OutputLCD_CSLCD12864片選信號

PA10GPIO_OutputLCD_SIDLCD12864串行輸入

PA4GPIO_OutputLCD_RSTLCD12864復位信號

PB5GPIO_OutputBUZZER蜂鳴器

(注:只列出本次任務所涉及的端口)

你可以使用函數HAL_GPIO_WritePin控制管腳的輸出電平,上表中的信號名可以在函數

HAL_GPIO_WritePin和HAL_GPIO_ReadPin中使用.

HAL_GPIO_WritePin函數使用示例:

HAL_GPIO_WritePin(STCP_GPIO_Port,STCP_Pin,GPIO_PIN_RESET);//輸出低電平

HAL_GPIO_WritePin(STCP_GPIO_Port,STCP_Pin,GPIO_PIN_SET);//輸出高電平

HAL_GPIO_ReadPin函數使用示例:

If(HAL_GPIO_ReadPin(JS_SW_GPIO_Port,JS_SW_Pin)==0)

提醒:記得在操作IO口后加上一個小延時(5us),以保證任務板上的IC能正確穩定處理信號。

提供給選手的工程中,已經完成驅動外設的驅動,并且提供了部分示例代碼供選手參考。

WSCGuiZhou_2020_TP163/6

Date:2020.07.1

第46屆世界技能大賽電子技術項目貴州省選拔賽

編程任務

第一階段編程任務

階段1.1

請在系統初始化完成后,使用蜂鳴器發出提示音:蜂鳴器發出3次聲音,每次持續50ms,間隔50ms。

你可以使用函數HAL_Delay(uint32_t)來實現毫秒級的延時。

階段1.2

提示音之后加載開機動畫:LCD12864以30ms的間隔從上到下逐行顯示worldskill圖案,再以10ms

的間隔從上到下逐行清空畫面。

Worldskill圖案的像素點信息保存在數組worldSkillPhoto中,每個字節為8個像素點信息,保存

的順序為從上到下、從左到右。你可以使用函數lcdDrawLine來實現該階段功能:

階段1.3

加載動畫完成后,進入游戲介紹頁面(已完成),按照提示按下搖桿按鍵進入游戲關卡。

請參考loop函數中的狀態機示例完成LCD頁面的切換。切換順序如下:

WSCGuiZhou_2020_TP164/6

Date:2020.07.1

第46屆世界技能大賽電子技術項目貴州省選拔賽

關卡提示的內容如下,NN為關卡號(01/02/03):

一筆畫完

關卡NN

祝您游戲愉快

按下搖桿繼續..

關卡計時的內容如下,NN為關卡號(01/02/03),MM為分鐘數,SS為秒鐘數:

一筆畫完

關卡NN

本關用時MM:SS

總用時MM:SS

通關提示的內容如下,MM為分鐘數,SS為秒鐘數:

一筆畫完

恭喜您已經通關!

總用時MM:SS

按下搖桿重新開始

以上內容涉及分鐘數和秒鐘數均默認為00,搖桿按鍵每按下一次切換一次頁面。

第二階段編程任務

階段2.1

請完成游戲計時功能,計時功能包括單個關卡的計時、所有關卡的用時。進入關卡計時頁面后開始

計時,并按秒更新到關卡計時頁面上;在通關提示頁面上顯示總用時,按下搖桿后所有關卡的用時清零。

你可以使用HAL_GetTick函數來獲取系統毫秒計數值。

階段2.2

請在關卡提示頁面刷新的時候加載一筆畫完游戲關卡地圖到三色點陣上,紅色表示起點,綠色表示

需要經過的點。你可以使用函數setDotColor來設置點陣的顏色,dotMatrixdisplay函數用于動態刷新

WSCGuiZhou_2020_TP165/6

Date:2020.07.1

第46屆世界技能大賽電子技術項目貴州省選拔賽

三色點陣,已經在loop函數的最后調用。

關卡1~關卡3的地圖如下:

階段2.3

請完成關卡游戲過程中的移動控制。波動搖桿一次,紅色的點移動一步,用藍色表示已經畫過的點。

當要移動的下一步沒有顏色,則不移動,蜂鳴器發出兩次100ms的告警音,間隔50ms;當要移動的下一

步是有顏色的,蜂鳴器發出一次50ms的提示音;如果下一步是已經走過的點,則回退到該點。

階段2.4

請完成關卡計

溫馨提示

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

評論

0/150

提交評論