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

📄 main.c

📁 STC12C5412AD做的温度检测控制的源程序.有AD检测,可控硅过零触发,PID算法.
💻 C
字号:
#include".\Globle.h"
#include".\Init.h"
#include".\STC_RST.h"
#include".\ADC.h"
#include".\Modbus_RTU.h"
#include".\SEEPROM.h"
#include".\Function.h"
#include".\VIIC_C51.h"
unsigned int idata  i;
WordType wtmp;
int data AdcSample;
ULONG ltmp;
int iTmp;
extern void delay1();
code UWORD DefaultTable[10]={100,	1,	3,	3,	0,		0,	0,	0,	6,	7,};
unsigned char MRD[2];
unsigned int pp=0;
WordType TTMP;
void main()
{

	Devices_init();

	if(read_int(0x40)==0x55)
		{

			for(i=0;i<10;i++)
				{
					wtmp.wd=read_int(i*2);
					gvc_data_buf[i*2]=wtmp.bytes.bh;
					gvc_data_buf[i*2+1]=wtmp.bytes.bl;
					delay1();
				}
			
		}
	else
		{
			uart_send(0x88);
			for(i=0;i<10;i++)
				{
					wtmp.wd=DefaultTable[i];
					gvc_data_buf[i*2]=wtmp.bytes.bh;
					gvc_data_buf[i*2+1]=wtmp.bytes.bl;
					write_int(i*2, DefaultTable[i]);
					delay1();
				}
			write_int(0x40, 0x55);

		}
	delay1();


	delay1();
	ZeroValue=(int)read_int(0x26);
	uart_send(ZeroValue/256);
	uart_send(ZeroValue%256);
	for(i=0;i<10;i++)
		{

			ParaFresh(i);

		}



	while(1)
		{
			if(++pp>=60000)
				{
					pp=0;
					IRcvStr(0x90,0x00,&TTMP.wd,2);
					uart_send(0x55);
					TTMP.wd>>=5;
					uart_send(TTMP.bytes.bh);
					uart_send(TTMP.bytes.bl);
				}
			if(AdcFlg)
				{
					AdcFlg=0;
					AdcSample=ADC(7);

					AdcSample=AdcSample+ZeroValue;

					wtmp.wd=TempCheck(AdcSample);
					wtmp.wd+=22;
					//wtmp.wd=FifoAdc(wtmp.wd);
					//wtmp.wd=AdcSample;
					TSample=wtmp.wd;
					//wtmp.wd=AdcSample;
					gvc_data_buf[20]=wtmp.bytes.bh;
					gvc_data_buf[21]=wtmp.bytes.bl;
			
				}
						
		
			if(gvb_uart_flg)
				{
					gvb_uart_flg=0;
					for(i=0;i<60000;i++);
					for(i=0;i<60000;i++);
					ISP_CONTR=0x60;
					//uart_rest();
				}
			if(PidFlg)
				{
					LED1=!LED1;
					PidFlg=0;
					PIDCal();
					PWMValue=Tout;
					
					
				}
			uart_run();
			if(ZSet)			//0vУ׼
				{
					ZSet=0;
					gvc_data_buf[12]=0;
					gvc_data_buf[13]=0;
					iTmp=0;
					for(i=0;i<10;i++)
						{
							AdcSample=ADC(7);
							iTmp+=AdcSample;
						}
					AdcSample=iTmp/10;
					//ZeroValue=AdcSample;
					ZeroValue=KTable[0][0]-AdcSample;
					delay1();
					delay1();
					write_int(0x26, ZeroValue);
					delay1();
					delay1();
					write_int(12, 0);
					
					uart_send(0x33);
					uart_send(ZeroValue/256);
					uart_send(ZeroValue%256);
	
				}
			if(FSet)
				{
					FSet=0;
					gvc_data_buf[14]=0;
					gvc_data_buf[15]=0;
					write_int(14, 0);
					AdcSample=ADC(7);
					FullValue=AdcSample;
					write_int(0x22, FullValue);
					uart_send(0x44);
					uart_send(FullValue/256);
					uart_send(FullValue%256);
				}

		}





}

⌨️ 快捷键说明

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