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

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

QQ登錄

只需一步,快速開(kāi)始

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

關(guān)于stc15單片機(jī)芯片定時(shí)器0改變頻率和pwm的程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
50黑幣
我的問(wèn)題是為啥我用定時(shí)器8位自動(dòng)重裝初值可以改變頻率,但我用16自動(dòng)重裝初值卻改變不了頻率;一下是程序;
#include"stc15f2k60s2.h"
#define  uint  unsigned int
#define  uchar  unsigned char
#define ulong unsigned long
sbit lcden=P2^7;
sbit lcdrw=P2^6;
sbit lcdrs=P2^5;
#define CCP_S0 0x10                         //P_SW1.4
#define CCP_S1 0x20                         //P_SW1.5
#define FOSC  11059200
sbit s1=P2^0;
sbit s2=P2^1;
sbit s3=P2^2;
sbit s4=P2^3;
float zhankongbi=0x80;
uchar code table1[]="zkb";
void display1();
void pwminit();
void keyscan();
ulong high=10;
void delay(uint z)
{
  uint i,j;
   for(i=z;i>0;i--)
    for(j=110;j>0;j--);
}

void pwmshe(uchar t)//這是占空比調(diào)節(jié)函數(shù)
{                        
                CCAP1H=t;
                CCAP1L=t;
}
void write_com(uchar com)//        液晶寫(xiě)命令函數(shù)
{
      lcdrs=0;
      lcdrw=0;
      P0=com;
      delay(5);
      lcden=1;
      delay(5);
      lcden=0;         
}

void write_date(uchar date)//液晶寫(xiě)數(shù)據(jù)函數(shù)
{
     lcdrs=1;
     lcdrw=0;
     P0=date;
     delay(5);
     lcden=1;
     delay(5);
     lcden=0;
}
void init()        //初始化函數(shù)
{
        uchar num;

        write_com(0x38);
        write_com(0x0c);
        write_com(0x06);
        write_com(0x01);
        write_com(0x80);//設(shè)置顯示初始坐標(biāo)
        for(num=0;num<3;num++)
                {
                        write_date(table1[num]);
                        delay(5);
                }
}
void initc()
{
   AUXR=0x80;          //時(shí)鐘不分頻,是原來(lái)51單片機(jī)的12倍;
   TMOD=0x00;;        //定時(shí)器0,為16位自動(dòng)重裝載定時(shí)器;
   TMOD &= ~0x04;
   TL0=(65536-FOSC/high);
   TH0=(65536-FOSC/high)>>8;
   INT_CLKO=0x01;         //時(shí)鐘輸出
    TR0=1;
}
void pwminit()   //pwm初始化
{
                                                           
   CMOD=0x04;
   CCON=0x00;
   CL=0x00;        
   CH=0x00;           
   PCA_PWM1=0x00;
   CCAPM1=0x42;
   CCAP1H=0xff;  
   CCAP1L=0xff;
   CR=1;         
}
void main()
{        
    P1M0 = 0x00;
    P1M1 = 0x00;   
    P2M0 = 0x00;
    P2M1 = 0x00;
    P3M0 = 0x00;
    P3M1 = 0x00;
    P4M0 = 0x00;
    P4M1 = 0x00;
    P5M0 = 0x00;
    P5M1 = 0x00;
        P6M0 = 0x00;
    P6M1 = 0x00;
        P7M0 = 0x00;
    P7M1 = 0x00;

        ACC = P_SW1;
    ACC &= ~(CCP_S0 | CCP_S1);              //CCP_S0=0 CCP_S1=0
    P_SW1 = ACC;                            //(P1.2/ECI, P1.1/CCP0, P1.0/CCP1, P3.7/CCP2)

//  ACC = P_SW1;
//  ACC &= ~(CCP_S0 | CCP_S1);              //CCP_S0=1 CCP_S1=0
//  ACC |= CCP_S0;                          //(P3.4/ECI_2, P3.5/CCP0_2, P3.6/CCP1_2, P3.7/CCP2_2)
//  P_SW1 = ACC;

//  ACC = P_SW1;
//  ACC &= ~(CCP_S0 | CCP_S1);              //CCP_S0=0 CCP_S1=1
//  ACC |= CCP_S1;                          //(P2.4/ECI_3, P2.5/CCP0_3, P2.6/CCP1_3, P2.7/CCP2_3)
//  P_SW1 = ACC;
    init();
            initc();
        pwminit();
    display1();
        
        while(1) //進(jìn)入主程序大循環(huán)
        {        
                                         
              keyscan();
        
                  display1();         
              pwmshe(zhankongbi);
                           
        }               
}

void keyscan()
{        
                if(s1==0)
        {
                delay(5);
                if(s1==0)
                {
                          while(!s1);         
                    zhankongbi=zhankongbi-100;
        
                        
                }
        }        
                if(s2==0)
        {        
             delay(5);
                if(s2==0)
                {
                                while(!s2);        
                    zhankongbi=zhankongbi+10;
                        if(zhankongbi>256)
                        zhankongbi=0x80;                                                                    
                }
        }
         if(s3==0)
    {
      delay(5);
      if(s3==0)
      {
        high++;
        if(high>65535)
           high=0;
        while(!s3);
      }
    }
   if(s4==0)
    {
      delay(5);
      if(s4==0)
      {
        high--;
        if(high<0)
           high=65535;
        while(!s4);        
           }
        }        
        
}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
void display1(float m)
{
         
        float a=0,c=0;
        uchar b=0;
    m=zhankongbi;
    m=(float)m*100/256;
        a=m/100;
        b=(uchar)m%100/10;
        c=(uchar)m%10;

        write_com(0x84);
        write_date(a+0x30);
        write_com(0x85);
        write_date(b+0x30);
        write_com(0x86);
        write_date(c+0x30);        
        write_com(0x87);
        write_date('%');
        write_com(0x83);
        write_date(':');
        
}


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

使用道具 舉報(bào)

沙發(fā)
ID:480680 發(fā)表于 2019-8-5 08:52 | 只看該作者
已解決
回復(fù)

使用道具 舉報(bào)

板凳
ID:213173 發(fā)表于 2019-8-5 09:08 | 只看該作者
樓主的數(shù)據(jù)類(lèi)型使用有點(diǎn)混亂。可以參考STC官方例程


回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人免费视频网站在线观看 | 逼逼视频| 日日夜夜狠狠操 | 亚洲情侣视频 | 成人aaa视频 | 亚洲精品18 | 国产精品免费视频一区 | 国产三级精品视频 | 黄色成人av | 一区二区三区播放 | 日本精品一区二区三区在线观看视频 | 黄片毛片在线观看 | 国产情侣激情 | 亚洲一区视频在线 | 亚洲精品福利在线 | 中文字幕视频在线看5 | 国产精品久久久久久影院8一贰佰 | 欧美一卡二卡在线观看 | 日本一级淫片免费啪啪3 | 国产成人精品一区二区三区在线 | 一区二区三区四区av | 亚洲一区二区三区视频在线 | 日韩激情一区 | 久久久青草 | 做a视频在线观看 | 久色网 | 国产高清不卡 | 国产午夜精品理论片a大结局 | 午夜影院在线观看免费 | 国产精品久久久久久模特 | 中文字幕在线一区二区三区 | 午夜免费在线观看 | 国产综合久久 | 欧美成人黄色小说 | 91极品尤物在线播放国产 | 欧美一级片在线观看 | 精品久久精品 | 中文字幕乱码一区二区三区 | 在线免费观看成人 | xxxxx免费视频 | 亚洲视频1区 |