找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10108|回复: 6
打印 上一主题 下一主题
收起左侧

单片机PCF8591 AD转换仿真实验(附源程序)

  [复制链接]
跳转到指定楼层
楼主
编程实现:将PCF8591的AIN0引脚输入的0~5V模拟电压(由电位器产生)进行A/D转换,并将转换结果输出到P0口(P0口接8个LED),要求P0口的8个灯能实时反映出输入的模拟电压

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源码:
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. sbit SCL=P2^1;
  4. sbit SDA=P2^0;
  5. void start()
  6. {        SDA=1;
  7.         SCL=1;
  8.         _nop_();
  9.         _nop_();
  10.         SDA=0;
  11.         _nop_();
  12.         _nop_();
  13.         SCL=0;}
  14. void stop()
  15. {        SDA=0;
  16.         SCL=0;
  17.         _nop_();
  18.         _nop_();
  19.         SCL=1;
  20.         _nop_();
  21.         _nop_();
  22.         SDA=1;}
  23. void rack()
  24. {        SCL=1;
  25.         _nop_();
  26.         _nop_();
  27.         SCL=0;}
  28. void nack()
  29. {        SDA=1;
  30.         SCL=1;
  31.         _nop_();
  32.         _nop_();
  33.         SCL=0;
  34.         SDA=1;}
  35. void wbyte(unsigned char tmp)
  36. {        unsigned char i;
  37.         for(i=0;i<8;i++)
  38.         {        tmp<<=1;
  39.                 SDA=CY;
  40.                 SCL=1;
  41.                 _nop_();
  42.                 _nop_();
  43.                 SCL=0;}
  44.         rack();}
  45. unsigned char rbyte()
  46. {        unsigned char i,d;
  47.         for(i=0;i<8;i++)
  48.         {        SCL=1;
  49.                 d<<=1;
  50.                 d=d|SDA;
  51.                 SCL=0;}
  52.         return d;}
  53. unsigned char rdata()
  54. {        unsigned char d;
  55.         start();
  56.         wbyte(0x90);
  57.         wbyte(0);
  58.         start();
  59.         wbyte(0x91);
  60.         d=rbyte();
  61.         nack();
  62.         stop();
  63.         return d;}
  64. void main()
  65. {        while(1)
  66.                 P0=rdata();}
复制代码

全部资料51hei下载地址:
AD转换源程序(PCF8591).zip (62.31 KB, 下载次数: 192)
AD转换.zip (18.72 KB, 下载次数: 122)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏5 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:110278 发表于 2020-2-26 13:01 | 只看该作者
挺详细的。好资料,51黑有你更精彩!!!
回复

使用道具 举报

板凳
ID:703516 发表于 2020-5-18 00:01 | 只看该作者
麻烦问一下,dsn仿真文件只能用Proteus7.5才能打开吧?
回复

使用道具 举报

地板
ID:754432 发表于 2020-5-18 01:15 | 只看该作者
新手路过,看起来好厉害的样子
回复

使用道具 举报

5#
ID:490250 发表于 2021-4-16 16:07 | 只看该作者
这个不错的 好用
回复

使用道具 举报

6#
ID:773063 发表于 2021-5-9 15:20 | 只看该作者

挺详细的。好资料,51黑有你更精彩!!!
回复

使用道具 举报

7#
ID:350104 发表于 2021-6-12 22:08 | 只看该作者
比较简单直观 方便学习  
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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