📄 text1.lst
字号:
C51 COMPILER V7.50 TEXT1 05/26/2006 21:23:25 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 #include<stdio.h>
3 Uart_Init();
4 int nKeyNumber;
5 sbit P10=0x90;
6 sbit P11=0x91;
7 sbit P12=0x92;
8 sbit P13=0x93;
9 sbit P14=0x94;
10 sbit P15=0x95;
11 sbit P16=0x96;
12 sbit P17=0x97;
13 main()
14 { nKeyNumber=0xFF;
15 1 P10=0;
16 1 P11=0;
17 1 P12=0;
18 1 P13=0;
19 1 EX0=1;
20 1 EA=1;
21 1 Uart_Init();
22 1 while(1)
23 1 { EX0=1;
24 2 if(nKeyNumber==0xFF) ;
25 2 //printf("No key pressed\n");
26 2 else
27 2 {
28 3 printf("key %d Pressed\n",nKeyNumber);
29 3 nKeyNumber=0xFF;
30 3 }
31 2
32 2
33 2
34 2 }
35 1 }
36
37 Uart_Init()
38 {SCON = 0x52; /* 设置串行口控制寄存器SCON*/
39 1 TMOD = 0x20; /* 12M时钟时波特率为2400 */
40 1 TCON = 0x69; /* TCON */
41 1 TH1 = 0xf3; /* TH1 */
42 1 }
43
44 void int0() interrupt 0 using 0
45 {
46 1 int i,j;
47 1 int Pin1;
48 1 EX0=0; /* 关中断*/
49 1 for(i=0;i<4;i++)
50 1 for(j=0;j<4;j++)
51 1 {
52 2 P1=0xFF&(~(0x01<<(3-i)));
53 2 Pin1=P1;
54 2 if(((Pin1>>(4+j))&0x01)==0)
55 2 {nKeyNumber=i+j*4;
C51 COMPILER V7.50 TEXT1 05/26/2006 21:23:25 PAGE 2
56 3 return;
57 3
58 3 }
59 2 }
60 1 EX0=1;
61 1
62 1
63 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 175 ----
CONSTANT SIZE = 17 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 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 + -