您现在所在的是:

单片机论坛

回帖:0个,阅读:1070 [上一页] [1] [下一页]
* 帖子主题:

LPC938 AD转换问题

1922
周长锁
文章数:312
年度积分:53
历史总积分:1922
注册时间:2006/4/29
发站内信
08年优秀博客奖
发表于:2009/3/27 19:38:47
#0楼
lpc938有8路10位ad转换器,参考电压为电源电压。下面是编程注意事项:
1、一般使用lpc932的头文件,需要补充特殊寄存器的定义
#include
sfr adcon0  = 0x97;    //补充特殊寄存器定义
sfr adins  = 0xa3;
sfr admoda  = 0xc0;
sfr admodb  = 0xa1;
unsigned char xdata ad0dat5r _at_ 0xfff4;
unsigned char xdata ad0dat5l _at_ 0xfff5;
unsigned char xdata ad0dat6r _at_ 0xfff2;
unsigned char xdata ad0dat6l _at_ 0xfff3;
unsigned char xdata ad0dat7r _at_ 0xfff0;
unsigned char xdata ad0dat7l _at_ 0xfff1;
2、ad_init:初始化a/d转换
void ad_init(void)
{
admoda=0x10;   //通道1选择单次转换模式
adins=0xe0;         //选择通道ad05、06、07
}
3、转换过程
adcon0=0x05;     //固定通道,单次转换、立即启动
while(!(adcon0&0x08));  //等待转换完毕
adcon0=0x01;     //停止转换,否则影响相关端口的输入检测,如p0.2
ta=ad0dat7l;     //高位9:2
ta=ta
4、注意事项:当启动ad转换后,即使是没有使用的ad转换通道的端口也受到影响,具体表现为不论端口外部电平是高还是低,程序检测时都为0。所以在使用中要注意ad转换结束后要禁止ad通道。
----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=82504&Name=zhouchs
欢迎光临我的BLOG

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

31.2002