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

📄 d.c

📁 可以实现多路数据采集和传输系统
💻 C
字号:
#include "reg52.h"
#include "intrins.h"
#include "absacc.h"
#define uchar unsigned char
#define uint unsigned int
sbit T0831_SK=P2^4;//时钟I/O端口
sbit T0831_DO=P2^2;//数据I/O端口
sbit dula=P2^6;
sbit wela=P2^7;
sbit key1=P3^3;
sbit key2=P3^6;
uchar code table[]= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,
                        0xf8,0x80,0x90};
uchar code table1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,
                        0x78,0x00,0x10};
uchar code select[]={0x01,0x02,0x04,0x08,0x10,0x20};
uchar code select1[]={0xfe,0xfd};
//****延迟*******************// 
uchar i,j;
uchar state;
uint temp1;
uchar c;
uchar T0831_CS;
uchar data date1;
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()
{
 uchar b,DataSoute;
   P1=select1[c];
   delay1(10);
   T0831_SK=1;
   P1=select1[c];
   T0831_SK=0;
   _nop_();
  for(b=0;b<8;b++)
   {
    T0831_SK=1;
    T0831_SK=0;
    if(T0831_DO) DataSoute++;
    DataSoute<<=1;
    }
  P1=select1[c]; T0831_SK=1;
  delay1(20);
  return(DataSoute);
}
//**************************************//
//********温度转化为使十进制************//
uint tmp()
{ 
temp1=date1;
return temp1;
}
//**************************************//
//***********显示部分******************//
void display(uint temp1)		
{  uchar A1,A2,A2t,A3,ser;
   ser=date1;
   SBUF=ser;
   temp1=temp1*10;
   temp1=temp1/2;
   A1=temp1/100;
   A2t=temp1%100;
   A2=A2t/10;
   A3=A2t%10;
 
   P0=table[A1];
   P3=select[4];
   delay(5);
   P3=0;
  
   P0=table1[A2];
   P3=select[5]; 
   delay(5);
   P3=0;
     
   P0=table[A3];
   P3=select[2];
   delay(5);
   P3=0;
}
//********************************************//
//**********键盘****************************//
void keyscan(void)
{if(!key1)
  {delay(15);
   if(!key1)
    {state++;
     if(state==2)
      {state=0;
	  }
     }
  while(!key1);
  }
}

//***************************************************//
void main(void)
{uchar a;
 Init_Com();
 while(1)
  {
   keyscan();
   switch(state)
   {case 0:      for(c=0;c<2;c++)
                 {date1=T0831Read();
                  {
                   for(a=0;a++;a<20)
                   display(tmp());
			      } 
				 }
     case 1:     if(!key2)
                for(c=0;c<2;c++)
                 {date1=T0831Read(); 
                   for(a=0;a++;a<20)
	                {display(tmp());}
                  }
   }
 }
 
}

⌨️ 快捷键说明

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