飞思卡尔单片机AD模块简述(1)
S12XS系列MCU的ATD模块共有27个寄存器,包括6个ATD转换控制寄存器,2个ATD转换状态寄存器,1个ATD比较使能寄存器,1个ATD比较方式寄存器,1个ATD转换输入使能寄存器和16个ATD转换结果寄存器(其中ATDCTL0~ATDCTL5和ATDSTAT0这7个寄存器为8位寄存器,其余寄存器都是16位寄存器)。
先给出一段例程
- void ATD_init(void)
- {
- ATD0CTL1=0x0f; //选择8位转换精度
- ATD0CTL2=0x40; //打开CCF快速清零位,关闭外部触发输入,关闭中断
- ATD0CTL3=0x08; //数据左对齐,non-fifo,转换序列长度为1
- ATD0CTL4=0xE3; //采样时间为24个ATD时钟周期,ATDCLK=8MB/8=1MHz
- }
下面对各个寄存器做一个介绍:
(1)ATD控制寄存器0
Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | |
读 | 保留 | 0 | 0 | 0 | WRAP3 | WRAP2 | WRAP1 | WRAP0 |
写 | ||||||||
复位值 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
WRAP [ 3 : 0 ]:回旋通道选择位。这些选择位只有在ATDCTL5的MULT位为1的情况下,也就是多通道转换模式下,才是有效的。WRAP [ 3 : 0 ] = 0时,为保留值。WRAP [ 3 : 0 ]:= x(1<x<15)时,在多通道转换模式下,当完成对第x个模拟输入通道(ANx)的ATD转换后,下一个ATD转换通道将回绕到第0个通道AN0,而不是第N+1个通道。
(2)ATD控制寄存器1
Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | |
读/写 | ETRIGSEL | SRES1 | SRES0 | SMP_DIS | ETRIGCH3 | ETRIGCH2 | ETRIGCH1 | ETRIGCH0 |
复位值 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 |
ETRIGSEL。外部触发源选择位。
SRES [ 1 : 0 ]:ATD转换精度选择位。
SRES1 | SRES0 | ATD转换精度 |
0 | 0 | 8位 |
0 | 1 | 10位 |
1 | 0 | 12位 |
1 | 1 | 保留 |
SMP_DIS:采样前放电控制位。1时对模拟信号采样前,释放ATD模块内部采样电容中的电荷。
ETRIGCH [ 3 : 0 ] :外部触发通道选择位。当ETRIGCH [ 3 : 0 ] 为x(0<x<15)时,选择第x个模拟输入通道ANx为外部触发信号。
(3)ATD控制寄存器2
Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | |
读 | 0 | AFFC | ICLKSTP | ETRIGLE | ETRIGP | ETRIGE | ASCIE | ACMPIE |
写 | ||||||||
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
AFFC:ATD转换CCF快速清零位。
ICLKSTP:停止模式内部时钟使能位。1位在停止模式下,ATD模块可以继续使用模块内部时钟ICLK进行ATD转换。0位在停止模式下,ATD模块停止当前的转换,退出停止模式后,ATD转换自动重新开始。
ETRIGLE:外部触发电平/边沿控制位。
ETRIGP:外部触发极性控制位。
ETRGLE | ETRIGP | 外部触发条件 |
0 | 0 | 下降沿 |
0 | 1 | 上升沿 |
1 | 0 | 低电平 |
1 | 1 | 高电平 |
ETRIGE:外部触发信号使能位。
ASCIE:ATD转换序列结束中断使能位。1为使能ATD转换序列结束中断,也就是说,当SCF=1时,将引发中断;0时,为禁止ATRD转换序列结束中断。
ACMPIE:ATD比较中断使能位。
(4)ATD控制寄存器3
Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | |
读/写 | DJM | S8C | S4C | S2C | S1C | FIFO | FRZ1 | FRZ0 |
复位值 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
DJM:结果寄存器数据对齐位。1表示结果寄存器中的数据位右对齐,0表示结果寄存器中的数据结果为左对齐。
S8C,S4C,S2C,S1C:A/D转换序列长度定义位,这4位定义了一个A/D转换序列的长度,默认S4C为1,即默认转换序列的长度为4。
S8C | S4C | S2C | S1C | 转换序列长度 |
0 | 0 | 0 | 0 | 8 |
0 | 0 | 0 | 1 | 1 |
0 | 0 | 1 | 0 | 2 |
0 | 0 | 1 | 1 | 3 |
0 | 1 | 0 | 0 | 4 |
0 | 1 | 0 | 1 | 5 |
0 | 1 | 1 | 0 | 6 |
0 | 1 | 1 | 1 | 7 |
1 | x | x | x | 8 |
FIFO:结果寄存器先进先出模式位。1表示先进先出模式,转换结果依次放在连续的结果寄存器中,当使用完最后一个结果寄存器后,会重新回到第一个结果寄存器存放转换结果。可以根据完成标志位判断哪个寄存器中的结果数据有效。0表示非先进先出模式。A/D转换结果在寄存器中的存放位置和转换序列中的顺序相关联,简单的说,第一次转换的结果放在第一个结果寄存器中,第二次转换的结果放在第二个结果寄存器中,依次类推。
FRZ [ 1 : 0 ]:后台调试冻结使能位。当调试程序时,如果遇到断点,有时希望此时ATD模块停止。
FRZ1 | FRZ0 | 工作状态 |
0 | 0 | 继续转换 |
0 | 1 | 未定义 |
1 | 0 | 完成当前转换,然后暂停 |
1 | 1 | 立即暂停 |
飞思卡尔单片机AD模块简述(1)相关推荐
- 飞思卡尔MC9S12X PIT模块
今天带着大家学习了解下飞思卡尔MC9S12XS PID模块. PIT模块概述 周期性中断定时器(Periodic Interrupt Timer,PIT)模块是一组24位的定时器,由8位微定时器和16 ...
- 飞思卡尔K60nbsp;FTM模块详…
原文地址:飞思卡尔K60 FTM模块详解[二] 作者:杨家二少 1.5.3 FTM功能详解 1. FTM模块的时钟 FTM模块的核心是一个16位计数器,该计数器的时钟来源可设置(由FT ...
- 飞思卡尔单片机教程(1)——从安装开始
放假了有木有!是不在家特别闲?是不是放假前立志学单片机来着?如果你拿到了天大精仪荣誉出品的JM60开发板,而且你还带回家了.. 结果安装起来好麻烦!!! WIN7 64位不可以用!USB3.0接口插上 ...
- 飞思卡尔单片机PLL时钟总线模块
要设定PWM模块首先要确定片内总线时钟,MC9S12XS系列单片机增加了时钟产生器模块,锁定内部频率更高的压控振荡器VCO频率,作为系统时钟,单片机的内部时钟可达80MHz,片内总线时钟可达40MHz ...
- 飞思卡尔单片机DZ60---实时中断
//RTI实时中断实验 //RTC模块包括一个状态和控制寄存器.一个8位计数寄存器和一个8位模数寄存器 //实时中断功能用来产生周期性中断.RTI有三个可选时钟源:LPO 1KHZ内部振荡器,32KH ...
- 飞思卡尔单片机编程与c语言,飞思卡尔单片机高效C语言编程(中文)
高效C语言编程实验,包括:CodeWarrior的使用.中断.数据段的定义.常量数据段.变量.位操作.数组.指针.函数内的自变量.优化方法.Manual Optimization(手工优化).Proc ...
- 飞思卡尔单片机PE开发工具硬件及软件
原文链接: http://blog.sina.com.cn/s/blog_8ebff8d7010121tm.html 1.HC(S)08系列 开发机硬件:USB-ML-12 CYCLONE PRO U ...
- 飞思卡尔单片机DZ60---EEPROM读写
//向EEPROM中写入数据,然后读出数据,赋值给PORTD,点亮相应的LED灯 #include <hidef.h> /* for EnableInterrupts macro */ # ...
- 飞思卡尔16位单片机(十五)—— 如何批量烧写芯片
我们在进行飞思卡尔单片机开发时,一般使用CodeWarrior软件和usbdm调试器进行.但是在实际生产过程中,采用这种方式烧写芯片效率比较低,而且很多情况下,程序的源码不希望对生产人员开放,本文就是 ...
最新文章
- Android 编译报错:Could not get resource
- 导向滤波python_导向滤波(Guided Filter)简要介绍
- java---switch
- SpringMVC源码阅读系列汇总
- WebSocket介绍
- Unity Tiling和offset的使用
- Python测试转岗网络安全测试,挑战年薪30W+
- 博文视点大讲堂第12期、第13期讲座文件下载
- PHP安装OPENSSL扩展模块
- 【笔记】软件质量保证(Software Quality Assurance)复习笔记
- 华为云PBX_基于华为云客服平台打造的比特百灵鸟AI管家解决方案发布
- 电梯实时智能监测与诊断:应用人工智能的案例研究和解决方案
- 实际经历告诉你,写一本技术书能赚多少钱(转)
- 5G NR——传输信道、逻辑信道
- 大众点评 mtgisg分析
- udk开发-稀里糊涂
- Filter Solutions 10.0+破解
- bash参考手册之三(基本的Shell特性)续二
- 老年食堂:让社区生活充满“幸福滋味”
- 详细设计说明书-模板(referrence)
热门文章
- JS面向对象编程(OOP)
- windows系统redis和ARDM(redis客户端)下载安装步骤【非常详细】
- 【157.1】golang+beego零基础入门实践教程it营大地
- python中的imp模块——让引用模块更加简单
- iKcamp出品|微信小程序|小试牛刀(视频)+发布流程|基于最新版1.0开发者工具初中级教程分享
- windows LSP 实现及多个lsp兼容安装的几个坑
- Blender2.9基础七:外部插件篇
- java对象转Json学习
- 软件工程(4)--螺旋模型
- sftp上传和下载文件