📄 menu.lst
字号:
C51 COMPILER V7.06 MENU 01/03/2008 17:28:43 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE MENU
OBJECT MODULE PLACED IN menu.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE menu.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <c8051f350.h>
2 #include "menu.h"
3 #include "variable.h"
4 #include "I2C.h"
5 #include "adc.h"
6 #include "math.h"
7
8 bit bdata set_flag;
9 bit bdata dis_flag;
10 bit bdata zero_flag;
11 bit bdata dem_flag;
12 bit bdata pin_flag;
13 bit bdata menu_flag;
14 bit bdata t_flag;
15
16 unsigned int code default_ref_table[16]=//为了节省代码空间,ref_table_temp[40]为40个参数,省掉的24个
17 //参数是标定用的,不用初始化
18 {
19 (Itm_k-Itm_s) //分度号default_ref_sn 默认开始是k。 加9则是pt100
20 , 1 //参数设置位default_ref_bits 判断是否同步显示
21 , 0 //标称/变送的低端default_ref_sc0
22 , 1000 //标称/变送的高端default_ref_scf
23 , 416 //变送的下限default_ref_da0
24 , 2945 //变送的上限default_ref_daf
25 , 0 //断线或溢出时的输出设定default_ref_dab
26 , 0xf1 //当前温度对应的AD值default_ref_trv
27 , 0 //输出修正0default_ref_d0
28 , 0 //输出修正fdefault_ref_df
29 , 0 //显示修正0default_ref_du0
30 , 0 //显示修正fdefault_ref_duf
31 , 0 //过滤类型default_ref_filt
32 , 8 //过滤参数1default_ref_filr
33 , 29 //当前温度default_ref_tr
34 , 0
35 };
36
37
38 unsigned char code num_code[16]= //十进制和十六进制的数字表示表
39 {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,chr_a,chr_b,chr_c,chr_d,chr_e,chr_f};
40
41 unsigned char code Tab_Menu_Item[54][4] =
42 { chr_sp,chr_sp, chr_sp,chr_sp //0 null
43 ,chr_p, chr_n, chr_b, chr_o //1 pnbo
44 ,chr_sp,chr_sp, chr_s, chr_n //2 sn
45 ,chr_sp,chr_sp, chr_p, chr_d //3 pd
46 ,chr_sp,chr_s, (chr_c&chr_dot), num_0 //4 sc.0
47 ,chr_sp,chr_s, (chr_c&chr_dot), chr_f //5 sc.f
48 ,chr_sp,chr_sp, chr_t, chr_r //6 tr
49 ,chr_sp,chr_d, (chr_a&chr_dot), num_0 //7 da.0
50
51 ,chr_sp,chr_sp, (chr_d&chr_dot), num_0 //8 d0
52 ,chr_sp,chr_sp, (chr_d&chr_dot), chr_f //9 df
53 ,chr_sp,chr_d, (chr_u&chr_dot), num_0 //10 du0
54 ,chr_sp,chr_d, (chr_u&chr_dot), chr_f //11 duf
55
C51 COMPILER V7.06 MENU 01/03/2008 17:28:43 PAGE 2
56
57 ,chr_f, chr_i, (chr_l&chr_dot), chr_t //12 fil.t
58 ,chr_f, chr_i, (chr_l&chr_dot), chr_r //13 fil.r
59
60 ,chr_sp,chr_t, chr_r, chr_s //14 trs
61 ,chr_sp,chr_r, (chr_t&chr_dot), num_1 //15 r.1
62 ,chr_sp,chr_r, (chr_t&chr_dot), num_2 //16 r.2
63 ,chr_sp,chr_r, (chr_t&chr_dot), num_3 //17 r.3
64 ,chr_sp,chr_r, (chr_t&chr_dot), num_4 //18 r.4
65 ,chr_sp,chr_r, (chr_t&chr_dot), num_5 //19 r.5
66 ,chr_sp,chr_t, (chr_c&chr_dot), num_0 //20 tc.0
67 ,chr_sp,chr_t, (chr_c&chr_dot), chr_f //21 tc.f
68
69 ,chr_sp,chr_d, (chr_a&chr_dot), chr_f //22 da.F
70 ,chr_sp,chr_d, (chr_a&chr_dot), chr_b //23 da.b
71
72 ,chr_sp,chr_sp, chr_o, chr_t //24 ot
73 ,chr_g, chr_b, chr_a, chr_k //25 rev
74 ,chr_sp,chr_b, chr_a, chr_k //26 bak
75
76 ,num_1, chr_dot,chr_sp, chr_sp //overflow
77 ,chr_b, chr_r, chr_o, chr_k //brok
78 ,chr_sp, chr_o, chr_f, chr_f //off
79 ,chr_sp, chr_sp, chr_o, chr_n //on
80 ,chr_sp, chr_sp, chr_n, chr_o //no
81 ,chr_sp, chr_y, chr_e, chr_s //yes
82 ,chr_sp, chr_sp, chr_sp, chr_s //sn:s tc
83 ,chr_sp, chr_sp, chr_sp, chr_r //sn:r tc
84 ,chr_sp, chr_sp, chr_sp, chr_b //sn:b tc
85 ,chr_sp, chr_sp, chr_sp, chr_k //sn:k tc
86 ,chr_sp, chr_sp, chr_sp, chr_e //sn:e tc
87 ,chr_sp, chr_sp, chr_sp, chr_j //sn:j tc
88 ,chr_sp, chr_sp, chr_sp, chr_n //sn:n tc
89 ,chr_sp, chr_sp, chr_sp, chr_t //sn:t tc
90 ,chr_sp, chr_t, chr_u, num_3 //sn:tu3 tc
91 ,chr_sp, chr_t, chr_u, num_5 //sn:tu5 tc
92 ,chr_t, chr_u, num_2, num_0 //sn:tu20 tc
93 ,chr_t, chr_u, num_2, num_6 //sn:tu26 tc
94 ,chr_p, num_1, num_0, num_0 //sn:pt100 rt
95 ,chr_c, chr_u, num_1, num_0 //sn:cu100 rt
96 ,chr_c, chr_u, num_5, num_0 //sn:cu50 rt
97 ,chr_sp, chr_t, chr_p&chr_dot, num_1 //tp1
98 ,chr_sp, chr_t, chr_p&chr_dot, num_2 //tp2
99 ,chr_sp, chr_t, chr_p&chr_dot, num_3 //tp3
100 ,chr_a, chr_r, chr_e, chr_a
101 ,chr_d, chr_a, chr_t, chr_e
102 ,chr_n, chr_u, chr_b, chr_r
103 };
104 unsigned int code Tab_mnu_ent_value[8]= //菜单入口值
105 {
106 mnu_value_sn
107 ,mnu_value_sc0
108 ,mnu_value_d0
109 ,mnu_value_ot
110 ,mnu_value_pd
111 ,mnu_value_da0
112 ,mnu_value_rt1
113 };
114 unsigned char code Tab_mnu_ent_menu[8]= //菜单索引号
115 {
116 mnu_sn
117 ,mnu_sc0
C51 COMPILER V7.06 MENU 01/03/2008 17:28:43 PAGE 3
118 ,mnu_d0
119 ,mnu_ot
120 ,mnu_pd
121 ,mnu_da0
122 ,mnu_rt1
123 };
124 /********************************************
125 函数名: menu_hdl
126 功能: 菜单处理
127 形式参数:无
128 返回值:无
129 ********************************************/
130 void menu_hdl(void)
131 {
132 1 if(keyval)
133 1 {
134 2 switch(page_point)
135 2 {
136 3 case 0: mnu_hdl_null( );break; //0
137 3 case 1: mnu_hdl_main( );break; //1
138 3 case 2: mnu_hdl_sn ( );break; //2
139 3 //case 3: mnu_hdl_dsp ( );break; //3
140 3 case 4: mnu_hdl_sc0 ( );break; //4
141 3 case 5: mnu_hdl_scf ( );break; //5
142 3 case 6: mnu_hdl_tr ( );break; //6
143 3 //case 7: mnu_hdl_da0 ( );break; //7
144 3 case 8: mnu_hdl_d0 ( );break; //8
145 3 case 9: mnu_hdl_df ( );break; //9
146 3 case 10: mnu_hdl_du0 ( );break; //10
147 3 case 11: mnu_hdl_duf ( );break; //11
148 3 //case 12: mnu_hdl_filt( );break; //12
149 3 //case 13: mnu_hdl_filr( );break; //13
150 3 //case 14: mnu_hdl_trs ( );break; //14
151 3 case 15: mnu_hdl_rtx ( );break; //15
152 3 case 16: mnu_hdl_rtx ( );break; //16
153 3 case 17: mnu_hdl_rtx ( );break; //17
154 3 case 18: mnu_hdl_rtx ( );break; //18
155 3 case 19: mnu_hdl_rtx ( );break; //19
156 3 case 20: mnu_hdl_tc0 ( );break; //20
157 3 case 21: mnu_hdl_tc0 ( );break; //21
158 3 /*case 22: mnu_hdl_da0 ( );break; //22
159 3 //case 23: mnu_hdl_dab ( );break; //23*/
160 3 case 24: mnu_hdl_ot ( );break; //24
161 3 }
162 2 }
163 1 }
164 /********************************************
165 函数名: mnu_hdl_null
166 功能: 空菜单操作
167 形式参数:无
168 返回值:无
169 ********************************************/
170 void mnu_hdl_null(void)
171 {
172 1 switch(keyval)
173 1 {
174 2 case key_up|key_ent:
175 2 menu_flag=1;
176 2 page_point=1;
177 2 set_flag=1;
178 2 renew_page_high(mnu_main);
179 2 renew_page_low(mnu_null);
C51 COMPILER V7.06 MENU 01/03/2008 17:28:43 PAGE 4
180 2 }
181 1 }
182 /********************************************
183 函数名: mnu_hdl_main
184 功能: 主菜单操作
185 形式参数:无
186 返回值:无
187 ********************************************/
188 void mnu_hdl_main(void)
189 {
190 1 switch(keyval)
191 1 {
192 2 case key_up:
193 2 if(!set_flag)
194 2 {
195 3 mod_value=mod_value+key_mov;
196 3 if(mod_value>9999)mod_value=9999;
197 3 point_pos=0;//小数点位置
198 3 dis_flag=1; //高低4位标置 1-高4位 0-低4位
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -