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

📄 adc0831.c

📁 可以实现多路数据采集和传输系统
💻 C
字号:
#include "reg52.h"
#include "intrins.h"
#include "absacc.h"
#define uchar unsigned char
#define uint unsigned int
sbit T0831_CS=P2^0;//片选I/O端口
sbit T0831_SK=P2^4;//时钟I/O端口
sbit T0831_DO=P2^2;//数据I/O端口
sbit dula=P2^6;
sbit wela=P2^7;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
                        0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar code table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,
                        0x87,0xff,0xef};
//****延迟*******************// 
uchar i,j;
uint temp1;
uchar data data1;
uint temp;
void delay1(uchar k)
{for(i=0;i<k;i++);
}
void delay(uchar m)
{for(i=0;i<m;i++)
  for(j=0;j<200;j++);
}
//*****************************************************//

//******************串口初始化**********************//
void Init_Com(void)
{
     TMOD = 0x20;
     PCON = 0x00;
     SCON = 0x50;
     TH1 = 0xFd;
     TL1 = 0xFd;
     TR1 = 1;
}
//****************************************************//
//********************初始化ADC8031***************//

uchar T0831Read(void)
{
uchar b,DataSoute;
T0831_CS=1;
delay1(10);
T0831_SK=1;
T0831_CS=0;
T0831_SK=0;
_nop_();
for(b=0;b<8;b++)
{
T0831_SK=1;
T0831_SK=0;
if(T0831_DO) DataSoute++;
DataSoute<<=1;
}
T0831_CS=1;
T0831_SK=1;
delay1(30);
return (DataSoute);
}
//**************************************//
//********温度转化为使十进制************//
uint tmp()
{ 
 temp1=data1;
 return temp1;
}
//**************************************//
//***********显示部分******************//
void display(uint temp1)		
{ uchar A1,A2,A2t,A3;
   
   SBUF=data1;
   delay(500);
   temp1=temp1*10;
   temp1=temp1/2;
   A1=temp1/100;
   A2t=temp1%100;
   A2=A2t/10;
   A3=A2t%10;
   dula=0;
   P0=table[A1];		//显示百位
   dula=1;
   dula=0;

   wela=0;
   P0=0x7e;
   wela=1;
   wela=0;
   delay(1);

   dula=0;
   P0=table1[A2];		//显示十位
   dula=1;
   dula=0;

   wela=0;
   P0=0x7d;
   wela=1;
   wela=0;
   delay(1);

   P0=table[A3];		//显示个位
   dula=1;
   dula=0;

   P0=0x7b;
   wela=1;
   wela=0;
   delay(1);
}
//********************************************//
void main()
{uchar a; 

Init_Com();
 while(1)
  { data1=T0831Read();
   for(a=0;a<10;a++)
   {display(tmp());}
  } 
}

⌨️ 快捷键说明

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