求助:怎样改进,能够实现一个按键控制不同频率

2019-07-16 04:31发布

#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
sbit OUT=P2^2;    //定义OUT输出端口
sbit key1=P3^2;//定义按键位置 独立按键模式
sbit key2=P3^3;
sbit key3=P3^4;
sbit key4=P3^5;
void Init_timer0(void)
{
TMOD |= 0x01;   //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响      
EA=1;            //总中断打开
ET0=1;           //定时器中断打开
TR0=1;           //定时器开关打开
}
main()
{
Init_Timer0();
while(1);
}
void Timer0_isr(void) interrupt 1 using 1
{
      if(!key1)     {TH0=(65536-50000)%256;TL0=(65536-50000)/256;OUT=~OUT;}//
   else if(!key2){TH0=(65536-20000)%256;TL0=(65536-20000)/256;OUT=~OUT;}//
   else if(!key3){TH0=(65536-10000)%256;TL0=(65536-10000)/256;OUT=~OUT;}//
   else if(!key4){TH0=(65536-5000)%256;TL0=(65536-5000)/256;OUT=~OUT;}//
}

以上为频率可变的方波,但是是通过四个按键改变频率的,我想通过一个按键,来实现改变频率的功能,求助大神帮忙!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。