智能车制作
标题:
ATD模块的中断程序
[打印本页]
作者:
yzst
时间:
2010-3-12 20:16
标题:
ATD模块的中断程序
#include <hidef.h> /* common defines and macros */
#include <MC9S12XS128.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12xs128"
void wait() {
int i,j;
for(i=0;i<2000;i++)
for(j=0;j<1335;j++) ;
}
void ADCInit(void)
{
ATD0CTL2=0x42; //禁止外部触发, 中断允许
ATD0CTL3=0x08; //每次转换1个序列, No FIFO, Freeze模式下继续转
ATD0CTL4=0x01; //10位 采样时间为4个AD时钟周期,ATDClock=[BusClock*0.5]/[PRS+1]=2M
ATD0CTL5=0x80; //右对齐无符号 6:0特殊通道禁止,5:1连续转换 ,4:0单 通道轮流采样
ATD0DIEN=0x00; //禁止数字输入
}
word AD_wData = 0;
void main() {
float voltage;
DisableInterrupts;
ADCInit();
EnableInterrupts;
for(;;)
{
voltage = (float)AD_wData * 2.5 /1024;// 计算电压值
}
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 22 Int_AD0(void)
{
DisableInterrupts;
AD_wData = ATD0DR0; //Read out the Result Register
wait();
EnableInterrupts;
}
调试时连接出错,很奇怪,求高手指教。。。。。。
谁有ATD中断程序,给我参考下也行。。。。。。谢谢
作者:
yzst
时间:
2010-3-15 17:45
解决了,呵呵
作者:
laugh007smile
时间:
2010-3-15 22:40
你怎么解决的?
作者:
yzst
时间:
2010-3-16 20:14
回复
3#
laugh007smile
建立工程时没选支持float类型的数
作者:
hzj86911
时间:
2010-3-23 14:23
挺好!
呵呵
作者:
632693521
时间:
2010-3-24 17:13
哦
作者:
shuxinxiaozi
时间:
2010-3-25 15:15
恩,继续努力!
作者:
xiaokk
时间:
2010-3-26 14:53
想请问楼主,你写的计算电压值是什么意思啊?怎么个原理啊?
作者:
a497945491
时间:
2010-6-21 13:23
学习中……
作者:
zhouyong
时间:
2010-7-3 09:47
学习
作者:
zhouyong
时间:
2010-7-3 09:47
好 东西哟
作者:
simon3panda
时间:
2010-7-7 10:20
学习
作者:
李晓琪
时间:
2011-1-12 14:09
学习一下~~~~
作者:
fanfankaka123
时间:
2011-2-23 21:07
学习
作者:
pangyuo
时间:
2011-4-11 16:53
我是菜鸟,楼主能解释一下这段吗
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 22 Int_AD0(void)
{
DisableInterrupts;
AD_wData = ATD0DR0; //Read out the Result Register
wait();
}
作者:
wanbei
时间:
2011-4-18 19:44
好啊
作者:
laoniuxxj
时间:
2011-4-23 17:13
学习学习
作者:
道宁
时间:
2011-5-21 21:20
还行
作者:
蝴蝶树az
时间:
2012-3-6 16:13
羡慕你,还刚起步
作者:
蝴蝶树az
时间:
2012-3-27 16:05
学习
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2