打印

第一个单片机程序,有点问题,请移步看看

[复制链接]
2141|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zifeiyuuuu|  楼主 | 2009-8-3 14:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机INT0循环计数外部的频率f1,f2,......fn(比如是85HZ), 但是在某个时刻fn会下降到65HZ以下,现在希望能够把下降前的f(n_1)存在另外一个变量中,同时保证,f(n_1)不会被fn覆盖掉, 请问要如何处理啊?  这一块实在不是很明白??

谢谢了。。。。。。。
子程序如下:
void Int_1() interrupt 2
    {
    EA=0;             //关中断,保护数据
    EA=0;
    TR1=0;
    period1=2*(TL1+Th1*256);
    fre1=1000000/period1;
    pre_fre1=fre1;              
    EA=1;TR0=1                //开中断   
   }

保存fre1,当检测到fre1下降到65HZ以下时,保证还能够知道下降之前的频率是多少?

相关帖子

沙发
zifeiyuuuu|  楼主 | 2009-8-3 15:08 | 只看该作者
最好是能用C给点代码,  谢谢了  ^_^.

使用特权

评论回复
板凳
zifeiyuuuu|  楼主 | 2009-8-3 15:24 | 只看该作者
本帖最后由 zifeiyuuuu 于 2009-8-3 17:13 编辑

void  Int_0() interrput 0
      {
           EA=0;
           EA=0;
           TR0=0;                                             //关中断保护计数值
           period0=2*(TL0+TH0*256);
           fre0=1000000/period0;
       if(fre0 >65)
              {
                   EA=1;TR0=1;
                   pre_fre0=fre0;
                   }
           else
               {rflag=1;            
                    }
这是我刚想的, 如果频率大于65HZ,则开中断,重新采样,否则把标志rflag置1, 跳出while(rflag==0);的死循环,再由 if(fre0 >65)
              {
                   EA=1;TR0=1;
                   pre_fre0=fre0;
                   }
中的pre_fre的值去做动作, 不知道这样可不可以达到我的目的(保存频率开始下降前的那个正常工作频率),希望大家给点建议。。。。。。

使用特权

评论回复
地板
zifeiyuuuu|  楼主 | 2009-8-4 08:31 | 只看该作者
再顶顶。。。。。。。。。

使用特权

评论回复
5
928315| | 2009-8-4 23:55 | 只看该作者
看了半天,没有弄明白要想什么,不过可以提醒你,中断里面要改变变量的话,变量要注意vllatile  的声明方式来定义变量。

使用特权

评论回复
6
zifeiyuuuu|  楼主 | 2009-8-6 10:22 | 只看该作者
主函数中有 while(rflag==0)死循环,等待外部中断进入,在死循环中持续监测频率,当检测到频率大于65HZ(正常85,110,130,或者180HZ),则继续开中断,而出死循环的条件是频率下降到65HZ以下,由rflag标志置1出死循环,同时能够知道出中断前的正常频率(我是保存在pre_fre0中),

不知道上面的终端程序能不过能够达到我的目的,

使用特权

评论回复
7
木易洋| | 2009-8-6 10:30 | 只看该作者
你那关中断开中断的那几句没写错吗?   保存fre0>65之前的频率能不能用  if(fre0>65)  {保存}

使用特权

评论回复
8
zifeiyuuuu|  楼主 | 2009-8-6 17:28 | 只看该作者
回楼上的, 应该没写错吧。。。   保存fre0>65之前的频率能不能用  if(fre0>65)  {保存}: 我是把频率保存在pre_fre0中啊,,,,

莫非我表达的还不够清楚,,,,,?

汗。。。。。。

使用特权

评论回复
9
戒指320| | 2009-8-6 20:33 | 只看该作者
我是路过!1

使用特权

评论回复
10
zifeiyuuuu|  楼主 | 2009-8-8 12:07 | 只看该作者
DDDDDDDD

使用特权

评论回复
11
zifeiyuuuu|  楼主 | 2009-8-10 09:27 | 只看该作者
dddddddddddddddddddd

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

96

帖子

0

粉丝