ad1674 的文献和接口方法
包含c52单片机和ad1674的接线方法
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- #include"reg51.h"
- sbit CS=P3^0;
- sbit A0=P3^1;
- sbit CE=P3^2;
- sbit RC=P3^3;
- sbit S8=P2^7;
- sbit CE1=P2^0;
- sbit BA=P2^1;
- unsigned char code Num_npt[10]={0XFC,0X60,0XDA,0XF2,0X66,0XB6,0XBE,0XE0,0XFE,0XF6};
- unsigned char code Num_pt[10]={0XFD,0X61,0XDB,0XF2,0X67,0XB7,0XBF,0XE1,0XFF,0XF7};
- unsigned char code Sel_num[4]={0x70,0xb0,0xd0,0xe0};
- void change(void);
- unsigned char read(void);
- void display(unsigned char Display);
- void delay(unsigned char n);
- unsigned char result;
-
- void main()
- {
- S8=1;
- CE1=0;
- BA=0;
- while(1)
- {
- delay(1);
- change();
- delay(1);
- result=read();
- delay(1);
- display(result);
- }
- }
- void change(void)
- {
- //转换控制过程
- CS=0;
- RC=0;
- A0=1;
- CE=1;
- delay(1);
- RC=0;
- CS=1;
- A0=1;
- CE=0;
- }
-
- unsigned char read(void)
- {
- //读取控制过程
- CS=0;
- A0=0;
- RC=1;
- CE=1;
- return P0;
- delay(1);
- CE=0;
- RC=1;
- CS=1;
- A0=0;
- //转换结果处理
- }
- void display(unsigned char Display)
- {
- unsigned char i=0,j=0;
- //显示数据处理
- double out;
- unsigned char w10=0;
- unsigned char w1=0;
- unsigned char w01=0;
- unsigned char w001=0;
- out=Display*0.0390625;
- w10=out/10;
- w1=out/1;
- w01=(out-w1)/0.1;
- w001=(out-w1-w01*0.1)/0.01;
- //点亮相应数码管
- for(i=0;i<4;i++)
- {
- P3=Sel_num[i];
- if(i==0) P1=Num_npt[w10];
- if(i==1) P1=Num_pt[w1];
- if(i==2) P1=Num_npt[w01];
- if(i==3) P1=Num_npt[w001];
- delay(1);
- }
- }
- void delay(unsigned char n)
- {
- unsigned char l=0;
- unsigned char m=0;
- for(l=0;l<10;l++)
- for(m=0;m<n;m++);
- }
复制代码
所有资料51hei提供下载:
AD1674001.7z
(2.79 MB, 下载次数: 74)
|