智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2778|回复: 1
打印 上一主题 下一主题

XS128的AD程序

[复制链接]

7

主题

66

帖子

0

精华

高级会员

Rank: 4

积分
740
威望
326
贡献
80
兑换币
0
注册时间
2010-5-8
在线时间
167 小时
跳转到指定楼层
1#
发表于 2010-12-15 21:56:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
写了个xs128的程序,想用AD中断服务函数,结果仿真时发现老进中断函数,可能是标志没清好,我试了好多种方法,就是找不到问题
这是设置
ATD0CTL1=0x00;          //8位精度,采样前不放电
  ATD0CTL2=0x42;          //标志位自动清零,禁止外部触发,中断允许
  ATD0CTL3=0x80;          //右对齐无符号,每次转换16个序列, No FIFO, Freeze 模式下继续转
  ATD0CTL4=0x02;          //采样时间为4个AD时钟周期,PRS=3,ATDClock=40MHz/8
   ATD0DIEN=0x00;          //禁止数字输入

用PIT实现10ms定时:
void interrupt 66 PIT_ISR(void)
{
  ATD0CTL5 = 0x30;     //启动AD转换
  PITTF|=0x01;            //清溢出标志
}
void interrupt 22 ATD_ISR(void)
{
  ATD_Read();
  ATD_flag = 1;
}
仿真时发现程序大部分时间在AD中断服务程序里面循环进行
有谁知道这是为什么?

1

主题

13

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2933
QQ
威望
1609
贡献
982
兑换币
950
注册时间
2011-12-21
在线时间
171 小时
2#
发表于 2012-3-8 16:53:25 | 只看该作者
不知道
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 16:40 , Processed in 0.100097 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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