📄 syssetup.lst
字号:
C51 COMPILER V8.02 SYSSETUP 01/30/2008 15:09:51 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE SYSSETUP
OBJECT MODULE PLACED IN syssetup.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE syssetup.c LARGE BROWSE DEBUG OBJECTEXTEND
line level source
1 //*************************************************************************
2 //**模 块 名:syssetup.c
3 //**说 明:系统设置功能函数
4 //*************************************************************************
5 #include <AT89x55.H>
6 #include <INTRINS.H>
7 #include <STRING.H>
8 #include "main.h"
9 //*************************************************************************
10 //**函 数 名:Sys_Setup
11 //**输 入:无
12 //**输 出:无
13 //**功能描述:系统设置
14 //*************************************************************************
15 void Sys_Setup()
16 {
17 1 uchar xdata fun_num=0;
18 1 uchar xdata input_password=0;
19 1 uchar xdata password_err=0;
20 1 EA=1;
21 1 Clr_Scr(0);
22 1 fun_num=1;
23 1 if(!PassWord_OK())
24 1 {
25 2 Clr_Scr(0);
26 2 Disp_Setup_Menu(fun_num);
27 2 }
28 1 else
29 1 {
30 2 return;
31 2 }
32 1 MenuCount=3000; //关闭菜单计数
33 1 while(1)
34 1 {
35 2 key_num=0xff;
36 2 Read_Key();
37 2 if((MenuCount == 1)||(key_num==SETUP))
38 2 {
39 3 //回到正常状态下
40 3 if(machine_status != 0x10)have_report = 1;
41 3 break;
42 3 }
43 2 if(key_num==DOWN)
44 2 {
45 3 fun_num++;
46 3 if(fun_num>3) fun_num=1;
47 3 Disp_Setup_Menu(fun_num);
48 3 }
49 2 else
50 2 if(key_num==UP)
51 2 {
52 3 fun_num--;
53 3 if(fun_num<1) fun_num=3;
54 3 Disp_Setup_Menu(fun_num);
55 3 }
C51 COMPILER V8.02 SYSSETUP 01/30/2008 15:09:51 PAGE 2
56 2 else
57 2 if(key_num==OK)
58 2 {
59 3 //进入到设置时间功能
60 3 if(fun_num==1) setup_clock();
61 3 //进入到设置延时时间功能
62 3 if(fun_num==2) setup_delay_clock();
63 3 //进入到设置所带区数
64 3 if(fun_num==3) setup_qu_online();
65 3 Clr_Scr(0);
66 3 Disp_Setup_Menu(fun_num);
67 3 }
68 2 }
69 1 }
70 //*************************************************************************
71 //**函 数 名:PassWord_OK
72 //**输 入:无
73 //**输 出:无
74 //**功能描述:
75 //** 1.读取密码
76 //*************************************************************************
77 uchar PassWord_OK(void)
78 {
79 1 uchar xdata fun_num=0;
80 1 uchar xdata password_err=1;
81 1 uchar xdata input_password=0;
82 1 Clr_Scr(0);
83 1 Disp_Password_Menu(fun_num);
84 1 while(1)
85 1 {
86 2 key_num=0xff;
87 2 Read_Key();
88 2 if(key_num == DOWN)
89 2 {
90 3 input_password|=(0x01<<(4-fun_num-1));
91 3 fun_num++;
92 3 if(fun_num==4)
93 3 {
94 4 if((input_password&0x0f)==(PASSWORD&0x0f))
95 4 {
96 5 Disp_Password_Menu(fun_num);
97 5 password_err=0;
98 5 DelayMS(10);
99 5 break;
100 5 }
101 4 else
102 4 {
103 5 Disp_Password_Menu(fun_num);
104 5 DelayMS(10);
105 5 fun_num=0;
106 5 Clr_Scr(0);
107 5 Disp_Password_Menu(fun_num);
108 5 continue;
109 5 }
110 4 }
111 3 Disp_Password_Menu(fun_num);
112 3 }
113 2 else
114 2 if(key_num == UP)
115 2 {
116 3 input_password&=(0xFE<<(4-fun_num-1));
117 3 fun_num++;
C51 COMPILER V8.02 SYSSETUP 01/30/2008 15:09:51 PAGE 3
118 3 if(fun_num==4)
119 3 {
120 4 if((input_password&0x0f)==(PASSWORD&0x0f))
121 4 {
122 5 Disp_Password_Menu(fun_num);
123 5 password_err=0;
124 5 DelayMS(10);
125 5 break;
126 5 }
127 4 else
128 4 {
129 5 Disp_Password_Menu(fun_num);
130 5 DelayMS(10);
131 5 Clr_Scr(0);
132 5 fun_num=0;
133 5 Disp_Password_Menu(fun_num);
134 5 continue;
135 5 }
136 4 }
137 3 Disp_Password_Menu(fun_num);
138 3 }
139 2 else
140 2 if(key_num == SETUP)
141 2 {
142 3 if(machine_status!=0x10)have_report=1;
143 3 password_err=1;
144 3 break;
145 3 }
146 2 }
147 1 return password_err;
148 1 }
149 //*************************************************************************
150 //**函 数 名:Disp_Password_Menu
151 //**输 入:无
152 //**输 出:无
153 //**功能描述:
154 //** 1.显示输入密码的界面
155 //*************************************************************************
156 void Disp_Password_Menu(uchar number)
157 {
158 1 uchar xdata iii;
159 1 HzDisp1216(2,20,hz_mi,0);
160 1 HzDisp1216(2,40,hz_ma,0);
161 1 for(iii=0;iii<number;iii++)
162 1 {
163 2 HzDisp1216(4,60+iii*12,hz_xinghao,0);
164 2 }
165 1 //显示“按设置键退出”
166 1 HzDisp1216(6,0+55,hz_an,0);
167 1 HzDisp1216(6,12+55,hz_she,0);
168 1 HzDisp1216(6,24+55,hz_zhi3,0);
169 1 HzDisp1216(6,36+55,hz_jian3,0);
170 1 HzDisp1216(6,48+55,hz_tui,0);
171 1 HzDisp1216(6,60+55,hz_chu,0);
172 1 }
173 //*************************************************************************
174 //**函 数 名:Disp_Setup_Menu
175 //**输 入:
176 //** dpoint:反白显示的位置号
177 //**输 出:无
178 //**功能描述:
179 //** 1.显示系统菜单
C51 COMPILER V8.02 SYSSETUP 01/30/2008 15:09:51 PAGE 4
180 //*************************************************************************
181 void Disp_Setup_Menu(uchar dpoint)
182 {
183 1 switch(dpoint)
184 1 {
185 2 case 1:Disp_Setup_Menu_One(1,0,0);
186 2 break;
187 2 case 2:Disp_Setup_Menu_One(0,1,0);
188 2 break;
189 2 case 3:Disp_Setup_Menu_One(0,0,1);
190 2 break;
191 2 default:break;
192 2 }
193 1 }
194 //*************************************************************************
195 //**函 数 名:Disp_Setup_Menu
196 //**输 入:
197 //** ONp:0正常 1反白 显示
198 //** TWp:0正常 1反白 显示
199 //** THp:0正常 1反白 显示
200 //** FOp:0正常 1反白 显示
201 //** FRp:0正常 1反白 显示
202 //**输 出:无
203 //**功能描述:
204 //** 1.显示系统菜单数据
205 //*************************************************************************
206 void Disp_Setup_Menu_One(bit ONp,bit TWp,bit THp)
207 {
208 1 uchar xdata i;
209 1 //时间设置
210 1 HzDisp1216(0,0,hz_number1,ONp);
211 1 HzDisp1216(0,12,hz_shi3,ONp);
212 1 HzDisp1216(0,24,hz_jian2,ONp);
213 1 HzDisp1216(0,36,hz_she,ONp);
214 1 HzDisp1216(0,48,hz_zhi3,ONp);
215 1 //延时设置
216 1 HzDisp1216(2,0,hz_number2,TWp);
217 1 HzDisp1216(2,12,hz_yan,TWp);
218 1 HzDisp1216(2,24,hz_shi3,TWp);
219 1 HzDisp1216(2,36,hz_shi3,TWp);
220 1 HzDisp1216(2,48,hz_jian2,TWp);
221 1 //在线开关
222 1 for(i=0;i<5;i++)
223 1 HzDisp1216(4,i*12+1,hz_space,THp);
224 1 for(i=0;i<5;i++)
225 1 HzDisp1216(4,i*12+3,hz_space,THp);
226 1 HzDisp1216(4,0,hz_number3,THp);
227 1 HzDisp1216(4,12,hz_zai,THp);
228 1 HzDisp1216(4,24,hz_xian,THp);
229 1 HzDisp1216(4,36,hz_shu,THp);
230 1 HzDisp1216(4,48,hz_liang,THp);
231 1 }
232 //*************************************************************************
233 //**函 数 名:setup_qu_online
234 //**输 入:无
235 //**输 出:无
236 //**功能描述:灭火区设置菜单
237 //*************************************************************************
238 void setup_qu_online(void)
239 {
240 1 uchar xdata fun_num,on_off;
241 1 fun_num=1;
C51 COMPILER V8.02 SYSSETUP 01/30/2008 15:09:51 PAGE 5
242 1 on_off=1;
243 1 ReadSysSetup();
244 1 Clr_Scr(0);
245 1 HzDisp1216(0,12,hz_she,0);
246 1 HzDisp1216(0,25,hz_zhi3,0);
247 1 HzDisp1216(0,38,hz_mie,0);
248 1 HzDisp1216(0,51,hz_huo,0);
249 1 HzDisp1216(0,64,hz_qu,0);
250 1 HzDisp1216(0,77,hz_de1,0);
251 1 HzDisp1216(0,90,hz_kai,0);
252 1 HzDisp1216(0,103,hz_guan,0);
253 1 //一 到 四 区
254 1 HzDisp1216(2,12,hz_yi ,0);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -