key_test.lst
来自「一个基于C51开发的计价秤」· LST 代码 · 共 142 行
LST
142 行
C51 COMPILER V7.50 KEY_TEST 03/29/2006 16:08:34 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE KEY_TEST
OBJECT MODULE PLACED IN key_test.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE key_test.c LARGE OPTIMIZE(9,SPEED) BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <SST89x5xxRD2.h>
2 #include <stdio.h>
3 #include "Public.h"
4 #include "KeyBoard.h"
5 #include "main.h"
6
7 VOID Key_Processing()
8 {
9 1 if(keyprocess)
10 1 {
11 2 keydone=0;
12 2 keyprocess=0;
13 2 numeric=0;
14 2 Beep();
15 2 if(!keypre[1]&&!keypre[2]&&!keypre[3])
16 2 {
17 3 /*switch(keypre[0])
18 3 {
19 3 case 0x01:P4=~P4;break;
20 3 case 0x02:P4=~P4;break;
21 3 case 0x03:P4=~P4;break;
22 3 case 0x04:P4=~P4;break;
23 3 case 0x7f:P4=~P4;break;
24 3 }*/
25 3 }
26 2 else if(keypre[3]&&keypre[0])//[MODE]+[OTHER]
27 2 {
28 3 switch(keypre[0])
29 3 {
30 4 case 49:P4=0xfb;mode=PLU_Setup_mode;break;
31 4 case 50:P4=0xfd;break;
32 4 case 0x01:P4=0xfe;break;
33 4 case 0x02:P4=0xf7;break;
34 4 }
35 3 }
36 2 else if(!keypre[1]&&keypre[2]&&!keypre[3])//[MEM]+[NUM]
37 2 {
38 3 switch(keypre[0])
39 3 {
40 4 case K_9:++numeric;
41 4 case K_8:++numeric;
42 4 case K_7:++numeric;
43 4 case K_6:++numeric;
44 4 case K_5:++numeric;
45 4 case K_4:++numeric;
46 4 case K_3:++numeric;
47 4 case K_2:++numeric;
48 4 case K_1:++numeric;
49 4 case K_0:
50 4 if(!memory_key_hold)
51 4 {
52 5 memory_key_hold=TRUE;
53 5 memory_key_num=0;
54 5 }
55 4 if(memory_key_hold)
C51 COMPILER V7.50 KEY_TEST 03/29/2006 16:08:34 PAGE 2
56 4 {
57 5 dbuf[memory_key_num]=numeric;
58 5 ++memory_key_num;
59 5 }
60 4 if(memory_key_num==3)
61 4 {
62 5 memory_key_num=0;
63 5 PLU_no=dbuf[0]*100+dbuf[1]*10+dbuf[2];
64 5 }
65 4 break;
66 4 }
67 3 }
68 2 else if(keypre[3])
69 2 {
70 3 mode=Sales_mode;
71 3 }
72 2 keydone=1;
73 2 }
74 1 }
75
76 main()
77 {
78 1 INT16 i;
79 1 CS5532_init();
80 1 //Calibation_Gain();
81 1 beep_on=TRUE;
82 1 /*TMOD=V_TMOD;
83 1 TH0=V_TH0;TL0=V_TL0;
84 1 TH1=V_TH1;TL1=V_TL1;
85 1 TR0=1;ET0=1;
86 1 TR1=1;ET1=1;
87 1 EA=1;*/
88 1 memory_key_num=0;
89 1 keyprocess=FALSE;
90 1 keydone=TRUE;
91 1 for(i=0;i<5;i++)
92 1 Single_Convert();
93 1 Tare_count=0;
94 1 for(i=0;i<10;i++)
95 1 {
96 2 Single_Convert();
97 2 Tare_count+=Get_Convert_Data();
98 2 }
99 1 Tare_count=Tare_count/10;
100 1 One_count=0x8f;
101 1 Cal_flag=FALSE;
102 1 //Start_Continuous_Convert();
103 1 while(1)
104 1 {
105 2 //Key_Processing();
106 2 Single_Convert();
107 2 Monitor_Weigh_Scale();
108 2 /*if(colon)
109 2 P4=0x00;
110 2 else
111 2 P4=0xff;*/
112 2 printf("Current Weight is %d g\n",Weight);
113 2 }
114 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
C51 COMPILER V7.50 KEY_TEST 03/29/2006 16:08:34 PAGE 3
CODE SIZE = 523 ----
CONSTANT SIZE = 24 ----
XDATA SIZE = 205 2
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = 22 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?