微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 通过外部按键改变输出波形的占空比

通过外部按键改变输出波形的占空比

时间:10-02 整理:3721RD 点击:
#include<reg51.h>
unsigned char m=0;
unsigned char k=0;
unsigned char n=1;
sbit P2_7=P2^7;
void main()
{
   EA=1;
   ET0=1;
   TMOD=0x02;
   TH0=0xb0;
   TL0=0xb0;
  TR0=1;
while(1)
   {  
                 if((P2_7&1)==0)
                    { k++;
                    switch(k)
                         {
                                   case 1:
                                   m=1;
                                   n=2;
                                   break;
                                   case 2:
                                   m=2;
                                    n=3;
                                    k=0;
                                    break;         
                  }   
        }   
   }
}
void timer0()  interrupt 1
{        
   unsigned char i;
         i++;
   if(i==m)
           {
         P1=~P1;                    
          }
         if(i==n)
           {
             P1=~P1;
             i=0;
          }
}
为什么按键之后输出波形没有变化?

围观,等待别人回答

按键都没有延时或者抬起检测那不是按一下k都不知道加了多少次了 能好使么

小编所设为点动工作方式  的    改成                                                                                                                                                                                                                                                                                                                                                                                                                                                      连续控制模式                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                

中断部分有问题啊,看着

加入些变频的功能或许更有味道

不妨参考报警声,,,

中断函数中的 i 要加 static ,另外,建议     main 函数 while 循环中 加个 500ms 延时

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top