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