智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1361|回复: 2
打印 上一主题 下一主题

求大神讲解一个程序,关于AD测频

[复制链接]

7

主题

23

帖子

0

精华

注册会员

Rank: 2

积分
106
威望
88
贡献
18
兑换币
45
注册时间
2013-7-12
在线时间
0 小时
毕业学校
北方
跳转到指定楼层
1#
发表于 2013-7-27 10:40:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5贡献
主要是程序的前半部分正弦波转换方波的部分不是很理解
if((ADresult_latter-ADresult)<=1000)这句话里的1000是什么意思?是说正弦波最高点减去下一个信号的差吗?那为什么是1000?
以下是部分程序,求大神讲解

#include "common.h"
#include "include.h"
#include "HD7279.h"

extern volatile u32 LPT_INT_count;
extern volatile u8  pit_flag;

#define INT_COUNT  100
unsigned int i;
//u32 l,m,n,p,q,r,s,t,u,test;
void  main()
{
  u16 ADresult,ADresult_latter=0;
  adc_init(ADC1, SE16);
  gpio_init(PORTD,11,GPO,HIGH);  

  gpio_set(PORTD,11,HIGH);

  u16 count=0;
    DisableInterrupts;                                                         
    lptmr_counter_init(LPT0_ALT1, INT_COUNT, 2, LPT_Rising);                  //初始化脉冲计数器,用LPT0_ALT1,即PTA19输入,每隔INT_COUNT产生中断,延时2个时钟滤波,上升沿触发

    init_7279();
    send_byte7279(0xa4);//复位
    send_byte7279(0xbf);//测试
    for(i=0;i<50000;i++)
      long_delay();
    send_byte7279(0xa4); //复位

    pit_init_ms(PIT0, 1000);                                                   //定时 1秒 中断


  for(;;)
  {
    ADresult=ad_once(ADC1, SE16, ADC_16bit);
    if(ADresult_latter<ADresult)
      ADresult_latter=ADresult;
    else
      break;
  }

  EnableInterrupts;

  while(1)
  {
    ADresult=ad_once(ADC1, SE16, ADC_16bit);
    if((ADresult_latter-ADresult)<=1000)
    {
      gpio_set(PORTD,11,HIGH);
      long_delay();
    }
    else
      gpio_set(PORTD,11,LOW);
    if( pit_flag > 0 )                                                         
    {            
            count = LPTMR0_CNR;   //保存脉冲计数器计算值
              int x,a,b,c,d,e,f,g,h;
               x=LPT_INT_count * INT_COUNT +  count;
lptmr_counter_clean();            LPT_INT_count = 0;                                                 //清空LPT中断次数            pit_flag = 0;                                                      //清空pit中断标志位        }  }  




7

主题

23

帖子

0

精华

注册会员

Rank: 2

积分
106
威望
88
贡献
18
兑换币
45
注册时间
2013-7-12
在线时间
0 小时
毕业学校
北方
2#
 楼主| 发表于 2013-7-27 19:46:28 | 只看该作者
肿么木有人....
回复

使用道具 举报

7

主题

23

帖子

0

精华

注册会员

Rank: 2

积分
106
威望
88
贡献
18
兑换币
45
注册时间
2013-7-12
在线时间
0 小时
毕业学校
北方
3#
 楼主| 发表于 2013-7-27 20:27:43 | 只看该作者
有没有人啊...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-21 04:29 , Processed in 0.149158 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表