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

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

QQ登錄

只需一步,快速開始

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

這怎么改頻率?單片機(jī)PCA模塊輸出PWM程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
這怎么改頻率 謝謝大家

#include "STC8.H"
#include <intrins.h>

#define u8  unsigned char
#define u16  unsigned int
#define u32  unsigned long


void PCA_PWM_Init()
{
                CCON = 0x00;  
                CMOD = 0x08; //PCA時(shí)鐘為系統(tǒng)時(shí)鐘  
                CL = 0x00;
          CH = 0x00;
                CCAPM0 = 0x42; //PCA模塊0為PWM工作模式  1.7  0~63
                PCA_PWM0 = 0x80; //PCA模塊0輸出6位PWM  
                CCAP0L = 0x20; //PWM占空比為50%[(40H-20H)/40H]  
                CCAP0H = 0x20;  
          CCAPM1 = 0x42; //PCA模塊1為PWM工作模式  
                PCA_PWM1 = 0x40; //PCA模塊1輸出7位PWM  
                CCAP1L = 0x20; //PWM占空比為75%[(80H-20H)/80H]  1.6        0~127
                CCAP1H = 0x20;
          CCAPM2 = 0x42; //PCA模塊2為PWM工作模式  
                PCA_PWM2 = 0x00; //PCA模塊2輸出8位PWM  
                CCAP2L = 0x20; //PWM占空比為87.5%[(100H-20H)/100H]  1.5  0~255
                CCAP2H = 0x20;
          CCAPM3 = 0x42; //PCA模塊3為PWM工作模式  
                PCA_PWM3 = 0xc0; //PCA模塊3輸出10位PWM
          CCAP3L = 0x20; //PWM占空比為96.875%[(400H-20H)/400H]  
                CCAP3H = 0x20;
           CR = 1; //啟動(dòng)PCA計(jì)時(shí)器   
}

//end
/******************************************************************************
* @ 函數(shù)名  : main
* @ 功  能  : 主函數(shù)
* @ 參  數(shù)  : 無(wú)
* @ 返回值  : 無(wú)
******************************************************************************/

int main()
{
    P0M1 = 0x20;   P0M0 = 0x00;   //設(shè)置為準(zhǔn)雙向口                        P0.5為高阻
    P1M1 = 0x00;   P1M0 = 0x00;   //設(shè)置為準(zhǔn)雙向口
    P2M1 = 0x00;   P2M0 = 0x20;   //設(shè)置為準(zhǔn)雙向口設(shè)置P3.5為推挽輸出
    P3M1 = 0x40;   P3M0 = 0x00;   //設(shè)置為準(zhǔn)雙向口 P3.6為高阻
    P4M1 = 0x00;   P4M0 = 0x00;   //設(shè)置為準(zhǔn)雙向口
    P5M1 = 0x30;   P5M0 = 0x00;   //設(shè)置為準(zhǔn)雙向口  P5.5 P5.4為高阻
    P6M1 = 0x20;   P6M0 = 0x00;   //設(shè)置為準(zhǔn)雙向口  P6.5為高阻
    P7M1 = 0x00;   P7M0 = 0x00;   //設(shè)置為準(zhǔn)雙向口
        PCA_PWM_Init();                  
        while(1)
        {
         
        }
      
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:878061 發(fā)表于 2022-7-12 20:33 | 只看該作者
改變PCA時(shí)鐘輸入源的頻率就可以改變PWM的頻率
回復(fù)

使用道具 舉報(bào)

板凳
ID:1008383 發(fā)表于 2022-7-12 20:54 | 只看該作者
huashanhui20 發(fā)表于 2022-7-12 20:33
改變PCA時(shí)鐘輸入源的頻率就可以改變PWM的頻率

降了一些,但還是太大了
回復(fù)

使用道具 舉報(bào)

地板
ID:401564 發(fā)表于 2022-7-12 21:58 | 只看該作者
CMOD   選擇時(shí)鐘為系統(tǒng)時(shí)鐘/12
PCA_PWM0        選擇10位PWM
還不行就用6MHZ的時(shí)鐘
再不行就用32KHZ的時(shí)鐘
回復(fù)

使用道具 舉報(bào)

5#
ID:624769 發(fā)表于 2022-7-12 22:27 | 只看該作者
CMOD = 0x04;

然后,用定時(shí)器來定頻率吧,你愛多慢就多慢。
回復(fù)

使用道具 舉報(bào)

6#
ID:213173 發(fā)表于 2022-7-13 10:40 | 只看該作者
淡忘一世 發(fā)表于 2022-7-12 20:54
降了一些,但還是太大了

改變定時(shí)器時(shí)間就改變PWM頻率,100Hz占空比50%示例
#include <STC8.H>

void Timer0Init(void)                //39微秒@12.000MHz
{
        AUXR |= 0x80;                //定時(shí)器時(shí)鐘1T模式
        TMOD &= 0xF0;                //設(shè)置定時(shí)器模式
        TL0 = 0x2C;                //設(shè)置定時(shí)初始值
        TH0 = 0xFE;                //設(shè)置定時(shí)初始值
        TF0 = 0;                //清除TF0標(biāo)志
        TR0 = 1;                //定時(shí)器0開始計(jì)時(shí)
}

void main()
{
        CCON = 0x00;
        CMOD = 0x04;      //PWM周期=定時(shí)器0的溢出周期/256
        CL = 0x00;
        CH = 0x00;
        CCAPM0 = 0x42;    //PCA模塊0為PWM工作模式
        PCA_PWM0 = 0x00;  //PCA模塊0輸出8位PWM
        CCAP0H=CCAP0L=0x80;//PWM占空比為50%
        CR = 1;           //啟動(dòng)PCA計(jì)時(shí)器
        Timer0Init();
        while (1);
}
回復(fù)

使用道具 舉報(bào)

7#
ID:1008383 發(fā)表于 2022-7-13 10:54 | 只看該作者
Y_G_G 發(fā)表于 2022-7-12 21:58
CMOD   選擇時(shí)鐘為系統(tǒng)時(shí)鐘/12
PCA_PWM0        選擇10位PWM
還不行就用6MHZ的時(shí)鐘

好的,試試
回復(fù)

使用道具 舉報(bào)

8#
ID:1008383 發(fā)表于 2022-7-13 10:55 | 只看該作者
188610329 發(fā)表于 2022-7-12 22:27
CMOD = 0x04;

然后,用定時(shí)器來定頻率吧,你愛多慢就多慢。

好的,謝謝
回復(fù)

使用道具 舉報(bào)

9#
ID:1008383 發(fā)表于 2022-7-13 10:55 | 只看該作者
wulin 發(fā)表于 2022-7-13 10:40
改變定時(shí)器時(shí)間就改變PWM頻率,100Hz占空比50%示例
#include

謝謝大佬
回復(fù)

使用道具 舉報(bào)

10#
ID:213173 發(fā)表于 2022-7-13 11:17 | 只看該作者

//PWM周期=定時(shí)器0的溢出周期*256
回復(fù)

使用道具 舉報(bào)

11#
ID:65237 發(fā)表于 2022-8-11 09:21 | 只看該作者
wulin 發(fā)表于 2022-7-13 11:17
//PWM周期=定時(shí)器0的溢出周期*256

//PWM周期=定時(shí)器0的溢出周期*256 ,如果溢出時(shí)間0.14US ,那14*256就它的周期嗎?為什么是256 這個(gè)沒搞明白,望指點(diǎn)小白 ,是因?yàn)?位機(jī)的原因嗎
回復(fù)

使用道具 舉報(bào)

12#
ID:161164 發(fā)表于 2022-8-11 10:46 | 只看該作者
阿飛7812 發(fā)表于 2022-8-11 09:21
//PWM周期=定時(shí)器0的溢出周期*256 ,如果溢出時(shí)間0.14US ,那14*256就它的周期嗎?為什么是256 這個(gè)沒搞明白 ...

STC8A-F手冊(cè)有寫


回復(fù)

使用道具 舉報(bào)

13#
ID:65237 發(fā)表于 2022-8-12 09:14 | 只看該作者

謝謝指點(diǎn) 如果選6位PWM ,周期=就是如溢出時(shí)間*63 對(duì)嗎
回復(fù)

使用道具 舉報(bào)

14#
ID:1034262 發(fā)表于 2022-8-12 13:53 | 只看該作者
使用定時(shí)器0溢出率做PCA時(shí)鐘。
回復(fù)

使用道具 舉報(bào)

15#
ID:65237 發(fā)表于 2022-8-13 09:05 | 只看該作者
coody_sz 發(fā)表于 2022-8-12 13:53
使用定時(shí)器0溢出率做PCA時(shí)鐘。

我的意思是怎樣計(jì)算 如溢出為0.14US 6位PWM  頻率是怎么計(jì)算的 是0.14*32  ,0010 0000,是這樣的嗎
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 影音先锋中文字幕在线观看 | 狼色网 | 99精品免费在线观看 | 成人美女免费网站视频 | 中文字幕国产一区 | 亚洲精品www久久久久久广东 | 欧美日韩精品一区二区三区蜜桃 | 国产精品99999999| 一级黄色录像片子 | 久久9久 | 亚洲国产成人在线视频 | 久久影院一区 | 欧美极品在线 | 国产91丝袜在线播放 | 欧美日韩一区二区在线 | 黄色毛片在线播放 | 国产精品1区2区3区 欧美 中文字幕 | 亚洲国产精品久久久久秋霞不卡 | 国产精品久久久久久婷婷天堂 | 欧美乱码精品一区二区三区 | 日本污视频 | 天天玩天天操天天干 | 国产高清视频 | 成人精品视频 | 中文字幕亚洲精品 | 欧美精品欧美精品系列 | 成人免费视频观看 | 日本a在线| 国产乱码高清区二区三区在线 | 免费在线国产视频 | 伊人激情网 | 中文字幕一区二区三区在线乱码 | 久久久久久久久久久久久九 | 成人妇女免费播放久久久 | 国产综合久久久久久鬼色 | 日韩不卡视频在线 | 在线欧美小视频 | 成人精品一区二区 | 国产视频第一页 | 麻豆视频在线免费观看 | 精品久久影院 |