📄 s1.lst
字号:
C51 COMPILER V7.20 S1 12/18/2005 14:29:50 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE S1
OBJECT MODULE PLACED IN s1.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE s1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #define uchar unsigned char
2 #include "string.h"
3 #include "reg51.h"
4 #include "stdio.h"
5 void SendData(uchar Dat)
6 { uchar i=0;
7 1 SBUF=Dat;
8 1 while(1)
9 1 { if(TI)
10 2 { TI=0;
11 3 break;
12 3 }
13 2 }
14 1 }
15 void mDelay(unsigned int DelayTime)
16 { unsigned char j=0;
17 1 for(;DelayTime>0;DelayTime--)
18 1 { for(j=0;j<125;j++)
19 2 {;}
20 2 }
21 1 }
22 uchar Key()
23 { uchar KValue;
24 1 P3|=0x3e; //中间4位置高电平
25 1 if((KValue=P3|0xe3)!=0xff)
26 1 { mDelay(10);
27 2 if((KValue=P3|0xe3)!=0xff)
28 2 { for(;;)
29 3 if((P3|0xe3)==0xff)
30 3 return(KValue);
31 3 }
32 2 }
33 1 return(0);
34 1 }
35
36 void main()
37 { uchar KeyValue;
38 1 uchar c;
39 1 P1=0xff; //关闭P1口接的所有灯
40 1 TMOD=0x20; //确定定时器工作模式
41 1 TH1=0xFD;
42 1 TL0=0xFD; //定时初值
43 1 PCON&=0x80; //SMOD=1
44 1 TR1=1; //开启定时器1
45 1 SCON=0x40; //串口工作方式1
46 1 REN=1; //允许接收
47 1 for(;;)
48 1 { if(KeyValue=Key())
49 2 { if((KeyValue|0xfb)!=0xff) //K1按下
50 3 SendData(0x55);
51 3 if((KeyValue|0xf7)!=0xff)
52 3 SendData(0xaa);
53 3 }
54 2
55 2 if(RI)
C51 COMPILER V7.20 S1 12/18/2005 14:29:50 PAGE 2
56 2 { c=SBUF;
57 3 P1=c;
58 3 RI=0;
59 3 }
60 2 }
61 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 133 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 1
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 + -