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

📄 variable.c

📁 这是一种温度变送器的源代码
💻 C
字号:

#include "variable.h"

//ADC
int xdata Adc0_buffer[128];//AD采样缓冲区
unsigned char deg;//采样次数
//SMbus
unsigned char Slave;//从器件地址
unsigned char Dat_addr;//字节地址
unsigned char Dat_val;//写入数据
unsigned char Dat_24C02;//读出数据
//display
unsigned char display[8]=		//显示缓冲区数组
				{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
unsigned int timer_cnt;//显示延时计数
unsigned char disp_sta;	//显示位置
unsigned char disp_cnt;	//显示计数0-7
//key
unsigned char lastkey;	//上次按键值
unsigned char curkey;	//当前按键值
unsigned char keyval;	//最终键值
unsigned char keycount;	//按键延时计数
unsigned char keycnt;	//按键计数
//menu
unsigned char page_point;//当前界面
unsigned char page_bak;//界面页号备份
int	data mod_value;    	//菜单操作时保存正在调整中的数据 
unsigned int data mod_bak;//保存主菜单的位置,退出的时候直接退到数字
unsigned int key_mov;	//数字变化量,连续按键时,X10倍变化
unsigned char point_pos;//小数点位置
unsigned char point_pos_1;//标定时的小数点位置
unsigned char data ref_buffer;	//标定时用来存储当前的菜单类型
unsigned char data counter;		//标定时用到或在mnu_hdl_dsp中也用到
unsigned char data volt_range1;	//标定时应用
unsigned int xdata ref_table[41];//参数存储数组
/*
如下,定义了ref_table_temp中40个数据的意思是什么,这些在menu.c中有了。其中需要解释的是:ref_rt1到
ref_tcf。ref_rt1与ref_rt2之间有4个值,(ref_rt1中存的是18欧电阻的AD值,ref_rt2是70,ref_rt3是170,
ref_rt4是270,ref_rt5是350,这与math.c中的Tab_rt对应),这四个值存的都是18欧时的AD值,但采集的值不
一定相同,因为choose_range决定了不同的放大倍数。而ref_rt2与ref_rt3之间有4个值,采集的是70欧,
ref_rt3与ref_rt4之间有3个值,采集的是170欧,ref_rt4与ref_rt5之间有2个值,采集的是270欧,ref_rt5
有1个值,采集的是350欧。
偶型的:ref_tc0有四个值,代表0mv时的4个不同值
ref_tcf有四个值,分别是20mv,40mv,60mv,80mv的AD值
#define ref_sn								0					//分度号
#define ref_dsp_bit							1					//同步显示开关
#define ref_sc0								2					//标称/变送的低端
#define ref_scf								3					//标称/变送的高端
#define ref_da0								4					//变送的下限
#define ref_daf								5					//变送的上限
#define ref_dab								6					//变送的上限
#define ref_trv								7					//当前温度对应的AD值
#define ref_d0								8					//输出修正0
#define ref_df								9					//输出修正f
#define ref_du0								10					//显示修正0
#define ref_duf								11					//显示修正f
#define ref_filt							12					//过滤类型	0:原有平均滤波		1:屏蔽最高最低滤波		:系数滤波
#define ref_filr							13					//过滤参数
#define ref_tr								14					//当前温度
#define ref_rt1								16					//阻型AD校准1	这五个rtx必须定义在一起
#define ref_rt2								20//16				//阻型AD校准2
#define ref_rt3								24//17				//阻型AD校准3
#define ref_rt4								27//18				//阻型AD校准4
#define ref_rt5								29//19				//阻型AD校准5
#define ref_tc0								30//20				//偶型AD下限校准
#define ref_tcf								34//21				//偶型AD上限校准
#define ref_check							15//22				//校验值	 异或校验
#define ref_area							39
*/

//math
bit bdata b_o_flag; 			//溢出标志 1-正常 0-断线或溢出
unsigned char data volt_range;	//两个应用范围:一:标识AD的放大区域choose_range。
int code *data current;			//指向要查的表项
int	data sb;					//source bottom数学计算用
int	data st;					//source top
int	data tb;					//target bottom
int	data tt;					//target top
long data calculate;			//计算过程中,用于整型的乘除运算
int data ad_value;				//AD采样值
int data cal_mod_value;			//计算过程中的中间值
int data led_degree;			//计算出的温度值

⌨️ 快捷键说明

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