欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
12
返回列表 發(fā)新帖
樓主: 18701931930
打印 上一主題 下一主題
收起左側(cè)

關(guān)于STC8G單片機的PCA_10PWM輸出注意事項

  [復(fù)制鏈接]
41#
ID:1136941 發(fā)表于 2025-6-18 16:49 | 只看該作者
18701931930 發(fā)表于 2025-6-17 08:50
你寫了寄存器數(shù)據(jù)也不會改變。

請教大佬,我用10位PWM的呼吸燈程序驗證,不能正常是怎么回事?
回復(fù)

使用道具 舉報

42#
ID:1136941 發(fā)表于 2025-6-21 16:35 | 只看該作者
參照16樓的,如下寫呼吸燈正常了。
//設(shè)置脈沖寬度
void PWM0_Set_Duty(u16 Duty)   //P3.2
{
        PCA_PWM0&= ~(3<<4);        //清零重裝值高2位
        PCA_PWM0 = (Duty>>4)&0x30|0xc0; //設(shè)置新的重裝值高2位
        CCAP0H   = Duty;           //重裝值低8位
}

//設(shè)置脈沖寬度
void PWM1_Set_Duty(u16 Duty)   //P3.3
{
        PCA_PWM1&= ~(3<<4);        //清零重裝值高2位
        PCA_PWM1 = (Duty>>4)&0x30|0xc0; //設(shè)置新的重裝值高2位
        CCAP1H   = Duty;           //重裝值低8位
}
回復(fù)

使用道具 舉報

43#
ID:958423 發(fā)表于 2025-7-2 15:59 | 只看該作者
別處看到了一個文章,里面說PCA_PWM寄存器必須整字節(jié)寫入,不能位操作。我試了一下整字節(jié)是可以不停止pwm輸出的情況下寫入的。
回復(fù)

使用道具 舉報

44#
ID:1146155 發(fā)表于 2026-1-30 12:23 | 只看該作者
#include "reg51.h"
#include "intrins.h"

sfr     CCON    =   0xd8;
sbit    CF      =   CCON^7;
sbit    CR      =   CCON^6;
sbit    CCF2    =   CCON^2;
sbit    CCF1    =   CCON^1;
sbit    CCF0    =   CCON^0;
sfr     CMOD    =   0xd9;
sfr     CL      =   0xe9;
sfr     CH      =   0xf9;
sfr     CCAPM0  =   0xda;
sfr     CCAP0L  =   0xea;
sfr     CCAP0H  =   0xfa;
sfr     PCA_PWM0 =  0xf2;
sfr     CCAPM1  =   0xdb;
sfr     CCAP1L  =   0xeb;
sfr     CCAP1H  =   0xfb;
sfr     PCA_PWM1 =  0xf3;
sfr     CCAPM2  =   0xdc;
sfr     CCAP2L  =   0xec;
sfr     CCAP2H  =   0xfc;
sfr     PCA_PWM2 =  0xf4;

sfr     P0M1    =   0x93;
sfr     P0M0    =   0x94;
sfr     P1M1    =   0x91;
sfr     P1M0    =   0x92;
sfr     P2M1    =   0x95;
sfr     P2M0    =   0x96;
sfr     P3M1    =   0xb1;
sfr     P3M0    =   0xb2;
sfr     P4M1    =   0xb3;
sfr     P4M0    =   0xb4;
sfr     P5M1    =   0xc9;
sfr     P5M0    =   0xca;

void main()
{
    P0M0 = 0x00;
    P0M1 = 0x00;
    P1M0 = 0x00;
    P1M1 = 0x00;
    P2M0 = 0x00;
    P2M1 = 0x00;
    P3M0 = 0x00;
    P3M1 = 0x00;
    P4M0 = 0x00;
    P4M1 = 0x00;
    P5M0 = 0x00;
    P5M1 = 0x00;

    CCON = 0x00;
    CMOD = 0x08;                                //PCA時鐘為系統(tǒng)時鐘
    CL = 0x00;
    CH = 0x00;
//--6位PWM--
    CCAPM0 = 0x42;                              //PCA模塊0為PWM工作模式
    PCA_PWM0 = 0x80;                            //PCA模塊0輸出6位PWM
    CCAP0L = 0x20;                              //PWM占空比為50%[(40H-20H)/40H]
    CCAP0H = 0x20;
//--7位PWM--
    CCAPM1 = 0x42;                              //PCA模塊1為PWM工作模式
    PCA_PWM1 = 0x40;                            //PCA模塊1輸出7位PWM
    CCAP1L = 0x20;                              //PWM占空比為75%[(80H-20H)/80H]
    CCAP1H = 0x20;
//--8位PWM--
//  CCAPM2 = 0x42;                              //PCA模塊2為PWM工作模式
//  PCA_PWM2 = 0x00;                            //PCA模塊2輸出8位PWM
//  CCAP2L = 0x20;                              //PWM占空比為87.5%[(100H-20H)/100H]
//  CCAP2H = 0x20;
//--10位PWM--
    CCAPM2 = 0x42;                              //PCA模塊2為PWM工作模式
    PCA_PWM2 = 0xc0;                            //PCA模塊2輸出10位PWM
    CCAP2L = 0x20;                              //PWM占空比為96.875%[(400H-20H)/400H]
    CCAP2H = 0x20;
    CR = 1;                                     //啟動PCA計時器

    while (1);
}
這個例程是三個IO同時輸出嗎 能只讓一個IO輸出嗎
回復(fù)

使用道具 舉報

45#
ID:1153607 發(fā)表于 2026-2-3 08:59 | 只看該作者
都這個年頭了,換個芯片不就簡單了嗎?換8H吧。那個簡單還好用。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表