原创 【博客大赛】基于AD转换模块的单片机仿真和C语言开发设计

2015-10-31 20:40 4808 31 37 分类: MCU/ 嵌入式
    大学做过的一小设计,那会没事就弄这些AD\DA\MCU以及功能性的IC.
    后来一老师要求做的这个,设计一多路数据采集系统,当时资料大多都是0809,0832之类的ADDA,网上找了部分资料。因为手上刚好有几片TLC2543。后来就用的它,完全满足题目要求吧。配上PTORUES仿真最后显示出来了。记得当时给老师看的时候用电阻做的10路模拟数据,然后用螺丝刀旋转电位器给被人看。

    没有什么额外特别的功能,相当于做了个AD+显示,也称得上是最小的一个系统了。

技术要求:

1、设计一种多路模拟信号采集模块,从多个通道轮流采集数据一次,并将采集的结果存放在数组中。要求进行电路仿真实验,并使用C语言进行程序的开发。

简易框架如下。

20151031201856621.jpg
    最后用的PROTUES搭建的电路图。为了实现高速高精度多路数据采集。新片是需要串行输入数据的12 位 66kSPS ADC ,可编程 MSB/LSB 优先,可编程断电/输出数据长度,11 通道TLC2543。用的多路电位器模拟多路输入。软件分别测量电压。作为探测点。

20151031202411417.jpg

    程序的流程就是利用不断的循环查找有没有变化,再显示。这里不多说,可以看附件程序。
20151031203113603.jpg

读取AD程序时序如下(或者见附录):
/*启动A/D转换,并读取上次转换结果*/
uint read2543(CHN)
{
uchar i,temp;
uint read_ad_data = 0;
CHN=CHN<<4;
AD_IOCLK=0;
AD_CS=1;
AD_CS=0;
temp=CHN;
for(i=0;i<12;i++)
{
   read_ad_data=read_ad_data<<1;
   if((temp&0x80)!=0){AD_DATIN=1;}
   else{AD_DATIN=0;}
   if(AD_DATOUT){read_ad_data=read_ad_data+1;}
   AD_IOCLK =1;
   _nop_();_nop_();_nop_();_nop_();
   AD_IOCLK =0;
   _nop_();_nop_();_nop_();_nop_();
   temp=temp<<1;
}
AD_CS=1;
read_ad_data=read_ad_data&0x0fff; 

return(read_ad_data);
}

文章评论6条评论)

登录后参与讨论

luohui_88_479347620 2016-4-4 17:21

好资料!

luohui_88_479347620 2016-4-4 17:19

顶一个!!

用户421433 2016-1-29 15:03

不错 好东西

lyl_420819_659650253 2016-1-11 09:46

好资料!

用户1696937 2016-1-8 12:40

好资料!

用户1696937 2016-1-8 12:38

谢谢
相关推荐阅读
风来 2015-10-19 22:57
【创客】一路走来的科研之路-----致我的学生年代
      曾几何时,也不知到当初自己默默的走向了硬件嵌入式的道路,或者当初的兴趣只在那么一瞬间,而以后的路却很长。 记得是刚上大一那会,隔壁班的班长到处来宿舍宣传,参加机器人了参加机器人了,...
风来 2015-10-18 11:34
电流型运放资料
       以前对于电流型放大器和电压型放大器很疑惑。看了好多放大器的书,慢慢的了解了部分。下面文档分享出来。以供大家参考吧。电流反馈型运放直流特性不好,适合放大高频的交流信号;带宽不因频率增加...
风来 2015-09-29 08:50
【博客大赛】忆往昔做过小玩具之---摇摇棒
        每个相关专业的人事想必都从最小的系统出发,朝着处理器方面向ARM和DSP看起。但当初做过的那些小玩具,那些奠定了为自己再后面的技术路上走的一些小产品,当我们回过头时,做着那些与当初...
风来 2015-09-23 22:44
【创客】和智能家居无线系统的那些事
       智能家居这个项目的灵感和缘分因为好有一次几年了,自己都忘了,我的印象中只记得那会在西安,去和老同学见面,但是因为手上有这个智能家居的开关无线系统项目,所以在去西安的路上都是带着这板子...
风来 2015-09-22 21:45
【博客大赛】如何测量灵敏度指标
        谈到灵敏度这个指标大家都不陌生,在硬件系统里面很多东西涉及到灵敏度。   狭义的说灵敏度指的是能够接收一个信号的最低值。单位一般为UV或者DBUV. 分为有线和无线的,...
我要评论
6
31
关闭 站长推荐上一条 /2 下一条