📄 main.lst
字号:
C51 COMPILER V7.08 MAIN 03/05/2007 16:38:02 PAGE 1
C51 COMPILER V7.08, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\程序\keil c\C51\BIN\C51.EXE main.c LARGE INCDIR(c:|keil) DEBUG OBJECTEXTEND
line level source
1 /********************************************************************************
2 * 【版权】 Copyright(C) belongs to 天宇蓝翔科技有限公司 All Rights Reserved *
3 * 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息! *
4 *******************************************************************************/
5
6 #include <LCD128x64.h> //液晶
7 #include <LCD_date_1.h>
8 #include <keyboard451.h>
9 #include <1302_2.h>
10 #include <24C02.h>
11 #include <weight.h>
12 #include <timer.h> //定时器
13 #include <print.h>
14 #include <T9.h>
15 #include <set.h>
16
17 //子程序名称
18 void enter_normal_work_mode(BYTE key_value); //正常工作
19 void enter_zongci_work_mode(BYTE key_value); //总次
20 void enter_leibie_work_mode(BYTE ch451_key); //类别
21 void enter_shepi_work_mode(BYTE ch451_key); //设皮
22 void enter_riqi_work_mode(BYTE ch451_key); //日期
23 void enter_shijian_work_mode(BYTE ch451_key); //时间
24 void enter_zongqing_work_mode(BYTE ch451_key); //总清
25 void enter_danqing_work_mode(BYTE ch451_key); //单清
26 void enter_huizong_work_mode(BYTE ch451_key); //汇总
27 void enter_zidong_work_mode(BYTE ch451_key); //自动
28 void enter_jiucuo_work_mode(BYTE ch451_key); //纠错
29 void enter_zongzhong_work_mode(BYTE ch451_key); //总重
30 void enter_chaxun_work_mode(BYTE ch451_key); //查询
31 void enter_zouzhi_work_mode(BYTE ch451_key); //走纸
32 void enter_cunru_work_mode(BYTE ch451_key); //存入
33 void enter_guiling_work_mode(BYTE ch451_key); //归零
34 void enter_guangji_work_mode(BYTE ch451_key); //关机
35 void enter_diaocheng_work_mode(BYTE ch451_key); //调称
36 void enter_beiguang_work_mode(BYTE ch451_key); //背光
37 void display_state_icon(void); //显示状态
38 void display_normal(void); //显示正常
39 void main_init(void); //主程序初始化
40 void delay(void) ; //延时
41 void save_record(); //存入记录
42
43 //********以下增加打印子函数定义*********/
44 void enter_all_print_work_mode(BYTE ch451_key); //总报表打印
45 void enter_date_print_work_mode(BYTE ch451_key); //按日期打印
46 void enter_type_print_work_mode(BYTE ch451_key); //按类别打印
47 void enter_date_type_print_work_mode(BYTE ch451_key); //按日期类别打印
48
49 //---------新增用户名、类别名、参数设置-------//
50 void enter_user_name_work_mode(BYTE ch451_key); //设置用户名子函数
51 void enter_type_name_work_mode(BYTE ch451_key); //设置类别名子函数
52 void enter_canshu_work_mode(BYTE ch451_key); //设置参数子函数
53 void enter_scale_work_mode(BYTE ch451_key); //设置分度值字函数
54 void enter_max_weight_work_mode(BYTE ch451_key); //设置最大量程字函数
55 void auto_close(void);
C51 COMPILER V7.08 MAIN 03/05/2007 16:38:02 PAGE 2
56 void T9_PY_SHURU(ch451_key); //拼音输入子函数
57 //-------------------------------//
58
59
60 enum operate_mode
61 {
62 NORMAL, //正常模式
63 ZONG_CI, //总次
64 LEI_BIE, //类别
65 SHE_PI, //设皮
66 RI_QI, //日期
67 SHI_JIAN, //时间
68 ZONG_QING, //总清
69 DAN_QING, //单清
70 HUI_ZONG, //汇总
71 ZI_DONG, //自动
72 JIU_CUO, //纠错
73 ZONG_ZHONG, //总重
74 CHA_XUN, //查询
75 ZOU_ZHI, //走纸
76 BEI_GUANG, //背光
77 CUN_RU, //存入
78 GUI_LING, //归零
79 GUAN_JI, //关机
80 DIAO_CHENG,
81 T9_INPUT,////////////新增
82 SET_USER_NAME,////////////新增
83 SET_TYPE_NAME,////////////新增
84 SET_CANSHU, ////////////新增
85 PRINT_ALL, //全部打印
86 PRINT_TYPE, //按类别打印
87 PRINT_DATE, //按日期打印
88 PRINT_TYPE_DATE,//按类别和日期打印*/
89 SET_SCALE,//设置分度值
90 SET_MAX_WEIGHT//设置最大量程值 //调称
91 }work_mode;
92
93 //for state line;
94 BOOL flag_1,flag_1_1; //第一行的标志
95 BOOL flag_2,flag_2_2;
96 BOOL flag_3,flag_3_3;
97 BOOL flag_4,flag_4_4;
98 BOOL flag_5,flag_5_5;
99 BOOL flag_6,flag_6_6;
100
101 sbit aaa=P3^6; //液晶背光
102 sbit bbb=P3^7;
103
104 /////////增加变量定义//////////////////////////////
105 BOOL pulse=0;//定时脉冲(增加)
106 BOOL key_flag1=0;//按键标志位1(增加)
107 BOOL key_flag2=0;//按键标志位2(增加)
108 //int code_flag=0;//定义密码标志位(增加)
109 BYTE counter1=0;//计数变量1(增加)
110 BYTE counter2=0;//计数变量2(增加)
111 //按键值变量(增加)
112 //-------------------------------//
113 //BYTE save_current_code[6]={0};/////////////////////
114 BYTE save_tem_code1[6]={9,8,5,8,6,3};////////////////////////用户名密码
115 BYTE save_tem_code2[6]={9,3,5,9,4,7};////////////////////////类别名密码
116 //BYTE save_tem_code3[6]={7,6,5,4,3,2};////////////////////////参数设置密码
117 //----------END----------------//
C51 COMPILER V7.08 MAIN 03/05/2007 16:38:02 PAGE 3
118 //////////////////////////////////////////////////
119 //BYTE mm=0,nn=0;
120 BYTE key_num;//新增定义
121 //WORD max_weight; //最大称重量程
122 WORD static_weight; //将零点重量值定义为静态重量值 (增?
123 BYTE tem[6]={0};//用于输入最大量程
124 //-------------------------//
125 //按键音
126 void main()
127 {
128 1 int ii;
129 1 Delay1(5000) ;
130 1 main_init(); //初始化
131 1 Delay1(5000) ;
132 1 lcd_Init(); //显示初始化为图形
133 1 lcd_Disp_Clear();
134 1 lcd_Disp_Pho(tylx_new_mono); //显示公司图形
135 1 timer1_init(TIME_2S); //延时
136 1 while(count_timer1);
137 1 lcd_Disp_Clear_pho();
138 1
139 1 // lcd_Disp_shuzi(shuzi_zimo_a5,0);
140 1 // lcd_Disp_shuzi(shuzi_zimo_a5,4);
141 1
142 1 // timer1_init(TIME_2S); //延时
143 1 // while(count_timer1);
144 1 lcd_Write_Cmd(0x34);
145 1 save_unit.xu_num=1;
146 1
147 1 save_unit.weight_data=12;
148 1
149 1 //Write_Data_EEPROM(save_unit.xu_num);
150 1
151 1 //save_unit.weight_data=0;
152 1
153 1 //Read_Data_EEPROM();
154 1
155 1 if (save_unit.weight_data<90000) save_unit.weight_data=18;
156 1
157 1 for (ii=0;ii<2;ii++)
158 1 {
159 2 //lcd_Disp_Clear_pho();
160 2 //lcd_Disp_Clear();
161 2 //new_receive_weight=save_unit.weight_data;
162 2 lcd_Display_zhonglang(save_unit.weight_data); //显示重量(大字)
163 2
164 2 //timer1_init(TIME_2S);
165 2 //while(count_timer1);
166 2
167 2
168 2 }
169 1
170 1
171 1 lcd_Disp_Clear();
172 1 lcd_Disp_Text_Line_Order(0x82,tylx1); //显示公司电话
173 1 lcd_Disp_Text_Line_Order(0x92,tylx2);
174 1 lcd_Disp_Text_Line_Order(0x88,tylx3);
175 1 lcd_Disp_Text_Line_Order(0x98,tylx4);
176 1 timer1_init(TIME_2S);
177 1 while(count_timer1);
178 1 lcd_Disp_Clear();
179 1 display_normal();//second line //显示正常模式
C51 COMPILER V7.08 MAIN 03/05/2007 16:38:02 PAGE 4
180 1 ch451_init(); //键盘初始化
181 1 /*****************开总中断********************/
182 1 EA =1;
183 1
184 1 /*********************************************/
185 1 //进入主循环
186 1 while(1){
187 2 display_state_icon();//first line //显示符号
188 2
189 2 if(renew_key_id)
190 2 { //has key push
191 3 renew_key_id = 0;
192 3 timer1_init(TIME_4S);
193 3 switch (work_mode)
194 3 {
195 4 case NORMAL:
196 4 enter_normal_work_mode(ch451_key); //正常
197 4 break;
198 4 case ZONG_CI:
199 4 enter_zongci_work_mode(ch451_key); //总次
200 4 key_flag1=0;
201 4 key_flag2=0;
202 4 break;
203 4 case LEI_BIE:
204 4 enter_leibie_work_mode(ch451_key); //类别
205 4 key_flag1=0;
206 4 key_flag2=0;
207 4 break;
208 4 case SHE_PI:
209 4 enter_shepi_work_mode(ch451_key); //设皮
210 4 key_flag1=0;
211 4 key_flag2=0;
212 4 break;
213 4 case RI_QI:
214 4 enter_riqi_work_mode(ch451_key); //日期
215 4 key_flag1=0;
216 4 key_flag2=0;
217 4 break;
218 4 case SHI_JIAN:
219 4 enter_shijian_work_mode(ch451_key); //时间
220 4 key_flag1=0;
221 4 key_flag2=0;
222 4 break;
223 4 case ZONG_QING:
224 4 enter_zongqing_work_mode(ch451_key); //总清
225 4 key_flag1=0;
226 4 key_flag2=0;
227 4 break;
228 4 case DAN_QING:
229 4 enter_danqing_work_mode(ch451_key); //单清
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -