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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2434|回復: 2
打印 上一主題 下一主題
收起左側

stc15單片機pca用T0分頻,只能用16位自動重載模式嗎

[復制鏈接]
跳轉到指定樓層
樓主
ID:92556 發表于 2020-8-21 22:52 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式



想要實時改變輸出的頻率,比如用按鍵調節不同的頻率

想使用T0,模式1,改變重載數值,的方法來改變,輸出頻率但是不行,

只能象下面一樣用16位自動重載模式嗎


//本示例在Keil開發環境下請選擇Intel的8058芯片型號進行編譯
//若無特別說明,工作頻率一般為11.0592MHz


#include "STC15W401AS.h"

//-----------------------------------------------

#define FOSC 11059200L

#define CCP_S0 0x10               //P_SW1.4
#define CCP_S1 0x20               //P_SW1.5
//-----------------------------------------------
#define uint unsigned int
#define uchar unsigned char
/* Timer0 interrupt routine */
void tm0_isr() interrupt 1
{
    //P10 = ! P10;                    //將測試口取反
}

/* Timer2 interrupt routine */
void tm2_isr() interrupt 12
{
    //P11 = ! P11;                    //將測試口取反
}
float PL;
int Xt1,Xt0;
        float t1,t0;
        uchar hZ1,l1,h0,l0;

//-----------------------------------------------

void Init_usart1()
{   
          SCON=0X50;
          T2L=(65536-(FOSC/4/19200));   //這個單片機沒有定時器1,因此,用定時器2作為波特率發生器。
    T2H=(65536-(FOSC/4/19200))>>8;
    AUXR=0x14;                //T2為1T模式,并啟動定時器2
    AUXR|=0x01;               //選擇定時器2為串口1的波特率發生器
    ES=1;                     //使能串口1中斷
    EA=1;
}

void dutyANDf(void)
{


        t1=0.5/PL;                             //高電平時長
        t0=(1/PL)-t1;                        //低電平時長
        Xt1=65536-1000000*t1;        //高電平的時長轉換成的定時器16位數
        Xt0=65536-1000000*t0;;  //低電平的時長轉換成的定時器16位數

        hZ1=(uchar)(Xt1>>8);     //高電平高八位保存
        l1=(uchar)Xt1;                //高電平低八位保存
       // h0=(uchar)(Xt0>>8);     //低電平高八位保存
       // l0=(uchar)Xt0;                //低電平低八位保存


}


/* main program */
void main()
{
                P1M1 &= ~1; //P1.x 設置為推挽輸出
    P1M0 |=  1;
       
               
                ACC=P_SW1;                    //讀取外圍設備控制切換寄存器
    ACC&=~(CCP_S0|CCP_S1);        //CCP_S0=0 CCP_S1=0,設置PWM0輸出在P1.1引腳。
    P_SW1=ACC;                    //(P1.2/ECI, P1.1/CCP0, P1.0/CCP1, P3.7/CCP2)
    CCON=0;                       //初始化PCA控制器                                                                      //??CF                                    //????????
    CL=0;                         //復位PCA寄存器高低位
    CH=0;                         //
    CMOD=0x84;                    //設置PCA時鐘源為T0的溢出,且禁止所有PCA定時器溢出中斷(PCA不作定時器功能)

       
                /*****************************PWM0 - P1.1***************************************/               
    PCA_PWM0=0x80;                //PCA模塊0為6位模式                                       
    CCAP0H=CCAP0L=0x20;           //PWM0占空比50% ((40H-20H)/40H)
               
//        CCAP0H=CCAP0L=0x00;           //PWM0占空比50% ((40H-20H)/40H)
          CCAPM0=0x42;                  //允許CCAPM1比較器功能和PWM功能       
                /*****************************PWM1 - P1.0***************************************/       
               
                PCA_PWM1=0x80;                //PCA模塊0為6位模式                                       
    CCAP1H=CCAP1L=0x30;           //PWM1占空比25% ((40H-30H)/40H)
          CCAPM1=0x42;                  //允許CCAPM2比較器功能和PWM功能               
               
               
                AUXR |= 0x80;                   //定時器0為1T模式
                 TMOD = 0x00;                    //設置定時器為模式0(16位自動重裝載)

         TH0 = (65535-156)/256;
                 TL0 = (65535-156)%256;                   //初始化計時值
    TR0 = 1;                        //定時器0開始計時

               
    CR=1;                         //啟動PCA運行
    while (1);


}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:213173 發表于 2020-8-22 06:03 | 只看該作者
自動重載模式同樣可以隨時改變重載數值,自動重載模式比非自動重載模式定時更精準。
回復

使用道具 舉報

板凳
ID:92556 發表于 2020-8-26 00:36 | 只看該作者
wulin 發表于 2020-8-22 06:03
自動重載模式同樣可以隨時改變重載數值,自動重載模式比非自動重載模式定時更精準。

好的,,謝謝回復  我用定時器,中斷實現了實時改頻率,有空再按你說的試下,,
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 综合久久综合久久 | 午夜私人影院 | 亚洲成人av一区二区 | 91精品中文字幕一区二区三区 | 91麻豆产精品久久久久久夏晴子 | www操操| 伊人一区 | 精品视频一区二区三区 | 91精品国产一区二区三区 | 精品久久一区 | 又爽又黄axxx片免费观看 | 好姑娘影视在线观看高清 | 欧美日韩最新 | 在线一区视频 | 91视频18 | 一区在线视频 | 毛片大全 | 亚洲欧美中文日韩在线v日本 | av网站免费观看 | 日韩电影在线 | 欧美亚洲国产一区二区三区 | 日本一区二区三区精品视频 | 又爽又黄axxx片免费观看 | 欧美精品1区2区3区 免费黄篇 | 欧美日韩一区二区三区四区五区 | 国产欧美性成人精品午夜 | 久久国产美女视频 | 国产视频一视频二 | 日本在线免费看最新的电影 | 日韩毛片在线免费观看 | 亚洲欧美一区二区三区在线 | 男人av在线播放 | 欧美又大粗又爽又黄大片视频 | 91亚洲国产成人久久精品网站 | 久久久国产一区 | 6996成人影院网在线播放 | 一区二区三区视频在线观看 | 亚洲视频一区二区三区 | 九色网址 | 欧美精品在线免费观看 | 亚洲精品日韩一区二区电影 |