频率可调的方波信号发生器设计及电路

[09-11 23:01:44]   来源:http://www.88dzw.com  单片机学习   阅读:8391

文章摘要: { h=h+1; } return h;}/* C51有专门的库文件MATH.H,里面有个函数 它是这样定义的extern float modf(float x, float *ip); 调用它之后,整数部分被放入*ip, 小数部分作为返回值。*///void timer1() interrupt 3 //T1中断{ T1_cnt++; if(T1_cnt>T1_over_num) //半周期的计数到达 { T1_cnt=0; pulse_out=!pulse_out; //反复取反,

频率可调的方波信号发生器设计及电路,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com
 { h=h+1; }
 return h;
}
/* C51有专门的库文件MATH.H,里面有个函数
   它是这样定义的extern float modf(float x, float *ip);
   调用它之后,整数部分被放入*ip, 小数部分作为返回值。
*/
//------------------------------------
void  timer1() interrupt 3     //T1中断
{ T1_cnt++;
  if(T1_cnt>T1_over_num)       //半周期的计数到达
  {  T1_cnt=0;
     pulse_out=!pulse_out;     //反复取反,产生方波
  }
  if(state_val==1)//连续按键
  {  if (sec_over_num<4000) //计时未到1s  
     {  sec_over_num++;  }
     else                   //计时到1s时,执行else的代码
     {  sec_over_num=0;
        if(second<2)        //当超过2秒,second一直为2,直到松开按键
        {second++;}         //连续按下键少于2秒时,second继续增1。
        else                //连续按下键2秒,以10次/秒的速度连续增加
        { TR1=0;
          switch (key_val)
          { case 0:   if(hz_shu<190)
                      {  hz_shu=hz_shu+10;} //增10Hz/秒
                      else
                      {  hz_shu=200;  }
                      T1_over_num=get_T1_over_num(hz_shu);
                       break;
            case 1:   if(hz_shu>10)
                      {  hz_shu=hz_shu-10; } //减10/秒
                      else
                      {  hz_shu=1;}
                      T1_over_num=get_T1_over_num(hz_shu);
                      break;

上一页  [1] [2] [3] [4]  下一页


Tag:单片机学习单片机开发,单片机原理,单片机教程单片机学习

《频率可调的方波信号发生器设计及电路》相关文章

分类导航
最新更新
热门排行