一、工具
1、硬件:GD32F30x系列單片機2、編譯環境:KEIL
二、需求分析
如下圖所示,現要求控制單片機同時輸出3路方波,并且每個方波的高低電平持續的時長是可調整的,因為對時長有著嚴格的要求,這就需要在方波開始輸出后就不能再通過軟件進行干預,完全交給單片機的硬件自己去完成。通過觀察要輸出方波的特點,除了LED_PWM波具備PWM波形的特點,其它兩個與PWM波形有著很大的不同,于是乎想使用單片機的定時器的PWM模式輸出剩余兩種波形很顯然行不通。這時候應該想到單片機定時器另一種比較靈活的輸出方波的模式就是“輸出比較模式”,當然PWM模式也是輸出比較模式的一種。

通過分析,似乎找到了輸出以上波形的方法,至于能否實現還需要通過代碼實現并調試去驗證。那么還有一個需求也與以上輸出的波形有關,那就是能夠每次在t4時間段內進行電壓采集,電壓的變化也是受以上三個方波影響的(至于電壓的采集方法我會在另一篇文章中介紹),為了保證采集的電壓穩定,可以適當的在t4時間段內多次采集。熟悉單片機定時器的知道,想要每次都能夠在t4時間段內采集電壓,需要觸發中斷或者事件來實現,而能夠觸發中斷或者事件點除了t4的開始和t4的結束也就是電平發生轉換時,在t4中間是沒法觸發中斷或者事件的,而如果只在t4的開始和t4的結束區采集電壓,很可能采集到的電壓并非所需要的電壓。為了實現在t4時間內采集多次電壓,我就想到了定時器的另一個還沒有用的通道,如果讓它也輸出一個波形,并且使這個波形的電平能夠在t4時間段內發生多次轉換,那么我就可以通過觸發中斷的方式進行多次電壓采集。理想的方式如下圖紫色波形所示(當然也是我已經實現的結果,實際程序是不會輸出紫色波形的,你現在看到的是我通過一個普通的IO引腳在中斷中反轉得到的),黃色波形是上圖MEA_S2的波形。

這里需要指出,雖然我使用了定時器的一個輸出比較通道輸出一個波形用于采集電壓,但這個波形并不占用引腳資源(你可以把這個引腳用作除定時器以外的功能),算是一個抽象出來的波形。如下圖所示,通過對用戶手冊的解讀以及實際驗證,發現是可以屏蔽通道輸出的。

在相關的寄存器中我們也可以找到相關的控制位,比如通道0,如下圖所示,只要我們把該位置0就不要擔心該引腳被用作其它功能了。

關鍵字:單片機 輸出比較
引用地址:
單片機的輸出比較是小思考
推薦閱讀最新更新時間:2025-06-01 12:38
STM32 PWM占空比的計算及輸出比較時CCR不同
下面的這個是stm32的定時器邏輯圖,上來有助于理解: TIM3的ARR寄存器和PSC寄存器, 確定PWM頻率。 這里配置的這兩個定時器確定了PWM的頻率,我的理解是:PWM的周期(頻率)就是ARR寄存器值與PSC寄存器值相乘得來,但不是簡單意義上的相乘,例如要設置PWM的頻率參考上次通用定時器中設置溢出時間的算法,例如輸出100HZ頻率的PWM,首先,確定TIMx的時鐘,除非APB1的時鐘分頻數設置為1,否則通用定時器TIMx的時鐘是APB1時鐘的2倍,這時的TIMx時鐘為72MHz,用這個TIMx時鐘72MHz除以(PSC+1),得到定時器每隔多少秒漲一次,這里給PSC賦7199,計算得定時器每隔0.0001秒漲一次,即
[單片機]
PIC之CCP輸出比較
/*CCP1輸出比較*/ #include pic.h void initPORTB(void); void initCCP1(void); void interrupt CCP1INT(void); void main() { initPORTB(); initCCP1(); while(1) { } } void initCCP1() { TRISC=0x00; T1CON=0x00; CCPR1H=0x61; CCPR1L=0xa8; CCP1CON=0x0a; CCP1IE=1; PEIE=1; GIE=1; TMR1ON=1; } void interrupt CCP1INT(void) {CCP1IF=0; TM
[單片機]
外資突圍!全球第一大MCU廠商押注中國,外資正重構中國高端制造
特朗普挑起的“關稅大戰”在全球戰火紛飛,但對于中國而言,顯然沒有止步于被動的防守,更多的是積極主動破局。 其一,政策穩人心。4月6日,中國商務部召開美企座談會,據說,此次座談會邀請了包括特斯拉在內的20多家在華美資知名企業。會上,商務部副部長凌激代表中國鄭重承諾:我們將會一如既往地為美資在華企業提供安全保障,依法保證外資權益。 其二、鼓勵外資產業落地。3月28-30日召開“2025中國電動汽車百人會論壇”,在會上最為引人矚目的是德國車載芯片大廠英飛凌正式公布了“在中國,為中國”的本土化戰略,其中重要一點是:于2027年覆蓋主流產品的本土化。 兩個看似不相關的會議,卻透露出2024年以來,外資企業正以驚人的速
[汽車電子]
全國產化 RISC-V 車規級 MCU 芯片有望今年量產裝車
1 月 10 日消息,據武漢東湖新技術開發區管理委員會今日消息,烽火通信二進制半導體公司(以下簡稱“二進制半導體”)的實驗室,一枚枚呈半個拇指大小、黑色正方形狀的芯片正在進行優化測試。 二進制半導體副總經理蔡敏介紹:“這是全國產化 RISC-V 高性能車規級 MCU 芯片,今年我們將全力攻堅該芯片量產裝車。” 微控制器單元(MCU)是汽車智能化和網聯化不可或缺的核心組件。它扮演著汽車控制系統的“大腦”,負責接收和處理來自各類傳感器的數據,進而調整發動機轉速、管理車燈開關、操控娛樂系統等。 長期以來,高端 MCU 芯片市場一直被國外企業所壟斷。2022 年,烽火通信的控股子公司武漢二進制半導體有限公司成立,二進制半導體與芯來科技
[汽車電子]
微控制器如何解決解決動力系統分布式架構的網絡挑戰
車輛中微控制器的數量正在穩步增加,它們使用的關鍵領域之一是降低燃料消耗。因此,一些制造商正在設計和制造針對動力總成應用的微控制器。這個市場的趨勢是將智能分布在車輛周圍。這種微控制器能夠解決動力系統的不同方面以及分布式架構的網絡挑戰。 用作發動機控制單元 (ECU) 的微控制器正變得越來越普遍。確認這些將完成所需的工作并具有最高質量對于促進進一步實施至關重要。分析溯源信息需要診斷工具,因此在設計周期中應盡早進行此類一級診斷。 動力總成市場正在尋找減少車輛碳足跡的創新方法,包括縮小發動機尺寸、減少噴射損失和提高效率等流行方法。汽車制造商希望優化傳動比和換檔,減少摩擦和液壓損失,并繼續推動混合動力和全電動汽車的發展。
[嵌入式]
兆易創新MCU新品重磅揭幕,以多元產品和方案深度解鎖工業應用場景
中國北京(2024年11月12日)—— 業界領先的半導體器件供應商兆易創新GigaDevice今日在上海舉辦了以“勇躍?芯征程”為主題的新品發布會,來自工業和數字能源等領域的行業伙伴齊聚一堂,共襄盛舉。 本發布會中,兆易創新展現了其在工業自動化、數字能源等領域的最新成果,不僅重磅揭幕了兩款MCU新品——EtherCAT?從站控制芯片和GD32G5系列Cortex?-M33內核的高性能MCU,還同步推出一系列搭載全新MCU產品的電機控制和數字能源方案。與此同時,眾多合作伙伴也于發布會首次推出基于GD32 MCU的創新解決方案。這不僅彰顯了兆易創新在工業及數字能源領域的持續關注與堅定承諾,也體現出公司與行業伙伴之間緊密的合作關系和堅實
[工業控制]
GD32 MCU ISP失敗的原因
玩過GD32的小伙伴們都知道,GD32 MCU支持ISP,即在系統編程,前面的常見問題也給大家講過什么是ISP,什么是IAP? 那有沒有小伙伴遇到過ISP失敗的情況,失敗的原因是什么呢? 我們就以GD32F30x系列為例,來看下用戶手冊: 通過將BOOT0拉高,BOOT1拉低,上電后,MCU則工作在ISP模式,此時可以通過ALL-IN-ONE軟件(或用戶自行開發的上位機軟件)對MCU進行編程、操作選項字節、flash數據回讀等操作,使用的是以下口: 如果用的是容量不超過512K的GD32F303系列(HD產品),則使用USART0(PA9 PA10)進行ISP交互,如果是超過512K的GD32F303系列(XD產
[單片機]
你了解GD32 MCU的命名規則嗎
下面為大家介紹GD32 MCU的通用命名規則,以GD32F303ZGT6為例,其中,GD32代表GD32 MCU,F代表通用系列產品類型,303代表303產品子系列,Z代表144引腳數,G代表1MB Flash容量,T代表LQFP封裝,6代表-40-85°溫度等級。 命名規則詳細說明如下表所示。 字符 說明 列舉 GD32 代表GigaDevice 32位MCU 無 F 代表產品類型 F:SIP通用系列;E:eFlash嵌入式增強系列;L:超低功耗系列;VF:RISC-V系列;W:Wi-Fi無線系列;H:H7高性能系列;A:車規系列。 303 代表產品子系列 GD32F10X、GD32F1X0、GD32F20X、GD
[單片機]