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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10915|回復: 11
收起左側

STC15F2K60S2單片機PWM模塊做呼吸燈,求助

  [復制鏈接]
ID:63752 發表于 2014-8-22 10:48 | 顯示全部樓層 |閱讀模式
單片機是STC15F2K60S2,用里面的PWM模塊做一個呼吸燈,定時器0中斷做占空比增加或減少,定時器0,500MS中斷,占空比加1,下面是我的程序,但是不工作,求指導,謝謝~~
#include"reg51.h"
#include"intrins.h"
#define uchar unsigned char
#define uint unsigned int
sfr AUXR=0x8e;
sfr P_SW1=0xA2;
sfr CCON=0xD8;
sfr CMOD=0xD9;
sfr CL=0xE9;
sfr CH=0xF9;
sfr CCAPM0=0xDA;
sfr CCAP0L=0xEA;
sfr CCAP0H=0xFA;
sfr PCA_PWM0=0xF2;
sbit CR=CCON^6;
sbit LED=P3^3;
sbit key=P2^6;
sbit PWM=P1^1;
unsigned int counter;
unsigned char flag;
unsigned char PWMduty=0;
unsigned char code DutyDC[] = {
5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,
145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,255
};//占空比數值//
void Delay(uint x)
{
    uint a,b;
    for(a=x;a>0;a--)
       for(b=110;b>0;b--);
}   
void main()
{   
   
   AUXR&=0x7f;    //定時器0為12T模式//
   TMOD=0x00;   //設置定時器0為模式0//
   TH0=(65536-50000)/256;
    TL0=(65536-50000)%256;   //定時值初值//
   EA=1;  //開總中斷//
    ET0=1; //開啟內部定時器中斷0//
   TR0=1;  //打開定時器0//
   P_SW1=0x00;
   CCON=0;
   CL=0;
   CH=0;
   CMOD=0x00;//系統時鐘,SYS/12,禁止中斷//
   PCA_PWM0=0x00;
   PWMduty=0;
   //CCAP0H=DutyDC[PWMduty];
   //CCAP0L=CCAP0H;//可變占空比//
   CCAPM0=0x42;
   CR=1;//運行PWM//
while(1);
   
}

void KEYtime2() interrupt 1
{
   
TF0=0;
    TH0=(65536-50000)/256;
    TL0=(65536-50000)%256;   //定時值初值
counter++;
if(counter>=10)//500ms//
  {
   counter=0;
      
     CCAP0H=DutyDC[PWMduty++];
  CCAP0H=CCAP0L;
   
   
  }
   
}
回復

使用道具 舉報

ID:63752 發表于 2014-8-25 22:48 來自手機 | 顯示全部樓層
無人幫忙嗎?
回復

使用道具 舉報

ID:67377 發表于 2014-10-14 16:56 | 顯示全部樓層
IO輸出配置了不

評分

參與人數 1威望 +50 黑幣 +50 收起 理由
admin + 50 + 50 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:44262 發表于 2014-10-22 12:19 來自手機 | 顯示全部樓層
可惜這樣的程序無法進行軟件仿真,樓主現在搞定了嗎,上面的程序存在什么問題
回復

使用道具 舉報

ID:63752 發表于 2014-10-22 12:46 | 顯示全部樓層
a110 發表于 2014-10-22 12:19
可惜這樣的程序無法進行軟件仿真,樓主現在搞定了嗎,上面的程序存在什么問題

不是很理想,現在還在研究著。
回復

使用道具 舉報

ID:67992 發表于 2014-11-2 16:48 | 顯示全部樓層
CCAP0H=DutyDC[PWMduty++];
PWMduty++超出數組怎辦?要加范圍啊
回復

使用道具 舉報

ID:67992 發表于 2014-11-2 16:51 | 顯示全部樓層
void KEYtime2() interrupt 1
{
   
    TF0=0;
    TH0=(65536-50000)/256;
    TL0=(65536-50000)%256;   //定時值初值
    counter++;
        if(counter==10)//500ms//
          {
             counter=0;
             
             CCAP0H=DutyDC[PWMduty++];
             CCAP0L=CCAP0H;
            
          
                if(PWMduty==50)
                  PWMduty=0;
          }
   
}
       

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:36868 發表于 2014-11-2 21:04 | 顯示全部樓層
用示波器看一下PWM波形

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:36868 發表于 2014-11-2 21:04 | 顯示全部樓層
采用示波器觀測PWM,看是否可以改變占空比

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:184049 發表于 2017-4-8 18:55 | 顯示全部樓層
請問這個程序研究出來了嗎,想參考一下
回復

使用道具 舉報

ID:296147 發表于 2018-4-30 14:08 | 顯示全部樓層
你這不是用的內部的pwm,芯片內部是自帶兩路pwm輸出的,不是使用定時器0和1產生pwm.
回復

使用道具 舉報

ID:583839 發表于 2019-10-24 15:55 | 顯示全部樓層
這也沒有采用內部的SFR呀
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品女优 | 欧美日一区| 国产一区二区三区四区在线观看 | 久久精品小视频 | 午夜精品在线观看 | 亚洲天堂精品久久 | 国产午夜精品久久久 | 欧美一级久久久猛烈a大片 日韩av免费在线观看 | 91精品在线播放 | 免费1区2区3区 | 亚洲一区二区三区在线视频 | 国产精品久久国产精品 | 国产aa | 国精产品一区二区三区 | 国产日韩精品视频 | 欧美一级在线免费 | 国产精品视频播放 | 韩国精品一区 | 热久久久 | 国产999精品久久久久久绿帽 | 射久久| 精品国产一区二区三区性色av | 久久国产99| 福利一区二区在线 | 国产欧美日韩久久久 | 午夜视频在线免费观看 | 精品中文字幕一区 | 国产精品久久久久久妇女 | 亚洲三区视频 | 在线欧美亚洲 | 91免费在线视频 | 中文字幕在线不卡播放 | 综合九九 | 日韩在线不卡视频 | 日本精品一区二区三区在线观看视频 | 亚洲少妇综合网 | 日本电影一区二区 | av免费观看网站 | 色婷婷综合久久久中字幕精品久久 | 中文字幕精品视频 | 日本精品一区二区三区视频 |