qq_25295015 2015-01-13 08:44 采纳率: 0%
浏览 1871

就是在信号发生器,在死循环里,是应该怎样设置定时中断或者其他方法,能够使之在1分钟后停止输出?

就是在信号发生器,在死循环里,是应该怎样设置定时中断或者其他方法,能够使之在1分钟后停止输出?

void main()
{
    init();
    LCD_init();
    LCD_clear();
    LCD_write_str(0,0,"Delay:"); 
    LCD_write_str(8,0,"s,"); 
    LCD_write_str(11,0,"kHz"); 
    LCD_write_str(0,1,"Select:");
    LCD_write_str(9,1,"s,"); 
    LCD_write_str(12,1,"kHz");
    dula=0;
    wela=0;
    dacs=0;
    dawr=0;
    while(1)
    { 
      key_scan();
      if(conf==1)
      {       
        TR0=1;
        TR1=1;
        conf=0;
      } 
    }
}


void T0_time()interrupt 1
{
      if(delaypl==3)//T0中断中开始,更改频率,设置初值
      {
           TH0=(65536-333)/256;
           TL0=(65536-333)%256;
      }
      if(delaypl==5)
      {
          TH0=(65536-200)/256;
          TL0=(65536-200)%256;
      }
      if(delaypl==7)
      {
          TH0=(65536-143)/256;
          TL0=(65536-143)%256;
      }//T0中断中结束
        while(delaybx==1)//选择波形
        {
            P1=sin[k];
            k++;
            if(k==64)
            k=0;
        }
        while(delaybx==2)
        {
            P1=rectangle[k];
            k++;
            if(k==64)
            k=0;
        }
        while(delaybx==3)
        {
            P1=sawtooth[k];
            k++;
            if(k==64)
            k=0;
        }
      if(delaytime==0)
      {
        P1=0xff;
        TR1=0;
        TR0=0;
      }
}

void T1_time()interrupt 3
{
  TH1=(65536-50000)/256;
  TL1=(65536-50000)%256;
  num2++;
  if(num2==20)//中断T1中开始部分,满20为1s
  {
    num2=0;
    delaytime--;
    delayshi=delaytime/10+0x30;
    delayge=delaytime%10+0x30;
    LCD_write_char(6,0,delayshi);
    LCD_write_char(7,0,delayge);
  }//中断T1中结束部分
}
  • 写回答

3条回答 默认 最新

  • autocyz 2015-01-13 09:25
    关注

    新建一个输出停止标志output_stop_flag,在信号发生器中每次输出都要判断一下output_stop_flag的状态,若状态符合才输出信号。而在中断中,可以修改此标志位。即进中断就修改标志位。

    评论

报告相同问题?

悬赏问题

  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 路易威登官网 里边的参数逆向
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序
  • ¥15 Python输入字符串转化为列表排序具体见图,严格按照输入