智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 7278|回复: 15
打印 上一主题 下一主题

[资料] XS128 AD采样程序

[复制链接]

4

主题

50

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
495
威望
334
贡献
63
兑换币
161
注册时间
2012-9-9
在线时间
49 小时
跳转到指定楼层
#
发表于 2013-2-23 00:01:22 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
40贡献
//这个程序是用来采集2个传感器传回的信号进行转化,可是一起用的时候就出现问题。单独用一个AD没问题。恳求大神们拯救。。。。。我把其中一个信号线拔掉,可是显示屏上的数据还是会随着谐振电路位置的改变而改变。。。

#include "main.h"
//uint counttime,showtime;
//uchar pwmflag,modecount,delaycount;
unsigned int AdResult[4];
unsigned count;
unsigned int sampletimes=0;
void main(void) {
  /* put your own code here */
//  unsigned char value;
  SetBusCLK_64M();        // 选择待设定的总线频率
Port_init();            // IO口初始化
PWM_Init();             // PWM 初始化
LCD_Init();             // LCD 初始化
AD_Init() ;             // AD  初始化
PIT_Init();             // 中断初始化
// Capture_Init();         // 捕捉初始化
LCD_clear();            // 清屏幕  
  EnableInterrupts;       // 开总中断
  for(;;) {   
   
  }
  for(;;) {
  } /* loop forever */
  /* please make sure that you never leave main */
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 66 PIT0_ISR(void)
{
    DisableInterrupts;             // 关闭总中断
     
   
      
   
    LCD_Write_Num(0,5,AdResult[2],4);
    LCD_Write_Num(54,5,AdResult[3],4);
     PORTE_PE7=1;
    AdResult[3]=0;
    AdResult[2]=0;
   // AdResult[1]=0;
   // AdResult[0]=0;
    for(;sampletimes<20;sampletimes++) {
       while(!ATD0STAT_SCF);
      {
       // AdResult[0]+=ATD0DR0;
       // AdResult[1]+=ATD0DR1;
      
       AdResult[3]+=ATD0DR3;
      }
       while(!(ATD0STAT0&0x04)) ; {
        AdResult[2]+=ATD0DR2;}
      
    }
    AdResult[3]=AdResult[3]/20;
    AdResult[2]=AdResult[2]/20;
  //  AdResult[1]=AdResult[1]/20;
   // AdResult[0]=AdResult[0]/20;
    sampletimes=0;
    PORTE_PE7=0;                     // finish with 89us
      
      
      
      
      
  PORTB_PB7=~PORTB_PB7;
   
   
    PITTF_PTF0=1;                  // 清中断标志位
    EnableInterrupts;
}





34

主题

1157

帖子

0

精华

金牌会员

7月21号----华南赛正式开始!!!

Rank: 6Rank: 6

积分
1351

活跃会员奖章优秀会员奖章在线王奖章论坛元老奖章

威望
87
贡献
62
兑换币
56
注册时间
2013-9-18
在线时间
601 小时
15#
发表于 2013-12-18 09:18:56 | 只看该作者
:):)
回复

使用道具 举报

34

主题

1157

帖子

0

精华

金牌会员

7月21号----华南赛正式开始!!!

Rank: 6Rank: 6

积分
1351

活跃会员奖章优秀会员奖章在线王奖章论坛元老奖章

威望
87
贡献
62
兑换币
56
注册时间
2013-9-18
在线时间
601 小时
14#
发表于 2013-12-17 19:48:51 | 只看该作者
回复

使用道具 举报

0

主题

3

帖子

0

精华

注册会员

Rank: 2

积分
86
威望
56
贡献
10
兑换币
35
注册时间
2013-1-12
在线时间
10 小时
13#
发表于 2013-4-9 21:24:30 | 只看该作者
受教了
回复

使用道具 举报

1

主题

42

帖子

0

精华

高级会员

Rank: 4

积分
608
威望
346
贡献
162
兑换币
167
注册时间
2012-3-15
在线时间
50 小时
12#
发表于 2013-4-7 20:16:20 | 只看该作者
似乎多通道AD转换需要分时用的吧?
回复

使用道具 举报

4

主题

50

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
495
威望
334
贡献
63
兑换币
161
注册时间
2012-9-9
在线时间
49 小时
11#
 楼主| 发表于 2013-3-21 21:54:07 | 只看该作者
yyq20104668 发表于 2013-3-20 00:14
单通道转换不行吗?

单通道可以用,现在问题真的解决了,可惜到现在还不知问题是怎么解决掉的,不过现在可以正常使用了,哈哈
回复

使用道具 举报

0

主题

8

帖子

0

精华

注册会员

Rank: 2

积分
117
威望
66
贡献
39
兑换币
29
注册时间
2013-3-15
在线时间
6 小时
10#
发表于 2013-3-20 00:14:15 | 只看该作者
单通道转换不行吗?
回复

使用道具 举报

4

主题

50

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
495
威望
334
贡献
63
兑换币
161
注册时间
2012-9-9
在线时间
49 小时
9#
 楼主| 发表于 2013-3-2 23:35:02 | 只看该作者
:Q:Q:Q:Q:Q
回复

使用道具 举报

4

主题

50

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
495
威望
334
贡献
63
兑换币
161
注册时间
2012-9-9
在线时间
49 小时
8#
 楼主| 发表于 2013-3-2 23:34:37 | 只看该作者
:Q:Q:Q:Q问题还是没解决。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
回复

使用道具 举报

4

主题

50

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
495
威望
334
贡献
63
兑换币
161
注册时间
2012-9-9
在线时间
49 小时
7#
 楼主| 发表于 2013-2-23 14:38:08 | 只看该作者
tearedice 发表于 2013-2-23 13:21
很久以前写的程序,两路AD,当时是一边翻书一边写的,但是确实能用,亲自试过用两个红外对管控制舵机的。 ...

哦,你采用的是单次转换,我采用的是连续转换模式。嗯,先谢谢你,我试一下用单次转换的试一下
回复

使用道具 举报

4

主题

50

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
495
威望
334
贡献
63
兑换币
161
注册时间
2012-9-9
在线时间
49 小时
6#
 楼主| 发表于 2013-2-23 12:47:29 | 只看该作者
exiao 发表于 2013-2-23 09:11
谢谢分享

不知您有什么看法没有???
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-20 20:23 , Processed in 0.111597 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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