欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

按鍵調節pwm波的占空比,但是仿真的時候按鍵不能控制占空比,不懂問題出在哪里,求...

[復制鏈接]
跳轉到指定樓層
樓主
ID:682942 發表于 2020-1-19 11:36 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <mega16.h>
#include <delay.h>

unsigned char temp1;
   interrupt [INT0] void int0_isr(void)
{
   if(OCR0<0xFF)
  temp1+=5;  //占空比增加
  delay_ms(100);
   }


interrupt [INT1] void int1_isr(void)
{
   if(OCR0>0x63)
   temp1-=5;   //占空比減少
   delay_ms(100);
   }

void main(void)
{

    DDRB.3=1;  //設置pb3為輸出
    PORTB.3=1;  //設置端口輸出為高電平
    DDRD.2=0x00;  //設置PD2為輸入
    DDRD.3=0x00; //設置PD3為輸入
    PORTD.2=0x01;  //設定端口PD2為內部上拉方式,無信號輸輸入時處于高電平狀態
    PORTD.3=0x01;  //設定端口PD3為內部上拉方式,無信號輸輸入時處于高電平狀態
                  // initialize the LCD for 2 lines & 16 columns

    MCUCR=0x0A;   //設置INT0,INT1為下降沿觸發           
    TCCR0=0x6D;    //定時器0工作于快速PWM模式,oc0取正向,1024預分頻
    TCNT0=0x63;    //20ms定時的初始值
    OCR0=0xB1;     //比較匹配的值為中點
    GICR=0xC0;
    TIMSK=0x01;
   SREG.7=0x01;
    temp1=OCR0;

  while(1)                    //依次顯示各值
    {
    ;
    }   
}


     interrupt [TIM0_OVF] void timer0_ovf_isr(void)
  {
  SREG.7=0x00;
   TCNT0=0x63;
   OCR0=temp1;
  SREG.7=0x01;
  }

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

使用道具 舉報

沙發
ID:93224 發表于 2020-1-19 18:37 | 只看該作者
用的哪一款單片機
回復

使用道具 舉報

板凳
ID:404239 發表于 2020-1-19 22:08 | 只看該作者
AVR單片機需要全局中斷使能才會觸發按鍵中斷,即asm("sei");這里好像沒有。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表