📄 key.lst
字号:
C51 COMPILER V8.01 KEY 10/03/2008 08:28:28 PAGE 1
C51 COMPILER V8.01, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN key.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE key.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "data.h"
2
3 /*---外部数据引用区---*/
4 extern uchar str[25]; //存储需要在显示屏显示的字符
5 extern uchar PageFlage; //显示的当前页号
6 extern uchar up; //上键按下次数
7 extern uchar down; //下键按下次数
8 extern uchar left; //左键按下次数
9 extern uchar right; //右键按下次数
10
11 extern uchar xdata sec1;
12 extern uchar xdata min1;
13 extern uchar xdata hour1;
14 extern uchar xdata day1;
15 extern uchar xdata month1;
16 extern uchar xdata year1;
17 extern uchar xdata week1;
18
19 extern uchar xdata sec2;
20 extern uchar xdata min2;
21 extern uchar xdata hour2;
22 extern uchar xdata day2;
23 extern uchar xdata month2;
24 extern uchar xdata year2;
25 extern uchar xdata week2;
26
27 extern uchar xdata cal[8][7]; //日历表存储
28 /*---外部数据引用区---*/
29
30 /*---外部函数引用区---*/
31 extern void cls(); //显示屏清屏函数
32 extern int GetTemperature(); //读取温度函数
33 //显示器显示函数
34 extern uchar dprintf(uchar x,uchar y,char *string,uchar mod);
35 extern void MainPage(); //主页显示函数
36 /*---外部函数引用区---*/
37
38 /*---内部函数定义区---*/
39 uchar KeyScan(); //键盘扫描函数
40 uchar KeyProcess(uchar KeyNum); //按键处理函数
41 void LeftProcess(); //左键处理函数
42 void RightProcess(); //左键处理函数
43 void EnterProcess(); //确定按键处理函数
44 void Calendar(); //日历处理函数
45 /*---内部函数定义区---*/
46
47 uchar KeyScan()
48 {
49 1 uchar key;
50 1
51 1 key=0;
52 1
53 1 P1_0=0;
54 1 P1_1=1;
55 1 P1_2=1;
C51 COMPILER V8.01 KEY 10/03/2008 08:28:28 PAGE 2
56 1 P1_3=1;
57 1 P1_4=1;
58 1 P1_5=1;
59 1 P1_6=1;
60 1 P1_7=1;
61 1 _nop_();_nop_();
62 1 if(!P1_4)key=1;
63 1 if(!P1_5)key=2;
64 1 if(!P1_6)key=3;
65 1 if(!P1_7)key=4;
66 1
67 1 P1_0=1;
68 1 P1_1=0;
69 1 P1_2=1;
70 1 P1_3=1;
71 1 _nop_();_nop_();
72 1 if(!P1_4)key=5;
73 1 if(!P1_5)key=6;
74 1 if(!P1_6)key=7;
75 1 if(!P1_7)key=8;
76 1
77 1 P1_0=1;
78 1 P1_1=1;
79 1 P1_2=0;
80 1 P1_3=1;
81 1 _nop_();_nop_();
82 1 if(!P1_4)key=9;
83 1 if(!P1_5)key=10;
84 1 if(!P1_6)key=11;
85 1 if(!P1_7)key=12;
86 1
87 1 P1_0=1;
88 1 P1_1=1;
89 1 P1_2=1;
90 1 P1_3=0;
91 1 _nop_();_nop_();
92 1 if(!P1_4)key=13;
93 1 if(!P1_5)key=14;
94 1 if(!P1_6)key=15;
95 1 if(!P1_7)key=16;
96 1 _nop_();_nop_();
97 1 return key;
98 1 }
99
100 uchar KeyProcess(uchar KeyNum)
101 {
102 1 switch(KeyNum)
103 1 {
104 2 case 1:
105 2 cls();
106 2 dprintf(0,0,"测试1",1);
107 2 PageFlage = 0;
108 2 break;
109 2 case 2:
110 2 cls();
111 2 dprintf(0,0,"测试2",1);
112 2 PageFlage = 0;
113 2 break;
114 2 case 3:
115 2 LeftProcess();
116 2 break;
117 2 case 4:
C51 COMPILER V8.01 KEY 10/03/2008 08:28:28 PAGE 3
118 2 RightProcess();
119 2 break;
120 2 case 5:
121 2 cls();
122 2 dprintf(0,0,"测试5",1);
123 2 PageFlage = 0;
124 2 break;
125 2 case 6:
126 2 cls();
127 2 dprintf(0,0,"测试6",1);
128 2 PageFlage = 0;
129 2 break;
130 2 case 7:
131 2 cls();
132 2 dprintf(0,0,"测试7",1);
133 2 PageFlage = 0;
134 2 break;
135 2 case 8:
136 2 cls();
137 2 dprintf(0,0,"测试8",1);
138 2 PageFlage = 0;
139 2 break;
140 2 case 9:
141 2 cls();
142 2 dprintf(0,0,"测试9",1);
143 2 PageFlage = 0;
144 2 break;
145 2 case 10:
146 2 cls();
147 2 dprintf(0,0,"测试10",1);
148 2 PageFlage = 0;
149 2 break;
150 2 case 11:
151 2 cls();
152 2 dprintf(0,0,"测试11",1);
153 2 PageFlage = 0;
154 2 break;
155 2 case 12:
156 2 cls();
157 2 dprintf(0,0,"测试12",1);
158 2 PageFlage = 0;
159 2 break;
160 2 case 13:
161 2 cls();
162 2 dprintf(0,0,"测试13",1);
163 2 PageFlage = 0;
164 2 break;
165 2 case 14:
166 2 EnterProcess();
167 2 break;
168 2 case 15:
169 2 cls();
170 2 dprintf(0,0,"测试15",1);
171 2 PageFlage = 0;
172 2 break;
173 2 case 16:
174 2 cls();
175 2 MainPage();
176 2 PageFlage = 1;
177 2 break;
178 2 }
179 1 return PageFlage;
C51 COMPILER V8.01 KEY 10/03/2008 08:28:28 PAGE 4
180 1 }
181
182 void LeftProcess()
183 {
184 1 left++;
185 1 right--;
186 1 if(PageFlage == 1)
187 1 {
188 2 if(left == 4)
189 2 {
190 3 left = 1;
191 3 right = 3;
192 3 }
193 2 if(left == 1)
194 2 {
195 3 dprintf(0,48,"遥控",1);
196 3 dprintf(40,48,"日历",1);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -