📄 up51s005.lst
字号:
C51 COMPILER V7.08 UP51S005 01/04/2005 16:20:42 PAGE 1
C51 COMPILER V7.08, COMPILATION OF MODULE UP51S005
OBJECT MODULE PLACED IN up51s005.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE up51s005.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*******************************************************************************
2 * *
3 * File : uP51s005.c *
4 * Date : 2004-9-5 *
5 * Version : 1.0 *
6 * *
7 * Author : kevin kevin@dz51.com *
8 * Company : Http://www.dz51.com *
9 * *
10 ********************************************************************************
11 * Description: *
12 * 按键扫描程序 *
13 * 上电时, 点亮P00口LED *
14 * 按下AN1时, LED向右移一位 *
15 * 按下AN2时, LED向左移一位 *
16 *******************************************************************************/
17 #include <reg51.h>
18 #include <intrins.h>
19
20 unsigned char scan_key();
21 void proc_key(unsigned char key_v);
22 void delayms(unsigned char ms);
23
24 sbit AN1 = P3^2;
25 sbit AN2 = P3^3;
26 unsigned char leddata=0xfe;
27 main()
28 {
29 1
30 1 unsigned char key_s,key_v;
31 1 key_v = 0x03;
32 1 P0 = leddata;
33 1 while(1)
34 1 {
35 2 key_s = scan_key();
36 2 if(key_s != key_v)
37 2 {
38 3 delayms(10);
39 3 key_s = scan_key();
40 3 if(key_s != key_v)
41 3 {
42 4 key_v = key_s;
43 4 proc_key(key_v);
44 4 }
45 3 }
46 2 }
47 1 }
48
49 unsigned char scan_key()
50 {
51 1 unsigned char key_s;
52 1 key_s = 0x00;
53 1 key_s |= AN2;
54 1 key_s <<= 1;
55 1 key_s |= AN1;
C51 COMPILER V7.08 UP51S005 01/04/2005 16:20:42 PAGE 2
56 1 return key_s;
57 1 }
58
59 void proc_key(unsigned char key_v)
60 {
61 1 if((key_v & 0x01) == 0)
62 1 {
63 2 leddata = _cror_(leddata,1);
64 2 }
65 1 else if((key_v & 0x02) == 0)
66 1 {
67 2 leddata = _crol_(leddata, 1);
68 2 }
69 1 P0=leddata;
70 1 }
71
72 void delayms(unsigned char ms)
73 // 延时子程序
74 {
75 1 unsigned char i;
76 1 while(ms--)
77 1 {
78 2 for(i = 0; i < 120; i++);
79 2 }
80 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 115 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 2
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 + -