查看: 9179|回复: 6

[S12] 【电子设计吧】真情奉献:MC9S12XS128 --ATD模块程序

[复制链接]

该用户从未签到

1

主题

2

帖子

0

新手上路

Rank: 1

积分
13
最后登录
1970-1-1
发表于 2010-3-14 20:55:04 | 显示全部楼层 |阅读模式
//------------------------------------------------------------------------------------------------------------------//
//功能说明:MC9S12XS128--ATD例程
//使用说明:由通道ATD0进行多通道A/D转换,转换值在B口显示
//程序设计:电子设计吧【
www.dzsj8.com
//设计时间:2010.03.12
//附加说明:淘宝店
http://shop60443799.taobao.com
//                    网站www.dzsj8.com
//                    技术群 103360642
//----------------------------------------------------------------------------------------------------------------//

#include       /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */

word AD_wValue;//AD转换结果


//--------------初始化函数----------------//
//-----时钟初始化程序--------//

void PLL_Init(void)      //PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1)
{                     //锁相环时钟=2*16*(2+1)/(1+1)=48MHz
  REFDV=1;           //总线时钟=48/2=24MHz
  SYNR=2;
  while(!(CRGFLG&0x08));
  CLKSEL=0x80;
}


//-----ATD初始化程序--------//

void AD_Init(void)     
{
  ATD0CTL1=0x00;   //选择AD通道为外部触发,8位精度,采样前不放电  
  ATD0CTL2=0x40;   //标志位自动清零,禁止外部触发, 禁止中断     
  ATD0CTL3=0xa0;   //右对齐无符号,每次转换4个序列, No FIFO, Freeze模式下继续转     
  ATD0CTL4=0x01;  //采样时间为4个AD时钟周期,PRS=1,ATDClock=6MHz  
  ATD0CTL5=0x30;   //特殊通道禁止,连续转换 ,多通道转换,起始通道为0转换4个通道  
  ATD0DIEN=0x00;   //禁止数字输入
}


//-----读取AD转换结果--------//

void AD_GetValue(word *AD_wValue)
{
  *AD_wValue=ATD0DR0;  //读取结果寄存器的值
}


//-----主函数--------//

void main(void)
{
  PLL_Init();
  AD_Init();         
  DDRB=0xFF;  
  PORTB=0x00;
  EnableInterrupts;  
  for(;;)
  {
    while(!ATD0STAT2_CCF0);    // 等待转换结束while(ATDOSTAT2_CCF0==1)
    AD_GetValue(&AD_wValue);   // 读取转换结果
    PORTB = (byte)AD_wValue;   // 在B口显示转换值
  }
}

【ps】凡在【电子设计吧】淘宝店购买核心板者均可获得MC9S12XS128模块程序、模块寄存器详解、模块原理分析以及其他有价值资料,并且会得到永久技术支持,附送资料内容具体见下图 资料图1.jpg
资料图3.jpg
我知道答案 目前已有6人回答
资料图2.jpg
回复

使用道具 举报

该用户从未签到

0

主题

5

帖子

0

新手上路

Rank: 1

积分
0
最后登录
1970-1-1
发表于 2010-3-25 20:17:37 | 显示全部楼层

回复:【电子设计吧】真情奉献:MC9S12XS128 --ATD模块程序

正好在学习中呢。刚开始入门

该用户从未签到

0

主题

12

帖子

0

新手上路

Rank: 1

积分
20
最后登录
2022-10-20
发表于 2011-2-26 10:08:14 | 显示全部楼层

RE:【电子设计吧】真情奉献:MC9S12XS128 --ATD模块程序

[face]008[/facedsd

该用户从未签到

0

主题

1

帖子

0

新手上路

Rank: 1

积分
0
最后登录
1970-1-1
发表于 2012-10-11 19:58:40 | 显示全部楼层

回复:【电子设计吧】真情奉献:MC9S12XS128 --ATD模块程序

挺好,谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

1

帖子

0

新手上路

Rank: 1

积分
10
最后登录
2021-2-24
发表于 2013-10-26 20:03:39 | 显示全部楼层

RE:【电子设计吧】真情奉献:MC9S12XS128 --ATD模块程序

回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

318

帖子

0

高级会员

Rank: 4

积分
880
最后登录
2018-2-27
发表于 2016-8-13 21:29:31 | 显示全部楼层
看看                           
回复 支持 反对

使用道具 举报

  • TA的每日心情
    慵懒
    2018-11-8 23:27
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    9

    主题

    74

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    309
    最后登录
    2025-1-22
    发表于 2016-10-13 10:02:41 | 显示全部楼层
    谢谢分享
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-10-28 19:55 , Processed in 0.090821 second(s), 28 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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