找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10787|回复: 20
收起左侧

TLC2543单片机程序 带Proteus仿真 电路原理图 AD转换实验

  [复制链接]
ID:175881 发表于 2017-4-5 04:20 | 显示全部楼层 |阅读模式
单片机与TLC2543接口实现ad转换,并且用数码管显示的仿真原理图如下(proteus仿真工程文件可到本帖附件下载)

TLC2543与单片机连接的电路图:
0.png
TLC2543是11通道12位串行A/D转换器.TLC2543中文资料详见:http://www.51hei.com/chip/4009.html

TLC2543单片机驱动源代码:
  1. #include<reg51.h>
  2. sbit SDO=P3^0;                                                        //定义端口
  3. sbit SDI=P3^1;
  4. sbit CS=P3^2;
  5. sbit CLK=P3^3;
  6. sbit EOC=P3^4;
  7. sbit P2_0=P2^0;
  8. sbit P2_1=P2^1;
  9. sbit P2_2=P2^2;
  10. sbit P2_3=P2^3;
  11. unsigned char code xiao[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
  12.                                                                                 //共阳极数码管0-9的段码
  13. //**********************************
  14. //延时程序
  15. //**********************************
  16. void delay(unsigned char n)
  17. {   
  18.     unsigned char i,j;
  19.        for(i=0;i<n;i++)
  20.          for(j=0;j<125;j++);
  21. }
  22. //**********************************
  23. //向TLC2543写命令及读转换后的数据
  24. //**********************************
  25. unsigned int read2543(unsigned char con_word)
  26. {
  27.   unsigned int ad=0,i;
  28.   CLK=0;                                                                //时钟首先置低
  29.   CS=0;                                                                          //片选为0,芯片工作
  30.   for(i=0;i<12;i++)                                 
  31.   {
  32.     if(SDO)                                                                  //首先读TLC2543的一位数据
  33.          ad=ad|0x01;
  34.          SDI=(bit)(con_word&0x80);                        //向TLC2543写一位数据
  35.          CLK=1;                                                                  //时钟上升沿,TLC2543输出使能
  36.          delay(3);
  37.          CLK=0;                                                                  //时钟下降沿,TLC2543输入使能
  38.          delay(3);
  39.          con_word<<=1;
  40.          ad<<=1;
  41.    }
  42.    CS=1;
  43.    ad>>=1;
  44.    return(ad);
  45. }
  46. void main()
  47. {
  48.    unsigned int ad;
  49.    while(1)
  50.     {
  51.            ad=read2543(0x00);
  52.            P0=xiao[ad/1000];                                           //千位数字的段码
  53.            P2_0=1;                                                           //显示千位
  54.            delay(3);
  55.            P2_0=0;
  56.            P0=xiao[(ad%1000)/100];                         //百位数字的段码
  57.            P2_1=1;                                                           //显示百位
  58.            delay(3);
  59.            P2_1=0;
  60.            P0=xiao[(ad%100)/10];                           //十位数字的段码
  61.            P2_2=1;                                                           //显示十位


  62. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

0.png

该系列源码包含有很多非常经典,代码风格十分规范,而且注释详细的单片机例程,还带仿真,对于MCU学习特别是初学者是很有帮助的,全部源码下载(共几十个项目):http://www.51hei.com/bbs/dpj-80575-1.html

本例程下载(含proteus仿真工程文件与源码):
TLC2543单片机程序 带Proteus仿真L9_4.rar (49.98 KB, 下载次数: 423)

评分

参与人数 3黑币 +15 收起 理由
雨夜黑 + 5
midrich + 5 很给力!
QQwert + 5 赞一个!

查看全部评分

回复

使用道具 举报

ID:248220 发表于 2017-11-10 22:11 | 显示全部楼层
学习学习
回复

使用道具 举报

ID:291815 发表于 2018-4-16 13:55 | 显示全部楼层
挺好的程序和仿真
回复

使用道具 举报

ID:338418 发表于 2018-5-25 22:30 | 显示全部楼层
呀,值得学习
回复

使用道具 举报

ID:380141 发表于 2018-9-4 15:20 | 显示全部楼层
太好了!正在找这东西!很详细很实用!多谢多谢!
回复

使用道具 举报

ID:229772 发表于 2018-12-10 15:38 | 显示全部楼层
是个好东西
回复

使用道具 举报

ID:523799 发表于 2019-5-5 10:16 | 显示全部楼层
谢谢大神
回复

使用道具 举报

ID:542761 发表于 2019-5-20 13:35 来自手机 | 显示全部楼层
厉害,都是一群大神
回复

使用道具 举报

ID:320935 发表于 2019-5-20 15:21 | 显示全部楼层
学习学习
回复

使用道具 举报

ID:502774 发表于 2019-5-26 16:15 | 显示全部楼层
感觉误差有点大呀?
回复

使用道具 举报

ID:557008 发表于 2019-6-7 09:02 | 显示全部楼层
挺实用
回复

使用道具 举报

ID:552564 发表于 2019-6-11 22:53 | 显示全部楼层
非常感谢分享!
回复

使用道具 举报

ID:544860 发表于 2019-6-20 14:31 | 显示全部楼层
请问
proteus8.8为什么打不开呀
回复

使用道具 举报

ID:537524 发表于 2019-7-25 10:08 | 显示全部楼层
很不错
回复

使用道具 举报

ID:311989 发表于 2019-10-22 09:33 | 显示全部楼层
顶,值得收藏
回复

使用道具 举报

ID:27254 发表于 2020-2-9 10:36 | 显示全部楼层
楼主辛苦,谢谢发帖。
回复

使用道具 举报

ID:432653 发表于 2020-2-19 17:04 | 显示全部楼层
这是做什么用的?
回复

使用道具 举报

ID:743795 发表于 2020-5-31 10:58 | 显示全部楼层
学习了 厉害
回复

使用道具 举报

ID:825404 发表于 2020-10-7 16:22 | 显示全部楼层
很好用,谢谢楼楼主
回复

使用道具 举报

ID:978558 发表于 2021-11-24 09:26 | 显示全部楼层
简明详细,感谢楼主
回复

使用道具 举报

ID:926972 发表于 2022-11-30 11:25 | 显示全部楼层
不错,准备精研一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表