📄 keyscan.lst
字号:
C51 COMPILER V8.02 KEYSCAN 05/04/2002 11:07:14 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE KEYSCAN
OBJECT MODULE PLACED IN keyscan.OBJ
COMPILER INVOKED BY: D:\keil\新建文件夹\C51\BIN\C51.EXE keyscan.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg52.h>
2 #include<all.h>
3 #define uchar unsigned char
4 #define uint unsigned int
5
6 sbit key0=P1^0;
7 sbit key1=P1^1;
8 sbit key2=P1^2;
9 sbit key3=P1^3;
10 sbit lamp=P2^5;
11 uchar con=0x00;
12
13
14 void DelayM(uint a)
15 {
16 1 uchar i;
17 1 while( --a != 0)
18 1 {
19 2 for(i = 0; i < 125; i++);
20 2 }
21 1 }
22
23
24 void keyscan()
25 {
26 1 uchar i;
27 1 char timedata,max,min;
28 1 EA=0;
29 1 if(key3==0)
30 1 {
31 2 DelayM(40);
32 2 if(key3==0)
33 2 lamp=!lamp;
34 2 }
35 1 if(key0==0)
36 1 {
37 2 DelayM(40);
38 2 if(key0==0)
39 2 con++;
40 2 if(con>=7)
41 2 con=0;
42 2 }
43 1 if(con!=0)
44 1 {
45 2 if(key1==0)
46 2 {
47 3 DelayM(40);
48 3 if(key1==0)
49 3 {
50 4 switch(con)
51 4 {
52 5 case 1: max=100;min=0;i=0x09;break; //年
53 5 case 2: max=13; min=1;i=0x08;break; //月
54 5 case 3: max=32; min=1;i=0x07;break; //日
55 5 case 4: max=8; min=1;i=0x06;break; //星期
C51 COMPILER V8.02 KEYSCAN 05/04/2002 11:07:14 PAGE 2
56 5 case 5: max=24; min=0;i=0x04;break; // 时
57 5 case 6: max=60; min=0;i=0x02;break; // 分
58 5 default : break;
59 5 }
60 4 timedata=ds_read(i);
61 4 timedata++;
62 4 if(timedata>=max) timedata=min;
63 4 ds_write(i,timedata);
64 4 }
65 3 }
66 2 }
67 1
68 1 if(key2==0)
69 1 {
70 2 DelayM(40);
71 2 if(key2==0)
72 2 {
73 3 switch(con)
74 3 {
75 4 case 1: min=255;max=99;i=0x09;break; //年
76 4 case 2: min=0; max=12;i=0x08;break; //月
77 4 case 3: min=0; max=31;i=0x07;break; //日
78 4 case 4: min=0; max=7; i=0x06;break; //星期
79 4 case 5: min=255;max=23;i=0x04;break; //时
80 4 case 6: min=255;max=59;i=0x02;break; //分
81 4 default : break;
82 4 }
83 3 timedata=ds_read(i); //读取待修改的参数
84 3 timedata--;
85 3 if(timedata<=min)
86 3 timedata=max;
87 3 ds_write(i,timedata); //将修改好的参数送入12887
88 3 }
89 2 }
90 1 }
91
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 321 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 4
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -