📄 text1.lst
字号:
C51 COMPILER V7.50 TEXT1 05/27/2006 00:17:10 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 char nRxByte;
6 char Interrupt_Flag;
7 sbit P10=0x90;
8 sbit P32=0xB2;
9 sbit P33=0xB3;
10 void GetKeyFromRxByte();
11 main()
12 { nKeyNumber=0xFF;
13 1 Uart_Init();
14 1 EX0=1;
15 1 EX1=1;
16 1 ES=1;
17 1 EA=1;
18 1 Uart_Init();
19 1 while(1)
20 1 {
21 2 if(nKeyNumber==0xFF) ;
22 2 //printf("No key pressed\n");
23 2 else
24 2 { printf("key %d Pressed\n",nKeyNumber);
25 3 nKeyNumber=0xFF;
26 3 }
27 2 }
28 1 }
29 void int0() interrupt 0 using 0
30 { P10=1;
31 1 P10=0;
32 1 Interrupt_Flag=0;
33 1 }
34 void int1() interrupt 2 using 0
35 { P10=1;
36 1 P10=0;
37 1 Interrupt_Flag=1;
38 1 }
39 void Serial_Port() interrupt 4 using 0
40 { if(RI==1)
41 1 {
42 2 nRxByte=SBUF;
43 2 GetKeyFromRxByte();
44 2 }
45 1 TI=0;
46 1 RI=0;
47 1 }
48 void GetKeyFromRxByte()
49 {int i,ntemp;
50 1 for(i=0;i<8;i++)
51 1 if(((nRxByte>>i)&0x01)==0)
52 1 {ntemp=i;
53 2 nKeyNumber=ntemp+8*Interrupt_Flag;
54 2 return;
55 2 }
C51 COMPILER V7.50 TEXT1 05/27/2006 00:17:10 PAGE 2
56 1
57 1 }
58 Uart_Init()
59 {SCON = 0x52; /* 设置串行口控制寄存器SCON*/
60 1 TMOD = 0x20; /* 12M时钟时波特率为2400 */
61 1 TCON = 0x69; /* TCON */
62 1 TH1 = 0xf3; /* TH1 */
63 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 177 ----
CONSTANT SIZE = 17 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 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 + -