MC9S12G ADC配置

一、配置adc转换通道通过配置ATDCTL0寄存器前四位来进行配置,如果不设置或者设置全为零则所有通道都使用。二、设置adc转换的精度配置ATDCTL1寄存器SRES[1:0](即第六七位)设置精度为八位或者十位三、配置ATDCTL2的第六位为1,忽略外部中断触发。四、ATDCTL3=0x80;   //右对齐无符号,每次转换8个序列, 无缓冲, 冻结模式下继续
摘要由CSDN通过智能技术生成

抱歉,之前写的ADC配置有点坑,也只适用于部分情况。已经删除。这一次的版本将会好很多很多。


首先呢ADC的控制分为以下五个寄存器。

ATDCTL0中的WRAP3 WRAP2 WRAP1 WRAP0对应下表,是用于多通道连续采样时用的(单通道采样可以不用设置),且选择的是连续采样的最后一个通道。而第一个通道是在ATDCTL5中设定的,并递增。



ATDCTL1

  1. ETRIGSEL与后面的ETRIGCH3 ETRIGCH2 ETRIGCH1 ETRIGCH0配合使用,用于使用外部中断时的通道选择。
  2. SRES1 SRES0 用于选择AD转换的精度,如下表                                                                                                                
  3. SMP_DIS 设置采样前是否要对通道中的电容器进行放电(放电正确率会比较高,不放电读取的值有可能是上一次的)


ATDCTL2

  1. AFFC用于设置当中断触发时,中断标记位是要手动清除还是自动清除,手动清除的方式是(ATDSTAT0_SCF = 1;)自动清零的话只要去读取采样值的寄存器就会自动清除标记位了。
  2. ETRIGLE   ETRIGP 当使用adc外部中断的模式时使用的,用于设置那一种触发方式(上升沿,下降沿,高电平,低电平)
  3. ETRIGE:外部中断模式使能位、
  4. ASCIE:序列转换完成中断使能位(当采样并转换完成后触发)
  5. ACMPIE:AD比较中断使能位(当ad转换结果与设定值相同时触发)

ATDCTL3

  1. DJM 用于设置AD转换结果是要左对齐还是右对齐的设置位(右为1)
  2. S8C, S4C,S2C, S1C  用于设置序列转换次数(不是很懂什么意思,设置为1也可以16也可以)但是次数越多耗时越多。
  3. FIFO:寄存器先进先出位   一般设置为0,不使用
  4. FRZ[1:0]:用于设置当单片机处于freeze模式时要怎么做,                                                                            

ATDCTL4

  1. SMP[2:0]:用于设置采样时间                                                                                                                                               
  2. PRS[4:0]用于设置AD_clock的时钟周期。公式:ATDClock=[BusClock*0.5]/[PRS+1]

ATDCTL5

  1. SC与CD CC CB CA配合使用,当模式是单通道时,用于设置通道,当模式是多通道采样时,用于设置第一次采样的通道。
  2. SCAN:用于设置连续采样或者单次采样。
  3. MULT:用于设置单通道采样或者多通道采样。
多通道轮训询码及单通道中断代码如下


一、多通道轮询
void AD_Init(void)   
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MC9S12 Simulink库是一款专门为MC9S12微控制器设计的Simulink支持包。MC9S12是一种高性能、高集成度的16位微控制器,Simulink是一种功能强大的图形化建模和仿真工具。MC9S12 Simulink库的目的是为MC9S12微控制器提供一个易于使用的开发环境,使工程师能够通过图形化建模的方式进行系统设计、仿真和代码生成。 MC9S12 Simulink库提供了与MC9S12微控制器密切相关的模块和函数库,旨在帮助工程师快速、高效地开发嵌入式系统。这个库包括了MC9S12微控制器的所有外设模块,如GPIO、定时器、ADC、CAN、SPI等,以及与这些外设模块交互的函数库。工程师可以通过简单拖放的方式在Simulink中搭建整个系统的模型,并进行仿真和调试。此外,MC9S12 Simulink库还提供了代码生成功能,可以将Simulink模型自动生成可在MC9S12微控制器上运行的底层代码,这极大地简化了系统开发过程。 MC9S12 Simulink库的优点在于它将系统设计与底层编程相结合,使得工程师不需要深入了解底层硬件细节就能进行系统级开发。通过使用Simulink进行建模和仿真,工程师可以快速验证和优化系统设计,减少开发时间和成本。而且,由于MC9S12 Simulink库已经经过验证和优化,生成的代码具有较高的质量和可靠性,不容易出错。 综上所述,MC9S12 Simulink库为MC9S12微控制器提供了一个高效、便捷的开发环境,使工程师能够更加轻松地进行系统设计、仿真和代码生成。这个库的应用范围广泛,适用于各种嵌入式系统的开发,大大简化了开发过程,提高了开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值