找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2945|回復(fù): 4
收起左側(cè)

單片機(jī)ADC準(zhǔn)換的值作為PWM的占空比!弄很久一直沒有弄出來!

[復(fù)制鏈接]
ID:655504 發(fā)表于 2020-5-5 09:37 | 顯示全部樓層 |閱讀模式
回復(fù)

使用道具 舉報(bào)

ID:655504 發(fā)表于 2020-5-5 09:39 | 顯示全部樓層
發(fā)出的程序格式亂了,就請各位大佬看一下源程序把,謝謝大家了
回復(fù)

使用道具 舉報(bào)

ID:655504 發(fā)表于 2020-5-6 16:56 | 顯示全部樓層
不要沉了呀,我頂
回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2020-5-7 08:22 | 顯示全部樓層
不用寫那么多,就把STC的ADC和PWM官方示例整合一下就行。以下程序只是提供編程思路,不代表可以直接使用。
#include <STC8.H>
#include "intrins.h"

void delay100ms(void)
{
    unsigned char a,b,c;
    for(c=254;c>0;c--)
        for(b=229;b>0;b--)
            for(a=8;a>0;a--);
    _nop_();  
    _nop_();  
}

void main()
{
        //初始化PWM
        CCON = 0x00;
        CMOD = 0x08;                                //PCA時(shí)鐘為系統(tǒng)時(shí)鐘
        CL = 0x00;
        CH = 0x00;       
        CCAPM0 = 0x42;                              //PCA模塊0為PWM工作模式
        PCA_PWM0 = 0x00;                            //PCA模塊0輸出8位PWM
        CCAP0L = 0xff;                              //PWM占空比為0%
        CCAP0H = 0xff;
        CR = 1;                                     //啟動PCA計(jì)時(shí)器
        //初始化ADC
        P1M0 = 0x00;                                //設(shè)置P1.0為ADC口
        P1M1 = 0x01;
        ADCCFG = 0x0f;                              //設(shè)置ADC時(shí)鐘為系統(tǒng)時(shí)鐘/2/16/16
        ADC_CONTR = 0x80;                           //使能ADC模塊
       
        while (1)
        {
                ADC_CONTR |= 0x40;                      //啟動AD轉(zhuǎn)換
                _nop_();
                _nop_();
                while (!(ADC_CONTR & 0x20));            //查詢ADC完成標(biāo)志
                ADC_CONTR &= ~0x20;                     //清完成標(biāo)志

                CCAP0H = ADC_RES;                       //讀取ADC結(jié)果控制PWM,默認(rèn)P0.0輸出
//                CCAP0H = ~ADC_RES;                      //讀取ADC結(jié)果取反控制PWM
                delay100ms();
        }
}
回復(fù)

使用道具 舉報(bào)

ID:261802 發(fā)表于 2020-5-13 23:33 | 顯示全部樓層
樓主,我想產(chǎn)生10khz的pwm波應(yīng)該怎么修改呢?
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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