久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 5662|回復(fù): 18
打印 上一主題 下一主題
收起左側(cè)

stc32g12k128單片機(jī)輸出PWM波例程

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1039438 發(fā)表于 2022-9-18 08:58 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
今天在學(xué)習(xí)stc32g12k128單片機(jī)的PWM功能時(shí)感受到了它的強(qiáng)悍,它能同時(shí)輸出8路不同的PWM信號(hào),并且除了使用8個(gè)IO口外不占用其它任何系統(tǒng)資源,比如定時(shí)器,中斷及MCU時(shí)間。為方便初學(xué)者認(rèn)識(shí)這個(gè)功用的優(yōu)點(diǎn),我寫了一個(gè)輸出四路PWM信號(hào)的例程,展示一下這個(gè)功能的用法,例程可以直接使用,也可以方便的放進(jìn)其它程序中做為一個(gè)函數(shù)調(diào)用,該例程經(jīng)采用stc32g12k128芯片的核心板降龍棍和屠龍刀驗(yàn)證通過,并使用示波器和脈沖采集測量方式檢驗(yàn)證實(shí)。希望對(duì)初學(xué)stc32g12k128的朋友有所幫助。下面是程序主體部分,完整內(nèi)容可下載附件獲得。
更新的程序中加入了頻率范圍向下擴(kuò)展的語句
單片機(jī)源程序如下:
#include <STC32G.H>
#include "mcu_initial.h"
#define sysclock 11059200
#define down_freq 20 //頻率向下擴(kuò)展比例。設(shè)置值不為0的正整數(shù)。也不要太大,以免溢出。
#define PWMA_freq 220        //PWMA輸出頻率,單位HZ
#define PWMB_freq 1000//        PWMB輸出頻率
#define duty1  0.1//cc1占空比(0.01~0.999)
#define duty3  0.2//cc3占空比
#define duty5  0.3//cc5占空比
#define duty6  0.4//cc6占空比
void mcu_initial(void)
{
unsigned long int za,zb,zc;//計(jì)算常數(shù)
        P1M1=0x00;
        P1M0=0x00;   //P1配置為準(zhǔn)雙向
        P2M1=0x00;
        P2M0=0x00;   //P2配置為準(zhǔn)雙向
        P3M1=0x00;
        P3M0=0x00;   //P3配置為準(zhǔn)雙向                  
                P4M1=0x00;
        P4M0=0x00;   //P4配置為準(zhǔn)雙向                  
P5M0 = 0x00;
P5M1 = 0x00;
  EAXFR = 1; //使能訪問 XFR
CKCON = 0x00; //設(shè)置外部數(shù)據(jù)總線速度為最快
WTST = 0x00; //設(shè)置程序代碼等待參數(shù),
//賦值為 0 可將 CPU 執(zhí)行程序的速度設(shè)置為最快
za=sysclock/PWMA_freq-1;//PWMA計(jì)數(shù)器周期預(yù)設(shè)值
        zb=sysclock/PWMB_freq-1;//PWMB計(jì)數(shù)器預(yù)設(shè)值
PWMB_PSCRL=down_freq-1;//更新加入的語句。配合向下擴(kuò)展頻率定義語句
         PWMA_PS=0x00;//默認(rèn)值,在P1.4輸出PWMA3,在P1.0輸出PWMA1
         PWMA_CCER1 = 0x00; //關(guān)閉通道cc1
        PWMA_CCER2 = 0x00; //關(guān)閉通道cc3

PWMA_CCMR1=0x60;//設(shè)置cc1為PWM模式1輸出
PWMA_CCMR3=0x60;//設(shè)置cc3為PWM模式1輸出
PWMA_CCER1 = 0x01; //使能cc1輸出
PWMA_CCER2 = 0x01; //使能cc3

PWMA_ARRH=za/256;//PWMA周期高位
PWMA_ARRL=za%256;//PWMA周期低位

zc=za*duty1;
PWMA_CCR1H=zc/256;//PWM1P占空比高位
PWMA_CCR1L=zc%256;//PWM1P占空比低

zc=za*duty3;
PWMA_CCR3H=zc/256;//PWM3P占空比高位
PWMA_CCR3L=zc%256;//PWM3P占空比低位

PWMB_PS=0x00;//選擇在P2.0輸出PWM5.P2.1輸出PWM6
PWMB_CCER1=0x00;//寫CCMRx前必須先清零,關(guān)閉通道
PWMB_CCMR1=0X60;//設(shè)置cc5為PWM模式1輸出
PWMB_CCMR2=0X60;//設(shè)置cc6為PWM模式1輸出
PWMB_CCER1=0x11;//使能cc5通道和cc6通道

PWMB_ARRH=zb/256;//設(shè)置周期
PWMB_ARRL =zb%256;

zc=zb*duty5;
PWMB_CCR5H=zc/256;//設(shè)置占空比
PWMB_CCR5L=zc%256;

zc=zb*duty6;
PWMB_CCR6H=zc/256;//設(shè)置占空比
PWMB_CCR6L=zc%256;

PWMA_ENO=0x11;//使能PWM1P和PWM3P
PWMB_ENO = 0x05; //使能 PWM5P和PWM6 端口輸出

PWMA_BKR = 0x80; //使能主輸出
PWMB_BRK = 0x80; //使能主輸出

PWMB_CR1 = 0x01; //開始計(jì)時(shí)
PWMA_CR1=0x01;//開始計(jì)時(shí)
        //HSPWMB_CFG=0x07;//開啟高速高級(jí)PWMA模式和中斷響應(yīng)
        //USBCLK|=0xc0;//使能PLL時(shí)鐘倍頻,時(shí)鐘選擇24M

}

Keil5代碼下載: Keil代碼.7z (32.62 KB, 下載次數(shù): 89)

評(píng)分

參與人數(shù) 2黑幣 +54 收起 理由
STC莊偉 + 4 很給力!
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂2 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:262 發(fā)表于 2022-10-14 17:31 | 只看該作者
好東東 mcu_initial.h可以用您在其他工程里面的嗎?
回復(fù)

使用道具 舉報(bào)

板凳
ID:961114 發(fā)表于 2022-10-15 09:51 | 只看該作者
STC32G12K128系列PWM的強(qiáng)大需要花時(shí)間消化,需要測試官方的范例程序
回復(fù)

使用道具 舉報(bào)

地板
ID:1039438 發(fā)表于 2022-10-15 16:30 | 只看該作者
heicad 發(fā)表于 2022-10-14 17:31
好東東 mcu_initial.h可以用您在其他工程里面的嗎?

可以呀,只是注意其中的設(shè)置與程序中其它任務(wù)的設(shè)置不要沖突
回復(fù)

使用道具 舉報(bào)

5#
ID:1039438 發(fā)表于 2022-10-15 20:12 | 只看該作者
STC莊偉 發(fā)表于 2022-10-15 09:51
STC32G12K128系列PWM的強(qiáng)大需要花時(shí)間消化,需要測試官方的范例程序

我是初學(xué)者,目前只做了脈沖捕捉和頻率測量的驗(yàn)證,DAC類還沒學(xué)到。
回復(fù)

使用道具 舉報(bào)

6#
ID:61207 發(fā)表于 2022-10-28 20:45 | 只看該作者
麗江春水 發(fā)表于 2022-10-15 20:12
我是初學(xué)者,目前只做了脈沖捕捉和頻率測量的驗(yàn)證,DAC類還沒學(xué)到。

可否分享一下你的成果
回復(fù)

使用道具 舉報(bào)

7#
ID:1039438 發(fā)表于 2022-10-29 13:05 | 只看該作者
可以,能為大家做點(diǎn)事,很高興。謝謝。
回復(fù)

使用道具 舉報(bào)

8#
ID:998180 發(fā)表于 2022-11-19 16:16 | 只看該作者
正在學(xué)習(xí)STC32,多謝了
回復(fù)

使用道具 舉報(bào)

9#
ID:1039438 發(fā)表于 2022-11-19 18:50 | 只看該作者
lirenhain00 發(fā)表于 2022-11-19 16:16
正在學(xué)習(xí)STC32,多謝了

歡迎指點(diǎn),希望多些交流。
回復(fù)

使用道具 舉報(bào)

10#
ID:159514 發(fā)表于 2022-11-23 16:51 | 只看該作者
有個(gè)問題想問一下,如果這個(gè)PWM工作的過程中產(chǎn)生了外部中斷,這個(gè)PWM會(huì)不會(huì)停?
回復(fù)

使用道具 舉報(bào)

11#
ID:1039438 發(fā)表于 2022-11-24 09:29 | 只看該作者
長橋臥波 發(fā)表于 2022-11-23 16:51
有個(gè)問題想問一下,如果這個(gè)PWM工作的過程中產(chǎn)生了外部中斷,這個(gè)PWM會(huì)不會(huì)停?

不會(huì)停,PWM是相對(duì)獨(dú)立的外設(shè)。
回復(fù)

使用道具 舉報(bào)

12#
ID:1048397 發(fā)表于 2022-11-24 11:05 | 只看該作者
謝謝樓主,好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

13#
ID:159514 發(fā)表于 2022-11-30 10:17 | 只看該作者
麗江春水 發(fā)表于 2022-11-24 09:29
不會(huì)停,PWM是相對(duì)獨(dú)立的外設(shè)。

那就好,以前15系列的就會(huì)停,非常讓人困擾。
回復(fù)

使用道具 舉報(bào)

14#
ID:1039438 發(fā)表于 2022-11-30 13:29 | 只看該作者
長橋臥波 發(fā)表于 2022-11-30 10:17
那就好,以前15系列的就會(huì)停,非常讓人困擾。

15系列不該停,你再看看程序上有什么語句會(huì)讓PWM停。
回復(fù)

使用道具 舉報(bào)

15#
ID:1099971 發(fā)表于 2023-11-16 16:53 | 只看該作者
STC莊偉 發(fā)表于 2022-10-15 09:51
STC32G12K128系列PWM的強(qiáng)大需要花時(shí)間消化,需要測試官方的范例程序

請(qǐng)問在哪可以下載呀?
回復(fù)

使用道具 舉報(bào)

16#
ID:1085085 發(fā)表于 2023-11-17 09:03 | 只看該作者
wangshengyuan 發(fā)表于 2023-11-16 16:53
請(qǐng)問在哪可以下載呀?

您好,可去他們官方STCAI下載
回復(fù)

使用道具 舉報(bào)

17#
ID:1078947 發(fā)表于 2023-11-18 19:17 | 只看該作者
優(yōu)秀。。。。
回復(fù)

使用道具 舉報(bào)

18#
ID:884711 發(fā)表于 2024-5-6 21:37 | 只看該作者
路過學(xué)習(xí),謝謝分享!
回復(fù)

使用道具 舉報(bào)

19#
ID:1012889 發(fā)表于 2024-6-1 03:19 | 只看該作者
路過學(xué)習(xí),謝謝分享!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩一区二区三区四区 | 一区二区在线免费观看 | 日韩欧美一区二区在线播放 | 天天操夜夜拍 | 天天摸天天看 | 亚洲午夜在线 | 福利久久 | 国产精品永久 | 亚洲美女在线视频 | 精品国产乱码久久久久久果冻传媒 | 欧美国产视频 | 精品乱码一区二区三四区视频 | 天天躁人人躁人人躁狂躁 | 久久1区| 欧美在线精品一区 | 久久草视频 | 亚洲精品自拍 | 女人av| 日本黄色免费大片 | 99免费 | 国产一区免费视频 | 精品欧美乱码久久久久久 | 亚洲精品一区中文字幕乱码 | 蜜桃传媒一区二区 | 色综合视频 | 日韩免费视频一区二区 | 亚洲精品福利在线 | 国产成人精品一区二区三区在线 | 色久电影 | 在线观看中文字幕 | 免费的av网站 | 在线观看国产视频 | 在线视频国产一区 | 国产一级成人 | 精品成人佐山爱一区二区 | www.亚洲免费 | 国内精品免费久久久久软件老师 | 九九热在线观看视频 | 亚洲国产精品精华素 | 久久y| 日本a在线|