📄 define.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 + -