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

📄 main.c

📁 我的一个工程
💻 C
字号:
#include <reg52.h>
#include <absacc.h>
#include <intrins.h>
#include  "main.h"

/*
time1ms()    /* 1 ms delay with XTAL 11.0592MHz
{
    int i;
    for (i = 0; i<50; i++); // the value shown in this line, 50 was calibrated for 1ms
    						// you may change it!
}

delay(int n)      /* do nothing n*1ms
{
    int i;
    for (i=0; i< n ; i++)
    time1ms();
}

delay10us()
{
    int i;
    for (i=0;i<1;i++);

}
char getchar(void)
{
	char c;
	while(!RI);
	RI =0;
	c = SBUF;
	return SBUF;
}

char getchr(void)
{
	while(!RI);
	RI =0;
	return SBUF;	// no echo for command write
}

// external function for sending character through serial port
void putchar(char c)
{
	while(!TI);
	TI=0;
	SBUF = c;
}

// send ASCII string to screen, the string must be stored in code memory
putstr(char *s)
{
	char i=0;
	char c;
	while((c=*(s+(i++)))!= 0) putchar(c); // while byte is not terminator, keep sending
}





send_hex(unsigned char n)
{
	if(n<=9) putchar(n+'0'); // send 0-9
	else putchar(n+55); // send A-F
}

puthex(unsigned char n)
{
	unsigned char temp;
	temp = n&0xf0;
	temp >>=4;
	send_hex(temp);
	temp = n&0xf;
	send_hex(temp);
}

puthex16(unsigned int n)
{
	puthex(n>>8);
	puthex(n);
}

putnum(unsigned int n)
{
	unsigned int k;
	char s[6];
	s[0] = n/10000+'0';
    k = n%10000;
	s[1] = k/1000+'0';
	k = k%1000;
	s[2] = k/100+'0';
	k = k%100;
	s[3] = k/10+'0';
	k = k%10;
	s[4] = k%10+'0';

	for(k = 0; s[k] == '0' && k<5; k++);
	if (k==5) k--; // if all bytes are '0', get back one position
	do putchar(s[k++]);
	while (k<5);
}*/
/*void time1_over_int(void) interrupt 1 using 1
{
  TH0=0x0;
  TL0=0x0;
	if (ad_over==0)
		{
	value[counter]=AD_Conver(2);
	counter++;
	if (counter>64)
		 {
			ad_over=1;
			 }

     }
}*/
void initTimer(void)
{
 TMOD=0x1;
 TH0=0x0;
 TL0=0x0;
}

void initUart(void)
{
 TMOD|=0x20;
 SCON=0x50;
 TH1=0xfd;
 TL1=0xfd;
 TR1=1;
}
sbit relay_dpst=P3^2;
sbit SPEAKER=P3^5;
void main(void)
{
initTimer();
initUart();
TR0=0;
ET0=0;
EA=0;

upper_limit.c[0]=AT24C02_Read_Byte(0xA0,0x01);
upper_limit.c[1]=AT24C02_Read_Byte(0xA0, 0x02);
lower_limit.c[0]=AT24C02_Read_Byte(0xA0, 0x03 );
lower_limit.c[1]=AT24C02_Read_Byte(0xA0, 0x04);
difference.c[0]=AT24C02_Read_Byte(0xA0, 0x05);
difference.c[1]=AT24C02_Read_Byte(0xA0, 0x06);
  P1=0xff;
  while(1)
  { if(ADC)
  {
  AdValue=AD590( );
  }
   else
   {
   AdValue=process_t();
   if(AdValue>6400)AdValue+=128;
    }
     KEY();
      display_humidity();
      temperature=AdValue+difference.X ;

 if(temperature>upper_limit.X)
  	{
	    relay_dpst=1;
            SPEAKER=1;
  	 }
  else
  	{
		relay_dpst=0;
                SPEAKER=0;
		 }
  if(temperature<lower_limit.X)
  	{
		relay_dpst=1;
                SPEAKER=1;
  	 }
 	else
  	{
		  relay_dpst=0;
                  SPEAKER=0;
		 }
 }
}

⌨️ 快捷键说明

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