




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
實現電子秒表物聯網嵌入式技術實現電子秒表引導案例:你還知道哪些電子秒表?了解一下它們的功能。機械秒表電子秒表秒表舊稱馬表、跑表,是一種常用的測時儀器,多在徑賽中計時用。項目任務
任務1使用定時器定時一秒任務2STM32控制數碼管顯示任務3實現電子秒表實現電子秒表職業能力目標01任務描述與要求02知識鏈接03任務準備04任務實施05任務小結06任務拓展07任務一使用定時器定時一秒了解定時器/計數器的工作原理;掌握Cortex-M3定時器的工作模式;理解Cortex-M3定時器的配置方法;理解Cortex-M3定時器中斷的配置方法;掌握Cortex-M3定時器的編程方法。能根據功能需求,使用STM32CubMX軟件,正確配置STM32定時器;能根據功能需求,正確添加代碼,操控STM32定時器實現基本定時器。職業能力目標01知識目標技能目標職業能力目標01任務描述與要求02知識鏈接03任務準備04任務實施05任務小結06任務拓展07任務一使用定時器定時一秒任務描述:電子秒表的制作需要產生一個精確的1秒時間,本任務要求使用定時器產生1秒的時間,并控制LED燈1秒閃爍1次。任務要求:正確配置定時器;使用定時器中斷方式產生1秒時間。任務描述與要求02職業能力目標01任務描述與要求02知識鏈接03任務準備04任務實施05任務小結06任務拓展07任務一使用定時器定時一秒STM32定時/計數器定時/計數功能的數據類型和接口函數12知識鏈接03使用定時器定時1秒定時器中斷流程34STM32定時/計數器1定時/計數器分類定時/計數工作原理23三種計數模式4定時時間的計算定時/計數器分類STM32F103系列共有8個定時器,分為2個基本定時器TIM6和TIM7,4個通用定時器TIM2、TIM3、TIM4、TIM5,2個高級定時器TIM1和TIM8。定時器類型定時器編號計數器位數計數器類型捕獲/比較通道數掛載總線/接口時鐘定時器時鐘高級定時器TIM1、TIM816位遞增、遞減、遞增/遞減4APB2/72MHz72MHz通用定時器TIM2、TIM3、TIM4、TIM516位遞增、遞減、遞增/遞減4APB1/36MHz72MHz基本定時器TIM6、TIM716位遞增無APB1/36MHz72MHzSTM32定時/計數器1定時/計數器分類定時/計數工作原理23三種計數模式4定時時間的計算定時/計數工作原理基本定時器框圖定時/計數工作原理定時器時鐘TIMxCLKTIM2、TIM3、TIM4、TIM5、TIM6、TIM7的計數時鐘TIM1、TIM8的計數時鐘STM32定時/計數器1定時/計數器分類定時/計數工作原理23三種計數模式4定時時間的計算三種計數模式計數模式計數示意圖計數過程向上計數模式從0開始遞增計數,直到ARR,發生溢出。計數器重裝為0,開始下一輪計數。向下計數模式從ARR開始遞減計數,直到0,發生溢出。計數器重裝為ARR,開始下一輪計數。中央對齊模式(向上/向下計數)從0開始遞增計數,記到ARR-1,發生溢出;數器重裝為ARR,然后開始向下計數直到1時發生溢出;然后計數器重裝為0,開始下一輪計數。STM32定時/計數器1定時/計數器分類定時/計數工作原理23三種計數模式4定時時間的計算定時時間的計算計數器在CK_CNT的驅動下,計一個數的時間則是CK_CLK的倒數,即:所以產生一次中斷的時間為:
STM32定時/計數器定時/計數功能的數據類型和接口函數12知識鏈接03使用定時器定時1秒定時器中斷流程34定時/計數功能的數據類型和接口函數(1)HAL_TIM_Base_Init函數函數原型HAL_StatusTypeDefHAL_TIM_Base_Init(TIM_HandleTypeDef*htim)功能描述按照定時器句柄中指定的參數初始化定時器時基單元入口參數*htim:定時器句柄的地址返回值HAL_StatusTypeDef:HAL_OK初始化成功,HAL_ERROR:初始化失敗注意事項該函數可以由CubeMX軟件自動生成,不需要用戶自己調用定時/計數功能的數據類型和接口函數(2)HAL_TIM_Base_Start函數函數原型HAL_StatusTypeDefHAL_TIM_Base_Start(TIM_HandleTypeDef*htim)功能描述在輪詢方式下啟動定時器運行入口參數*htim:定時器句柄的地址返回值HAL_StatusTypeDef:固定返回HAL_OK表示啟動成功注意事項該函數在定時器初始化完成之后調用需要用戶自己調用定時/計數功能的數據類型和接口函數(3)HAL_TIM_Base_Start_IT函數函數原型HAL_StatusTypeDefHAL_TIM_Base_Start_IT(TIM_HandleTypeDef*htim)功能描述使能定時器的更新中斷,并啟動定時器運行入口參數*htim:定時器句柄的地址返回值HAL_StatusTypeDef:固定返回HAL_OK表示啟動成功注意事項該函數在定時器初始化完成之后調用需要用戶自己調用定時/計數功能的數據類型和接口函數(4)HAL_TIM_Base_Stop函數函數原型HAL_StatusTypeDefHAL_TIM_Base_Stop(TIM_HandleTypeDef*htim)功能描述輪詢方式下停止定時器運行入口參數*htim:定時器句柄的地址返回值HAL_StatusTypeDef:固定返回HAL_OK表示停止成功注意事項該函數在定時器初始化完成之后調用需要用戶自己調用定時/計數功能的數據類型和接口函數(5)HAL_TIM_Base_Stop_IT函數函數原型HAL_StatusTypeDefHAL_TIM_Base_Stop_IT(TIM_HandleTypeDef*htim)功能描述中斷方式下停止定時器運行入口參數*htim:定時器句柄的地址返回值HAL_StatusTypeDef:固定返回HAL_OK表示停止成功注意事項該函數在定時器初始化完成之后調用需要用戶自己調用定時/計數功能的數據類型和接口函數(6)HAL_TIM_IRQHandler函數函數原型voidHAL_TIM_IRQHandler(TIM_HandleTypeDef*htim)功能描述所有定時器中斷發生后的通用處理函數入口參數*htim:定時器句柄的地址返回值無注意事項函數內部先判斷中斷類型,并清除對應的中斷標志,最后調用回調函數完成中斷處理該函數可以由CubeMX軟件自動生成,不需要用戶自己調用定時/計數功能的數據類型和接口函數(7)HAL_TIM_PeriodElapsedCallback函數函數原型voidHAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef*htim)功能描述所有定時器中斷發生后的通用處理函數入口參數*htim:定時器句柄的地址返回值無注意事項1.該函數由定時器中斷通用處理函數HAL_TIM_IRQHandler調用,完成所有定時器的更新中斷的任務處理2.函數內部需要根據定時器句柄的實例來判斷是哪一個定時器產生的本次更新中斷3.函數由用戶根據具體的處理任務編寫STM32定時/計數器定時/計數功能的數據類型和接口函數12知識鏈接03使用定時器定時1秒定時器中斷流程34使用定時器定時1秒定時時間計算公式為:T=((PSC+1)×(ARR+1))/TIMxCLK基本定時器TIM6,遞增計數,若:PSC=7200-1,ARR=10000-1,T=1s。STM32定時/計數器定時/計數功能的數據類型和接口函數12知識鏈接03使用定時器定時1秒定時器中斷流程34定時器6遞增計數,記到ARR時,觸發更新中斷在啟動文件中找到中斷服務程序TIM6_IRQHandlerTIM6_IRQHandler中調用定時器通用處理函數HAL_TIM_IRQHandlerHAL_TIM_IRQHandler調用更新中斷回調函數HAL_TIM_PeriodElapsedCallback完成具體的任務定時器中斷流程STM32定時器中斷處理流程可以分為四步:職業能力目標01任務描述與要求02知識鏈接03任務準備04任務實施05任務小結06任務拓展07任務1使用定時器定時一秒任務準備04任務實施前必須先準備好以下設備和資源序號設備/資源名稱數量是否準備到位(√)1M3核心模塊12NEWLab實訓平臺13USB轉串口線141k歐電阻15LED16杜邦線2職業能力目標01任務描述與要求02知識鏈接03任務準備04任務實施05任務小結06任務拓展07任務1使用定時器定時一秒搭建LED電路建立工程并生成代碼完善代碼123任務實施05編譯程序燒寫程序觀察效果456搭建LED電路注意LED正負極不能接反搭建LED電路建立工程并生成代碼完善代碼123任務實施02編譯程序燒寫程序觀察效果456建立工程并生成代碼第一步
新建文件夾“task3-1”用于保存本任務工程第二步
新建STM32CubeMX工程第三步
配置調試端口:SerialWire第四步配置時鐘:HCLK=72MHzPCLK1=36MHzPCLK2=72MHZ具體操作請參考項目1任務1任務實施相關內容建立工程并生成代碼APB1Timerclocks為72MHz,即TIM2~TIM7的TIMxCLK為72MHz
定時器時鐘配置建立工程并生成代碼第五步:配置LED的GPIO功能建立工程并生成代碼第六步:配置定時器TIM6的參數
PSC=7200-1ARR=10000-1T=1秒建立工程并生成代碼第七步:配置定時器TIM6的中斷
使能定時器6中斷;搶占優先級=1子優先級=0建立工程并生成代碼第八步
保存STM32CubeMX工程第九步
生成初始C代碼工程,打開MDK-ARM工程具體操作請參考項目1任務1任務實施相關內容。搭建LED電路建立工程并生成代碼完善代碼123任務實施05編譯程序燒寫程序觀察效果456完善代碼(1)啟動TIM6并使能更新中斷在main.c中添加:完善代碼(2)編寫TIM6更新中斷服務程序每隔1秒進入一次回調函數,LED狀態翻轉一次回調函數是通用的,必須先判斷一下是哪個定時器搭建LED電路建立工程并生成代碼完善代碼123任務實施05編譯程序燒寫程序觀察效果456編譯程序
參考項目1任務2任務實施對工程進行配置,確保編譯通過,生成hex文件。燒寫程序
參考項目1任務2任務實施,使用FlashLoaderDemonstrator工具將hex文件燒寫到M3核心模塊。搭建LED電路建立工程并生成代碼完善代碼123任務實施05編譯程序燒寫程序觀察效果456觀察效果閃爍
程序下載入STM32芯片后,將JP1撥到“NC”,按下復位按鍵,我們將看到LED每隔1秒亮滅一次。職業能力目標01任務描述與要求02知識鏈接03任務準備04任務實施0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畜牧飼料企業服務體系建設與優化考核試卷
- 磷肥產品標準與檢測方法考考核試卷
- 紡織原料的綠色采購與可持續利用考核試卷
- 干部休養所服務質量管理考核試卷
- 天津現代職業技術學院《鋼琴基礎(1)》2023-2024學年第一學期期末試卷
- 上海農林職業技術學院《粵劇藝術賞析》2023-2024學年第二學期期末試卷
- 酒泉職業技術學院《馬克思主義與社會方法論》2023-2024學年第二學期期末試卷
- 南充科技職業學院《西班牙語精讀五》2023-2024學年第一學期期末試卷
- 山西老區職業技術學院《生物醫學傳感檢測系統設計》2023-2024學年第二學期期末試卷
- 新野縣2025年數學三下期末質量檢測試題含解析
- 2023煤炭礦區地質勘查成果總結報告編寫規范
- 職業病危害與防治培訓PPT模板(含完整內容)13
- 新員工入職消防安全教育培訓記錄
- 《新編藥學實驗教程(上、下)》讀書筆記模板
- 幼小銜接工作指導手冊【完整版】
- 浙江省藝術特長生A級基礎樂理知識
- 分層總和法沉降計算表格
- stm32f103c8t6最小系統客戶-中文手冊
- 英語-外研(一年級起點)-四年級下冊-學生單詞默寫專用表格
- 醫療機構消毒技術規范(2023年版)
- 完整版各城基本風壓
評論
0/150
提交評論