1、主要寄存器功能说明

(1)ATDCTL0:通道循环选择位,在多通道转换时,决定从哪个通道循环返回值AN0。

(2)ATDCTL1:其中ETRIGSEL、ETRIGCH3--ETRIGCH0决定外部触发源选择(即用外部事件启动AD转换);SRES(1:0)这两位决定转换精度(8、10、12位)。

(3)ATDCTL2:控制标志位快速清除、外部触发源设置(极性、边沿、使能)、序列转换结束中断使能、比较中断使能。

(4)ATDCTL3:DJM(结果数据寄存器对齐方式,只有无符号结果类型)、S8C--S1C(序列转换长度)、结果数据FIFO模式、背景调试状态冻结与否。

(5)ATDCTL4:SMP2--SMP0(采样时间选择)、PRS4--PRS0(ATD模块时钟分频系数,用于设置工作时钟,500KHz--2MHz)。

(6)ATDCTL5:SC(特殊转换通道使能)、SCAN(连续转换模式设置)、MULT(多通道/单通道模式)、CD--CA(转换通道或起始通道)。向这个寄存器写数据,会启动ATD转换,因此也可作为ATD模块启动开关来操作。

2、ATD初始化代码示例

; 模块初始化

ADC_init:

PSHA

PSHB

PSHY

PSHX

MOVB  #$01,ATD0CTL0      ; 一共两个通道 0,1 。  从1号通道循环回到0

MOVB  #$0F,ATD0CTL1      ; 外部触发通道选择,未启用,可任意值

MOVB  #$02,ATD0CTL2      ; 开启序列转换完成中断  ,ATD0_ISR

MOVB  #$90,ATD0CTL3      ; 8位精度,右对齐

MOVB  #$0B,ATD0CTL4      ; ATD时钟设置,分频系数11,  f=Fbus/2(fpiv+1),  1.66MHz ,采样时间:4个时钟周期    ,一次转换大约10μs

PULX

PULY

PULB

PULA

RTC

; 启动一次转换

ADC_start:

PSHA

PSHB

PSHY

PSHX

MOVB  #$10,ATD0CTL5      ; 多通道转换  ,一个序列转换结束后进入空闲状态

PULX

PULY

PULB

PULA

RTC

3、补充说明

(1)如果使用多个不连续的通道进行AD转换,其结果数据寄存器的对应关系只和通道顺序有关,和通道号无关,例如使用通道0、2、6进行转换,序列长度为3,结果寄存器的ATDDR0、ATDDR1、ATDDR2分别对应0、2、6通道的转换结果。(通道循环应该设置为6,6号通道完成后,即循环返回至0)

(2)中断模式处理转换序列时,进入中断后,先关中断使能,处理完成后,再开中断使能。

4、AD中断程序

XDEF ATD0_ISR

XREF    atd_buff,atd_flg

ATD0_ISR:

; Write your interrupt code here ...

MOVB  #$00,ATD0CTL2            ; 关中断

LDX  #ATD0DR0L

LDY  #atd_buff

LDAB  #2

save_data:

MOVB  2,X+,1,Y+      ; 8位模式,数据保存在每个结果寄存器的 L ,所以要+2

DBNE  B,save_data

MOVW  #$0003,ATD0STAT2            ; 清除CCF标志 , 16bit

MOVB  #$80,ATD0STAT0              ; 清除转换结束标志

MOVB  #$01,atd_flg

MOVB  #$02,ATD0CTL2            ; 开中断

RTI

C语言ATD1SC,2020-10-13_ATD(模数转换)模块介绍相关推荐

  1. C语言习题(2020.10.31)

    题目:假设有40个学生被邀请来给餐厅的饮食和服务质量打分,分数划分为1~10这10个等级(1表示最低分,10表示最高分)编程统计并按如下格式输出餐饮服务质量调查结果. #include <std ...

  2. Nginx-接入层Nginx架构及模块介绍

    文章简介: 1)帮助大家对Nginx有一定的认识 2)熟悉Nginx有哪些应用场景 3)熟悉Nginx特点和架构模型以及相关流程 4)熟悉Nginx定制化开发的几种模块分类 文章相关视频讲解: C/C ...

  3. 解读Go语言的2020:变革前夜

    本文转载自 InfoQ,作者 郝林 在作者去年年底撰写<解读 Go 语言的 2019>的时候,绝没有想到 2020 年将会如此的不平凡.全球范围内的疫情在大大地限制了人们和企业的对外活动之 ...

  4. 微生物组-宏基因组分析第9期(报名直播课免费参加线下2020.10本年最后一期)

    福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现决定安排扩增子16S分析.宏基因组.Python课程和转录组的线上直播课.报名参加线上直播课的老师可在1年内选择参加同课程的一次线下课 ...

  5. 宏基因组分析第9期(报名直播课免费参加线下2020.10本年最后一期)

    福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现决定安排扩增子16S分析.宏基因组.Python课程和转录组的线上直播课.报名参加线上直播课的老师可在1年内选择参加同课程的一次线下课 ...

  6. python平均工资-2020 10大薪资最高的IT编程语言排名

    坊间流传一句俗语: 三百六十行,行行转IT. IT行业自2016年首次超过金融行业以后,一直到现在每年都是稳居高薪第1名的宝座. 本文盘点了2020 10大薪资最高的IT编程语言排名,看看是哪些编码技 ...

  7. 【不忘初心】Win10_20H2_2009_19042.572_X64_六合一_[纯净精简版](2020.10.29)

    母版来自MSDN  WIN10_20H2.19042.508,集成补到19041.572,20H2相比1909 2004版本要稳定很多,精简起来也比较顺手,相对来说体积比之前的要小一些,精简方法基本上 ...

  8. 用java语言实现2020年1月1号到2022年7月3号之间的间隔天数

    用java语言实现2020年1月1号到2022年7月3号之间的间隔天数 1.思路 1.算出2020年1月1号到2021年12月31号之间的间隔天数sumYear 2.算出2022年1月1号到2022年 ...

  9. Go语言:谷歌google的uuid模块的基本用法

    uuid是谷歌开发的生成16字节UUID的模块,实现了RFC4122:对UUID的v1,v2,v3,v4,v5等各个版本都有实现.一般来说,如果只是要生成唯一序列号的话,通常用v4版本,New()和N ...

  10. php上传图片到数据库2020,弱鸡养成第三天(2020.10.19)-php连接并简单操作数据库

    弱鸡养成第三天(2020.10.19)-php连接并简单操作数据库 弱鸡养成第三天(2020.10.19)-php连接并简单操作数据库 php连接数据库 连库基本操作 首先找到php.ini 文件中的 ...

最新文章

  1. 前端开发进阶手册.pdf
  2. python常用英语单词-3天教你掌握Python必备常用英语词汇
  3. 转载:SqlServer数据库性能优化详解
  4. 《深入理解计算机系统》读书笔记九:寄存器结构
  5. Linux系统下用python写程序,用Python写个Linux系统命令
  6. Consul入门02 - 运行Consul代理
  7. [转]SpringMVC+Hibernate+Spring 简单的一个整合实例
  8. 优化查询、访问量大时的优化
  9. ECCV 2020 Spotlight | 多标签长尾识别前沿进展
  10. 如何给 SAP Fiori Elements 应用的字段添加 value help
  11. ie6、7 下input的边框问题 ?
  12. 【转】EntityFramework之领域驱动设计实践(三)
  13. c# 全局钩子实现扫码枪获取信息。
  14. 编写一个简单的widget
  15. (私人收藏)配色宝典
  16. Linux下的好用的图片压缩软件
  17. 什么是探索性测试?探索性测试有哪些方法?
  18. 第6章 项目进度管理
  19. datax(二)datax on azkaban架构设计之datax as a service
  20. 苹果Mac远程控制软件:Screens

热门文章

  1. 合作分享还是独占独食?阿里健康、京东健康走出了两条不同的路
  2. 行为模型实例 php,JS中事件模型的实例详解
  3. 俄罗斯计算机科学留学,中南大学计算机科学与技术、俄罗斯硕士留学有没有寒暑假班?...
  4. vue写进html,vue中html页面写入$t(‘’)怎么显示
  5. java导出类_java导出excel工具类
  6. Python基础入门:正则re.sub使用自定义替换方法
  7. Python基础教程:列表推导式对比For循环执行效率
  8. Python:colorlog的三个例子
  9. python 类属性和对象属性--定义和作用域
  10. python 各层级目录下的import方法