https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tab=BB08J2
二、 簡易波形發生器 (限MSP430、STM32單片機)
任務要求:
制作一個簡易波形發生器,具有如下功能:
1、能夠產生方波、正弦波,并可通過示波器觀察到;(30分)
2、可通過按鍵切換2種波形的產生;(20分)
3、在OLED顯示屏上顯示當前輸出的波形類型的名稱、頻率和幅值;(20分)
4、通過獨立按鍵修改波形的頻率、幅值;(10分)
5、LED1~LED8同時亮起,且輸出波形的幅值越大,LED燈亮度越大。(20分)
附加題:
在本題基礎上,增加產生三角波的功能。
【注釋】
1、本題目需要用到DA輸出模塊和獨立按鍵模塊,其引腳連接可查詢手柄板原理圖,更多模塊信息請參考說明書或網絡資料。
2、由于開發板的DA 轉換器參考電壓為2.048V,故輸出波形幅值不能大于2V。
3、在通過按鍵進行幅值和頻率的設置時,通過按鍵A6切換兩種波形的產生,通過按鍵A7進行頻率設置和幅值設置的切換,按鍵A4為幅值或頻率上調鍵,按鍵A5為幅值或頻率的下調鍵(芯片板插槽為一字型的按鍵代號為P批次的板子,請參考注意事項中的第八條)。
4、附加任務中,使用按鍵A6進行三種波形的切換,其他按鍵功能不變。
5、對于所產生的波形頻率和幅值不做要求。如采用下方提到的“簡易示波器”進行程序調試,簡易波形頻率在1到5赫茲之間。
考慮到同學們假期里可能找不到示波器進行試驗,現提供板載簡易示波器程序(基于口袋開發板的簡易示波器,以附件形式發放)。該程序通過單片機內部AD采樣通道采集信號,并將波形顯示于手柄板OLED顯示屏上。如同學們需要使用,請在該程序的基礎上添加本題的程序。使用效果見下圖:
圖一 板子輸出鋸齒波并且通過自身AD采樣將其顯示
圖二 上圖鋸齒波在真實示波器上的對比效果
“示波器程序”僅提供波形信號采集和顯示,原程序采樣周期20ms,未提供波形發生的程序,這部分正是同學們需要自己完成的。簡易示波器僅提供波形顯示,如需其它詳細功能,請同學們自行完善。
“簡易示波器”具體使用方法見附件!由于STC89C51單片機無內部ADC,故無“簡易示波器”功能,51的同學們選擇該題請三思!