單片機產(chǎn)品設(shè)計與調(diào)試-基于STM32F1xx機型和HAL庫函數(shù) 課件 任務(wù)7.4 STM32單片機軟硬件深入(七)_第1頁
單片機產(chǎn)品設(shè)計與調(diào)試-基于STM32F1xx機型和HAL庫函數(shù) 課件 任務(wù)7.4 STM32單片機軟硬件深入(七)_第2頁
單片機產(chǎn)品設(shè)計與調(diào)試-基于STM32F1xx機型和HAL庫函數(shù) 課件 任務(wù)7.4 STM32單片機軟硬件深入(七)_第3頁
單片機產(chǎn)品設(shè)計與調(diào)試-基于STM32F1xx機型和HAL庫函數(shù) 課件 任務(wù)7.4 STM32單片機軟硬件深入(七)_第4頁
單片機產(chǎn)品設(shè)計與調(diào)試-基于STM32F1xx機型和HAL庫函數(shù) 課件 任務(wù)7.4 STM32單片機軟硬件深入(七)_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

單片機產(chǎn)品設(shè)計與制作

(stm32機型)石梅香項目7、利用DAC實現(xiàn)LED亮度控制任務(wù)7.4

STM32軟硬件深入(七)總目錄1項目1、利用GPIO和位帶操作實現(xiàn)溫度報警

2項目2、利用SysTick實現(xiàn)溫度報警與控制

3項目3、利用按鍵查詢實現(xiàn)參數(shù)設(shè)定及顯示

4項目4、利用外部中斷實現(xiàn)工件計數(shù)顯示

5項目5、利用定時器實現(xiàn)直流電動機PWM調(diào)速6項目6、利用計數(shù)器實現(xiàn)工件計數(shù)顯示和打包控制

7項目7、利用DAC實現(xiàn)LED亮度控制8項目8、利用ADC實現(xiàn)土壤濕度采集

項目總目標項目總目標具體工作任務(wù)利用STM32內(nèi)部DAC控制LED亮度。亮度值可由按鍵設(shè)定。請進行方案設(shè)計、器件選型、電路和程序設(shè)計,并完成軟硬件調(diào)試。子目錄7項目7、利用外部中斷實現(xiàn)工件計數(shù)及顯示

7.1任務(wù)7.1 認識STM32單片機的DAC7.2任務(wù)7.2 方案及電路設(shè)計7.3任務(wù)7.3 程序設(shè)計7.4任務(wù)7.4 軟硬件深入(七)任務(wù)目標:進一步理解STM32F1xxDAC設(shè)備結(jié)構(gòu)原理任務(wù)7.4STM32軟硬件深入(七)(1)主程序第13行利用庫函數(shù)HAL_DACEx_DualSetValue(&DAC操作變量,數(shù)據(jù)格式,通道1數(shù)據(jù),通道2數(shù)據(jù))。可將兩個通道的數(shù)據(jù)一次性寫入DHRD寄存器。本程序兩個DAC通道都使用軟件觸發(fā),15和16行利用庫函數(shù)HAL_DAC_Start(&DAC操作變量,通道號)為它們提供觸發(fā)信號。執(zhí)行后,DHRD內(nèi)的數(shù)據(jù)將分別裝載到DOR1和DOR2并進行D/A轉(zhuǎn)換。雙DAC輸出和軟件觸發(fā)(1)DAC程序設(shè)計雙DAC輸出和軟件觸發(fā)如圖7.4.1,利用在線調(diào)試功能,在主程序的13、15、16行設(shè)置斷點,運行時觀察DAC窗口DHRD和DOR寄存器的變化,體會雙DAC和單DAC的不同之處。想一想如果將DAC設(shè)置為無觸發(fā),程序該怎么修改?雙DAC輸出和軟件觸發(fā)(1)主程序可以利用EXTI_9引腳為DAC輸入觸發(fā)信號。(1)14、16行分別向DHR1和DHR2送DAC_OUT_Value值,并等待外部觸發(fā)信號。(2)18、19行查詢DOR1和DOR2,如果數(shù)值不等于DAC_OUT_Value,說明未收到觸發(fā)信號,此時應(yīng)該等待;否則說明DHR數(shù)據(jù)已被裝入DOR,則退出等待,執(zhí)行下面的20行。(3)20、21行使DAC_OUT_Value加1,并限制其數(shù)值小于4095。本程序功能是:EXTI_9引腳每來一個觸發(fā)信號,觸發(fā)DOR裝載和D/A轉(zhuǎn)換,然后輸出值+1。輸出值加到4095,恢復(fù)為0。輸出值在0~4095之間不斷循環(huán)。DAC的外部引腳觸發(fā)(2)DAC程序DAC的外部引腳觸發(fā)(2)外部中斷程序DAC的外部引腳觸發(fā)(2)程序調(diào)試將程序下載到開發(fā)板,運行后,反復(fù)給PF9引腳輸入高電平以產(chǎn)生上升沿,應(yīng)該能夠測量到PA4和PA5引腳輸出電壓隨高電平觸發(fā)信號次數(shù)的增加而增加。如果效果不明顯,可以將主程序的第20行修改為DAC_OUT_Value+=500,這樣每觸發(fā)一次大約有0.4V的電壓增長。也可如圖7.4.2所示,利用在線調(diào)試功能,在主程序的20行設(shè)置斷點。利用KEIL提供的GPIOF窗口,用鼠標設(shè)置PF9為1和0,以產(chǎn)生觸發(fā)信號。運行中反復(fù)操作PF9,觀察DOR的變化,體會EXTI_9觸發(fā)功能。DAC的外部引腳觸發(fā)(1)主程序定時器觸發(fā)(2)DAC程序定時器觸發(fā)(2)定時器程序定時器觸發(fā)(4)程序調(diào)試定時器觸發(fā)將程序在下載到開發(fā)板,用示波器觀察程序,應(yīng)能看到一個鋸齒波。該鋸齒波從0V增加到最大值需要4095秒。這個時間對于調(diào)試顯然太長了。為加快進程,可以將定時時間減小,例如將定時時間設(shè)定為10ms,則從0V增加到4095只需要40.9

溫馨提示

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

評論

0/150

提交評論