Chinaunix首页 | 论坛 | 博客
  • 博客访问: 845200
  • 博文数量: 321
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 936
  • 用 户 组: 普通用户
  • 注册时间: 2013-02-23 11:25
文章分类

全部博文(321)

文章存档

2017年(1)

2016年(10)

2015年(61)

2014年(187)

2013年(62)

分类: 嵌入式

2014-05-14 23:21:23

ADC

1:模拟信号:时间上连续、数值上连续的物理量,如压力速度、温度等

   数字信号:时间上和数值上都是离散的,,离散的值只有真或者假(0或者1)

2:模拟信号----------à数字信号步骤:取样----------量化-------------编码

取样:每隔多少时间取一个数值(如0.1秒)

量化:取样出来的数值可能是小数,如7.5,不好用二进制数表示,就要量化成整数

编码:比如数值为4,二进制为100,利用宽度表示(脉冲)

3:8路A/D转换通道,但只有一个ADC装置,转换精度为10位,故转换后值范围为0~1024

最大转换率在2.5MHZ转换时钟下的500KSPS(每秒钟采样500千次)

4:ADC转换流程:初始化-------启动------转换结束----读取转换值

启动:CPU-----告诉硬件去做某个工作

判断转换结束:标志位。。中断,查询

5:初始化:①选择转换通道------------bit 3-5

-②设置转换频率bit6-13和bit 14

 

※6:开始转换:①将BIT[0]:设置成1,AD转换就开始

②判断转换是否开始while(rADCCON&0X1);因为转换开始后该位会自动清零

※①跟②是同时的;

7:转换结束:查询BIT[15]是否为1,为1表示转换结束

8:读取转换值:在寄存器ADCDAT0中BIT [9:0]

读取该值: XT=(rADCDAT0&0x3ff)

 

 

阅读(494) | 评论(0) | 转发(0) |
0

上一篇:12-LCD

下一篇:13-RTC

给主人留下些什么吧!~~