⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ad1674.c

📁 ad1674转换试验
💻 C
字号:
#include<reg51.h>
#include<stdio.h>
#include<intrins.h>

sbit  L1=P3^3;
sbit  L2=P3^2;
sbit  L3=P3^1;
sbit  L4=P3^0;
               //定义端口
sbit CE=P1^4;
sbit CS=P1^1;                 //定义端口
sbit RC=P1^3;
sbit A0=P1^2;
sbit STS=P1^0;
					
unsigned char Tab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF};
               
static unsigned char i,j,w,p,q,r,s,t,a,b,c,d,e,f,g,h;

unsigned int l,k,n,S;
 float m; 

Delay(ms)
 {
      while(ms--)
{unsigned char i;
for(i=0;i<20;i++)
{;}
}
}

void INIT_ADC()
{
	CE=0;
	CS=0;
	RC=0;
	A0=1;
	CE=1;
	while(STS==1);
	CE=0;
}
unsigned int dec(unsigned int n)
{ 
  unsigned int a[4];
  unsigned int r;
  a[0]=n/4096;
  a[1]=n%4096/256;
  a[2]=n%256/16;
  a[3]=n%16;
  r=a[0]*4096+a[1]*256+a[2]*16+a[3];
  return r;
}




void main()
{
	TH0=(65535-5000)/256;         // 开启记时器设置
	TL0=(65535-5000)%256;
	EA=1;
	ET0=1;
        TMOD=0x01;
	TR0=1;
	while(1)
	{	
	
		INIT_ADC();       //启动ad转换
		A0=0;
		CS=1;
		CE=1;	
	  	RC=1;
		CE=0;
		CS=0;
		_nop_();
		CE=1;
		//传值
		k=P0;
		CE=0;       
		_nop_();       //取高八位	
		CS=1;
		CE=1;
		A0=1;	
		CE=0;
		CS=0;
		_nop_();
		CE=1;
		//传值
		l=P0;
		CE=0;       //取低四位
		k=(k)<<4;
		l=l>>4;
		m=k+l; 
		m=dec(m);
		S=m*5000;
		S=m/4096;
         a=S%10;           //数据处理
	       b=S/10%10;
	       c=S/100%10;
	       d=S/1000;	 
	 }	
}			 

void Timer0() interrupt 1       //记时器显示程序
	{
		
		
	   TH0=(65535-5000)/256;
	   TL0=(65535-5000)%256;

 	   L1=0;
	   P2=Tab[d+10];
	   Delay(1);
	   L1=1;

	   L2=0;
	   P2=Tab[c];
	   Delay(1);
	   L2=1;  

    	   L3=0;
	   P2=Tab[b];
	   Delay(1);
	   L3=1;
   		
	   L4=0;
	   P2=Tab[a];
	   Delay(1);
	   L4=1;
	 	
		}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -