在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > stc單片機IO配置與PWM

            stc單片機IO配置與PWM

            作者: 時間:2016-12-01 來源:網(wǎng)絡 收藏

            所有PCA模塊都可用作PWM輸出(上圖)。輸出頻率取決于決于PCA定時器的時鐘源。

            由于所有模塊共用僅有的PCA定時器,所有它們的輸出頻率相同。各個模塊的輸出占空

            是獨立變化的,與使用的捕獲寄存器[EPCnL,CCAPnL]有關。當寄存器寄存器CL的值小于[EPCnL,CCAPnL]時,輸出為低;當寄存器CL的值等于或大于[EPCnL,CCAPnL]時,輸出為高。當CL的值由FF變?yōu)?0溢出時,[EPCnH,CCAPnH]的內(nèi)容裝載到[EPCnL,CCAPnL]中。這樣就可實現(xiàn)無干擾地更新PWM。要使能PWM模式,模塊CCAPMn寄存器的PWMn和ECOMn位必須置位。由于PWM是8位的,所以:PWM的頻率=:PCA時鐘輸入源頻率/256PCA時鐘輸入源可以從以下8種中選擇一種:SYSclk,SYSclk/2,SYSclk/4,SYSclk/6,SYSclk/8,SYSclk/ 2,定時器0的溢出,ECI/P3.4輸入。。

            舉例:要求PWM輸出頻率為38KHz,選SYSclk為PCA/PWM時鐘輸入源,求出SYSclk的值

            由計算公式38000=SYSclk/256,得到外部時鐘頻率SYSclk=38000 x 256 x=9,728,000

            如果要實現(xiàn)可調頻率的PWM輸出,可選擇定時器0的溢出率或者ECI腳的輸入作為PCA/PWM的時鐘輸入源

            當EPCnL = 0及CCAPnL=0x00H時,PWM固定輸出高

            當EPCnL = 1及CCAPnL=0xFFH時,PWM固定輸出低

            例:

            #definePCA_IDLE_DISABLE0//1:MCU在IDLE模式時禁止PCA工作。0:MCU在IDLE模式時允許PCA工作。

            #definePCA_SOURCE_SELECT1//選擇PCA的基準時鐘源。

            //0:系統(tǒng)時鐘Fosc/12。

            //1:系統(tǒng)時鐘Fosc/2。

            //2:定時器0的溢出。

            //3:ECI/P3.4腳的外部時鐘輸入(最大=Fosc/2)。

            //4:系統(tǒng)時鐘Fosc。

            //5:系統(tǒng)時鐘Fosc/4。

            //6:系統(tǒng)時鐘Fosc/6。

            //7:系統(tǒng)時鐘Fosc/8。

            voiden_PCA(void)

            {

            CMOD= (PCA_IDLE_DISABLE << 7) | (PCA_SOURCE_SELECT << 1);//初始化PCA模式寄存器。

            CL= 0x00;//清除PCA計數(shù)機

            CH= 0x00;

            CR= 1;//啟動PCA計數(shù)機 CL 00->FF

            }

            void initPWM()

            {

            PWM=0x00;

            PCA_PWM0=0x02;//初始化輸出0

            CCAP0H= 0xFF;//初始化輸出0

            CCAPM0= 0x42;//設置PCA模塊0工作在PWM模式.......................

            PCA_PWM1=0x02;//初始化輸出0

            CCAP1H= 0xFF;//初始化輸出0

            CCAPM1= 0x42;//設置PCA模塊1工作在PWM模式

            en_PCA();//打開PMW

            }

            DALE R01F采樣電阻,阻值是0.01歐

            RXD為接收數(shù)據(jù)的引腳,TXD為發(fā)送數(shù)據(jù)的引腳

            PMW0 輸出全1

            PCA_PWM0=0x00;
            CCAP0H = 0x00;


            PMW0輸出全0
            PCA_PWM0=0x00;
            CCAP0H = 0x00;//set PWM wide


            上一頁 1 2 下一頁

            評論


            技術專區(qū)

            關閉