找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机驱动AD1674的接口电路与源程序和Proteus仿真资料下载

[复制链接]
跳转到指定楼层
楼主
ad1674 的文献和接口方法
包含c52单片机和ad1674的接线方法

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


单片机源程序如下:
  1. #include"reg51.h"

  2. sbit CS=P3^0;
  3. sbit A0=P3^1;
  4. sbit CE=P3^2;
  5. sbit RC=P3^3;
  6. sbit S8=P2^7;
  7. sbit CE1=P2^0;
  8. sbit BA=P2^1;

  9. unsigned char code Num_npt[10]={0XFC,0X60,0XDA,0XF2,0X66,0XB6,0XBE,0XE0,0XFE,0XF6};
  10. unsigned char code Num_pt[10]={0XFD,0X61,0XDB,0XF2,0X67,0XB7,0XBF,0XE1,0XFF,0XF7};
  11. unsigned char code Sel_num[4]={0x70,0xb0,0xd0,0xe0};

  12. void change(void);
  13. unsigned char read(void);
  14. void display(unsigned char Display);
  15. void delay(unsigned char n);

  16. unsigned char result;

  17. void main()
  18. {
  19.          S8=1;
  20.         CE1=0;
  21.         BA=0;
  22.    while(1)
  23.         {
  24.                 delay(1);
  25.                 change();
  26.                 delay(1);
  27.                 result=read();
  28.                 delay(1);
  29.                 display(result);
  30.         }
  31. }


  32. void change(void)
  33. {
  34. //转换控制过程
  35.           CS=0;
  36.         RC=0;
  37.         A0=1;
  38.         CE=1;
  39.         delay(1);
  40.         RC=0;
  41.         CS=1;
  42.         A0=1;
  43.         CE=0;
  44. }

  45. unsigned char read(void)
  46. {
  47.   //读取控制过程
  48.          CS=0;
  49.         A0=0;
  50.         RC=1;
  51.         CE=1;
  52.         return P0;
  53.         delay(1);
  54.         CE=0;
  55.         RC=1;
  56.         CS=1;
  57.         A0=0;
  58. //转换结果处理   
  59. }

  60. void display(unsigned char Display)
  61. {
  62.         unsigned char i=0,j=0;
  63. //显示数据处理
  64.         double out;
  65.         unsigned char w10=0;
  66.         unsigned char w1=0;
  67.         unsigned char w01=0;
  68.         unsigned char w001=0;
  69.         out=Display*0.0390625;
  70.         w10=out/10;
  71.         w1=out/1;
  72.         w01=(out-w1)/0.1;
  73.         w001=(out-w1-w01*0.1)/0.01;

  74. //点亮相应数码管
  75.           for(i=0;i<4;i++)
  76.         {
  77.                 P3=Sel_num[i];
  78.                 if(i==0)        P1=Num_npt[w10];
  79.                 if(i==1) P1=Num_pt[w1];
  80.                 if(i==2) P1=Num_npt[w01];
  81.                 if(i==3) P1=Num_npt[w001];
  82.                 delay(1);        
  83.         }
  84. }

  85. void delay(unsigned char n)
  86. {
  87.          unsigned char l=0;
  88.         unsigned char m=0;
  89.         for(l=0;l<10;l++)
  90.                 for(m=0;m<n;m++);
  91. }
复制代码

所有资料51hei提供下载:
AD1674001.7z (2.79 MB, 下载次数: 74)


评分

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

查看全部评分

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

使用道具 举报

沙发
ID:1097512 发表于 2023-10-27 15:00 | 只看该作者
请问这个proteus怎么打开?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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