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

📄 define.c

📁 绝对原创
💻 C
字号:
/*************************************************************************************************************/
/*************************************************************************************************************/
/**************************************** 十段温度 ***********************************************************/
/*************************************************************************************************************/
	
	/* 接于SST51单片机89E564RD */
	/* SO-P1.6 ; CS-P1.5 ; SCK-P1.7 */
	/* MAX6675测四路K型热电偶 */
	/* MAX6675测温转换时间一般0.17S,最大0.22S */
	/* 用继电器选通各路热电偶 */
	/* 通信协议:不发送小数点位,用四舍五入取小数位.共10位温度数据 */
	/* 先发送告知是哪段温度,F0为第一段,F1为第二段,F2,F3 */
	/* 送温度数据为BCD码,先送高位,后送低位,共送2个字节,连续发两次 */
	/* 连续发两次温度数据,最后以FF结束(共发六个字节)波特率9600(11.0592M) */
	/* E0,E1,E2,E3为加热信息,00为不加热,11为加热,22为断线标志,连续发两次标志位数据 */
	/* 每接通一次继电器,转换两次温度(为考虑继电器寿命) */
	/* 平均温度,12次,去除头尾两个,读6次新值,加5次上次排在中间的值和上次平均的值,
	/* 修改平均温度*/
	/* 修改FLASH */
	/* 2006.2.6 */

/*************************************************************************************************************
*	函数名称 :
*	功能描述 :
*	实际参数 :        
*	返回值   :
*	说明     :
**************************************************************************************************************/
 
    #include<SST89x5x4.H>
	#include<stdio.h>
    #include<intrins.h>

	#define  uchar  unsigned char        
    #define  uint   unsigned int

	#define	 ON		1 
	#define	 OFF	0
    
    #define  TIME_S  	(65536 - 57000)     /* 定时转换时间为55MSx4=0.20S */	
 	#define  MAX_TEMP   40    				// 设置与实际最大温度  差
	#define  MIN_TEMP   5  					// 设置与实际最小温度差
	#define  MAX_SEC    30  				// 最大时间秒钟检测加温
	#define  MAX_SEC    3  					// 最小时间秒钟检测加温
	#define  TYP_TEMP   15 					// 出厂值,原程序的值得
	#define  TYP_TEMP   5  					// 出厂值,原程序的值得
   											// 修改flash 时送的地址
	#define  ADDRESS_15C    0x00  			// 存储相差几度的值开始加温
	#define  ADDRESS_5S     0x01
	#define  ADDRESS_TEMP   0x02
	#define  ADDRESS_MINUS  0x03     

    sbit SO  = P1^6 ;                    /* 数据输入 */    
    sbit SCK = P1^7 ;                    /* 时钟输出 */
	sbit CS0  = P1^5 ;                   /* 从机选择 */
	sbit CS1  = P1^4 ;                   /* 从机选择 */

    sbit Temp_Heat0 = P3^0 ;             /* 第一路加温输出,LED灯指示 */
    sbit Temp_Heat1 = P3^1 ;
    sbit Temp_Heat2 = P3^2 ;
    sbit Temp_Heat3 = P3^3 ;
	sbit Temp_Heat4 = P3^4 ;
	sbit Temp_Heat5 = P3^5 ;
	sbit Temp_Heat6 = P2^6 ;
	sbit Temp_Heat7 = P2^7 ;
	sbit Temp_Heat8 = P2^1 ;
	sbit Temp_Heat9 = P2^0 ;

    sbit Work_Led   = P3^6 ;             /* 程序运行指示灯,大约1S一次 */

    sbit Temp_Relay0 = P1^0 ;             /* 第一路热电藕继电器控制口 */
    sbit Temp_Relay1 = P1^1 ;
	sbit Temp_Relay2 = P1^2 ;
	sbit Temp_Relay3 = P1^3 ;
	sbit Temp_Relay4 = P2^7 ;
	sbit Temp_Relay5 = P2^6 ;
	sbit Temp_Relay6 = P2^5 ;
	sbit Temp_Relay7 = P2^4 ;
	sbit Temp_Relay8 = P2^3 ;
	sbit Temp_Relay9 = P2^2 ;

	extern 	bit Heat0_Open_Flag,Heat1_Open_Flag,Heat2_Open_Flag,Heat3_Open_Flag,Heat4_Open_Flag ;          /* 热电偶断开标志 */
	extern 	bit Heat5_Open_Flag,Heat6_Open_Flag,Heat7_Open_Flag,Heat8_Open_Flag,Heat9_Open_Flag ;          /* 热电偶断开标志 */
	extern	bit Send_Flag ;                                                    							   /* 正在发送,接受标志 */
 										
	
	uchar code road_15c_dat _at_ 0xff00 ;   														/* 存储第一路温度在与设置温度差15时,开始控制加温 */
	uchar code road_5s_dat _at_ 0xff01;     														/* 存储第一路温度以5S一个周期控制温度 */
	uchar code road_temp_dat _at_ 0xff02 ;  														/* 第一路温差 */
	uchar code road_temp_minus _at_ 0xff03 ;    													/* 温差加减为0时,加温,为1时减温 */

/*************************************************************************************************************
*	函数名称 :
*	功能描述 :
*	实际参数 :        
*	返回值   :
*	说明     :	外部函数
**************************************************************************************************************/

    extern 	void Delay0(uchar a) ;  					// 延时程序
	extern 	void InitialValue0(void) ;					// 载入中断0初值 

⌨️ 快捷键说明

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