智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1920|回复: 3
打印 上一主题 下一主题

AD模块程序

[复制链接]

1

主题

5

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
254
QQ
威望
231
贡献
21
兑换币
0
注册时间
2010-11-2
在线时间
1 小时
跳转到指定楼层
1#
发表于 2010-11-2 10:58:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AD模块程序示例

Void ATD_Init(void){

ATD0CTL1 = 0x00;
//8位精度,不放电


ATD0CTL2 = 0x42;
//快速清除标志位,禁止外部触发,使能中断


ATD0CTL3=0x8a;//右对齐,每序列4次转换,不用FIFO,进入FreezeMode完成当前转换


ATD0CTL4 = 0x03;
//采样用4个ATD周期,F(ATD)=1MHz[bus clock为8MHz]


ATD0CTL5 = 0x29;
//SCAN模式,单通道,通道9


ATD0DIEN = 0x00;
//禁止数据输入

}

Void main(void){

ATD_Init();

………………………………………

}

#pragma CODE_SEG NON_BANKED

void interrupt 22 Int_AD0(void)

{ DisableInterrupts;


AD_wData = ATD0DR0L; //读ATD转换的寄存器值(低八位)


ATD0STAT0_SCF=0;
//(当AFFC为1时,写0清零;为1 时写1清零)

EnableInterrupts;


}

注意:ATD模块要着重注意:(1)标志位清零(比较复杂)(2)多通道转换后的储存顺序(3)精度的选择和转

2

主题

17

帖子

0

精华

高级会员

Rank: 4

积分
748
QQ
威望
269
贡献
469
兑换币
14
注册时间
2010-10-14
在线时间
5 小时
2#
发表于 2010-12-28 17:58:37 | 只看该作者
谢谢分享!
回复 支持 反对

使用道具 举报

1

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
397
QQ
威望
295
贡献
66
兑换币
0
注册时间
2010-10-23
在线时间
18 小时
3#
发表于 2011-8-27 16:15:22 | 只看该作者
:):)
回复 支持 反对

使用道具 举报

3

主题

57

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1179
威望
439
贡献
438
兑换币
39
注册时间
2012-2-8
在线时间
151 小时
毕业学校
北方民族大学
4#
发表于 2012-2-13 15:38:55 | 只看该作者
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-20 18:49 , Processed in 0.041868 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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