0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

應(yīng)廣PMS171B(2)--PWM輸出

嵌入式單片機MCU開發(fā) ? 來源:嵌入式單片機MCU開發(fā) ? 作者:嵌入式單片機MCU開 ? 2022-11-14 13:49 ? 次閱讀

概述

作者在上期已經(jīng)講解完端口輸出高低電平,這章建立實例來講解PWM輸出,在所用的芯片有個為PWM輸出,就寫個PWM例程,方便大家快速上手。

這里選用8PIN的單片機進行開發(fā),引腳如下圖所示,PWM引腳為5。

PMS171B-S08

PMS171B-S08

PMS171B之PWM配置

在這里插入圖片描述

在這里插入圖片描述

tm2b寄存器是用來配置PWM的占空比的,0-7位代表數(shù)值為0-255。

在這里插入圖片描述

在這里插入圖片描述

tm2s寄存器是用來配置PWM的分頻,7位代表PWM分辨率,6-5為預(yù)分頻器,4-0位為Timer時鐘分配器。

在這里插入圖片描述

在這里插入圖片描述

tm2c寄存器是Timer2控制寄存器,如果需要輸出PWM,3-2位應(yīng)該設(shè)置為10讓Timer選擇PA3,1位設(shè)置為1選擇為PWM模式。

PWM計算與配置

在這里插入圖片描述

在這里插入圖片描述

在本文中我們設(shè)置輸出為1K,30%占空比的PWM,根據(jù)上圖公式,Y=tm2[7:4],我們選擇CLK(系統(tǒng)時鐘),即0001。

/*單片機內(nèi)部RC震動時鐘為 IHRC默認為16M,因此,IHRC/4=4M,系統(tǒng)時鐘為4M*/
    .ADJUST_IC  SYSCLK=IHRC/4, IHRC=16MHz, VDD=5V;

在上篇配置IO口中,我們已經(jīng)如上圖代碼所示,設(shè)置時鐘為4M,所以Y=4M。

此時我們設(shè)置預(yù)分頻器為16,即tm2s[6:5]設(shè)置為10,根據(jù):輸出頻率=Y÷[256 S1 (S2+1)]可以得知S2配置為0;輸出頻率=4M÷[256 *16* (0+1)]=976Hz。tm2s配置如下所示:

tm2s=0b0_10_00000; //  8-bit PWM ,預(yù)分頻=16,分頻 = 0

設(shè)置30%占空比則為tm2b=255*30%=77,tm2b如下所示:

tm2b = 0x4d;//占空比 30%4d 50%7f 70%b4

設(shè)置完之后需要打開PWM模式,tm2c設(shè)置如下所示:

tm2c = 0b0001_10_1_0; // 系統(tǒng)時鐘,輸出 =PA3,PWM 模式

PWM輸出完整代碼

?#include    "extern.h"//是程序的頭文件。
BIT   PWM     :PA.3;  //端口定義
void    FPPA0 (void)//相當于程序的 main() 函數(shù)。
{
 /*單片機內(nèi)部RC震動時鐘為 IHRC默認為16M,因此,IHRC/4=4M,系統(tǒng)時鐘為4M*/
    .ADJUST_IC  SYSCLK=IHRC/4, IHRC=16MHz, VDD=5V;
/*********PWM*********************/
tm2ct = 0x0; 
tm2b = 0x4d;//占空比 30%4d 50%7f 70%b4
//S1= tm2s[6:5] : 預(yù)分頻器設(shè)定值(1, 4, 16, 64)
//S2 = tm2s[4:0] : 分頻器值(十進制,0 ~ 31)
//輸出頻率 =4MHz÷ (   256 *   S1 (16) * (S2+1)1)  =  976Hz
tm2s = 0b0_10_00000; //  8-bit PWM ,預(yù)分頻 = 16 ,分頻 = 0
tm2c = 0b0001_10_1_0;  //  系統(tǒng)時鐘,輸出 =PA3 , PWM 模式
    while (1)
    {
        .delay 4000*500;
    }
}

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6023

    文章

    44376

    瀏覽量

    628408
  • PWM
    PWM
    +關(guān)注

    關(guān)注

    114

    文章

    5058

    瀏覽量

    212200
  • PMS171B
    +關(guān)注

    關(guān)注

    1

    文章

    7

    瀏覽量

    2396
收藏 人收藏

    評論

    相關(guān)推薦

    驚爆ADC MCU含稅價跌至0.26RMB,還包含燒錄費在內(nèi)!

    臺灣應(yīng)科技推出了含稅價0.26RMB的PMS171B。這則消息電子發(fā)燒友從分銷渠道上得到了確認,應(yīng)
    的頭像 發(fā)表于 12-29 10:48 ?1.3w次閱讀
    驚爆ADC MCU含稅價跌至0.26RMB,還包含燒錄費在內(nèi)!

    單片機編程相關(guān)資料分享

    官方網(wǎng)站PMS134系列應(yīng)mini-c開發(fā)技術(shù)應(yīng)單片機編程應(yīng)
    發(fā)表于 11-22 06:21

    寫一個PMS170B的點燈程序代碼應(yīng)用

    @TOC概述作者經(jīng)常使用一些國產(chǎn)芯片或者價格價格美麗的單片機,這款應(yīng)單片機PMS171B價格美麗,性價比高,mini-c好用,適用于消費電子開發(fā)。但是案例demo太少了,為了方便大家能夠快速入門
    發(fā)表于 01-07 06:02

    PMS171B的相關(guān)資料分享

    應(yīng)PMS171B--3比較器測供電電源VDD電壓概述PMS171B配置之比較器初始化比較器測供電電源VDD電壓完整代碼演示效果最后概述應(yīng)
    發(fā)表于 01-18 10:47

    PWM輸出的相關(guān)資料分享

    應(yīng)PMS171B--2PWM輸出概述PMS171BPWM配置
    發(fā)表于 01-18 06:54

    PMS171B的相關(guān)資料分享

    應(yīng)PMS171B--4ADC概述PMS171B配置ADCPA0檢測3V代碼演示效果最后概述應(yīng)
    發(fā)表于 02-17 06:15

    應(yīng)PMS171B(1)--概述&&配置端口輸出高低電平

    概述作者經(jīng)常使用一些國產(chǎn)芯片或者價格價格美麗的單片機,這款應(yīng)單片機PMS171B價格美麗,性價比高,mini-c好用,適用于消費電子開發(fā)。但是案例demo太少了,為了方便大家能夠快速入門。為了方便
    發(fā)表于 11-16 14:22

    應(yīng)PMS171B(2)--PWM輸出

    引腳為5。PMS171BPWM配置tm2b寄存器是用來配置PWM的占空比的,0-7位代表數(shù)值為0-255。 tm2s寄存器是用來配置
    發(fā)表于 11-16 15:02

    應(yīng)PMS171B(3)--比較器測供電電源VDD電壓

    概述應(yīng)PMS171B單片機有很實用的功能,就是可以用內(nèi)部的分壓電阻,Band-gap 電路提供 1.2V 參考電壓,和比較器一起,測試單片機VDD電壓.不使用任何外部器件,不占用端口就可以測試供電
    發(fā)表于 11-16 16:32

    應(yīng)單片機

    官方網(wǎng)站PMS134系列應(yīng)mini-c開發(fā)技術(shù)應(yīng)單片機編程應(yīng)
    發(fā)表于 11-14 10:06 ?38次下載
    <b class='flag-5'>應(yīng)</b><b class='flag-5'>廣</b>單片機

    應(yīng)PMS171B(4)--ADC

    應(yīng)PMS171B--4ADC概述PMS171B配置ADCPA0檢測3V代碼演示效果最后概述應(yīng)
    發(fā)表于 12-20 19:40 ?17次下載
    <b class='flag-5'>應(yīng)</b><b class='flag-5'>廣</b><b class='flag-5'>PMS171B</b>(4)--ADC

    應(yīng)PMS171B(1)--概述與配置端口輸出高低電平

    作者經(jīng)常使用一些國產(chǎn)芯片或者價格價格美麗的單片機,這款應(yīng)單片機PMS171B價格美麗,性價比高,mini-c好用,適用于消費電子開發(fā)。但是案例demo太少了,為了方便大家能夠快速入門。為了方便大家應(yīng)用和開發(fā),這里寫一個
    的頭像 發(fā)表于 11-14 12:03 ?1450次閱讀
    <b class='flag-5'>應(yīng)</b><b class='flag-5'>廣</b><b class='flag-5'>PMS171B</b>(1)--概述與配置端口<b class='flag-5'>輸出</b>高低電平

    應(yīng)PMS171B(3)--比較器測供電電源VDD電壓

    應(yīng)PMS171B單片機有很實用的功能,就是可以用內(nèi)部的分壓電阻,Band-gap 電路提供 1.2V 參考電壓,和比較器一起,測試單片機VDD電壓.不使用任何外部器件,不占用端口就可以測試供電
    的頭像 發(fā)表于 11-14 13:52 ?1538次閱讀
    <b class='flag-5'>應(yīng)</b><b class='flag-5'>廣</b><b class='flag-5'>PMS171B</b>(3)--比較器測供電電源VDD電壓

    應(yīng)PMS171B(4)--ADC

    應(yīng)PMS171B單片機有很實用的功能,對于PMS171B-S08,有3個ADC輸入管腳,8bit的ADC,分別是AD8、AD9、AD10。本文使用AD10作為ADC檢測口,并配合端口
    的頭像 發(fā)表于 11-14 15:24 ?1984次閱讀
    <b class='flag-5'>應(yīng)</b><b class='flag-5'>廣</b><b class='flag-5'>PMS171B</b>(4)--ADC

    介紹一款帶12位AD的1.5K OTP型MCU—PMS121

    PMS121是一款帶12位AD的1.5K OTP型MCU,主要功能和PMS171B基本完全一致,差別就在于PMS171B的規(guī)格是8位ADC,而PMS121在規(guī)格上是12位ADC。
    的頭像 發(fā)表于 12-28 14:52 ?1034次閱讀