📄 keyp_232.lst
字号:
C51 COMPILER V6.10 KEYP_232 04/18/2001 16:17:13 PAGE 1
C51 COMPILER V6.10, COMPILATION OF MODULE KEYP_232
OBJECT MODULE PLACED IN .\KEYP_232.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE .\KEYP_232.C OPTIMIZE(6,SPEED) BROWSE DEBUG OBJECTEXTEND SYMBOLS
stmt level source
1 /*------------------------------------------------------------------*-
2
3 Keyp_232.C (v1.00)
4
5 ------------------------------------------------------------------
6
7 Simple demonstration function for transferring keypad inputs to
8 PC via serial (RS232) link.
9
10
11 COPYRIGHT
12 ---------
13
14 This code is from the book:
15
16 PATTERNS FOR TIME-TRIGGERED EMBEDDED SYSTEMS by Michael J. Pont
17 [Pearson Education, 2001; ISBN: 0-201-33138-1].
18
19 This code is copyright (c) 2001 by Michael J. Pont.
20
21 See book for copyright details and other information.
22
23 -*------------------------------------------------------------------*/
24
25 #include "Main.h"
26 #include "Keypad.h"
27 #include "Keyp_232.h"
28 #include "PC_O.h"
29
30 // ------ Private variables ----------------------------------------
31
32 tByte Count_G;
33
34 /*------------------------------------------------------------------*-
35
36 Keypad_RS232_Init()
37
38 Init function for simple library displaying keypad inputs
39 over serial link.
40
41 -*------------------------------------------------------------------*/
42 void Keypad_RS232_Init(void)
43 {
44 1 PC_LINK_O_Write_String_To_Buffer("Keypad test code - READY\n");
45 1
46 1 Count_G = 0;
47 1
48 1 KEYPAD_Clear_Buffer();
49 1 }
50
51
52 /*------------------------------------------------------------------*-
53
54 Keypad_RS232_Update()
55
C51 COMPILER V6.10 KEYP_232 04/18/2001 16:17:13 PAGE 2
56 Function for displaying keypad inputs over serial link.
57
58 -*------------------------------------------------------------------*/
59 void Keypad_RS232_Update(void)
60 {
61 1 char Key, FnKey;
62 1
63 1 // Update the keypad buffer
64 1 KEYPAD_Update();
65 1
66 1 // Is there any new data in the keypad buffer?
67 1 if (KEYPAD_Get_Data_From_Buffer(&Key, &FnKey) == 0)
68 1 {
69 2 // No new data.
70 2 return;
71 2 }
72 1
73 1 // Function key has been pressed (with another key)
74 1 if (FnKey)
75 1 {
76 2 PC_LINK_O_Write_Char_To_Buffer('\n');
77 2 PC_LINK_O_Write_Char_To_Buffer(FnKey);
78 2 PC_LINK_O_Write_Char_To_Buffer(Key);
79 2 PC_LINK_O_Write_Char_To_Buffer('\n');
80 2
81 2 Count_G = 0;
82 2 }
83 1 else
84 1 {
85 2 // An ordinary key (no function key) has been pressed
86 2 PC_LINK_O_Write_Char_To_Buffer(Key);
87 2
88 2 if (++Count_G == 10)
89 2 {
90 3 PC_LINK_O_Write_Char_To_Buffer('\n');
91 3 Count_G = 0;
92 3 }
93 2 }
94 1 }
95
96 /*------------------------------------------------------------------*-
97 ---- END OF FILE -------------------------------------------------
98 -*------------------------------------------------------------------*/
C51 COMPILER V6.10 KEYP_232 04/18/2001 16:17:13 PAGE 3
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
T2I0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C8H 1
T2I1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C9H 1
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
T0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
AC . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D6H 1
P4 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00E8H 1
T1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
T2 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0097H 1
BD . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00DFH 1
tLong. . . . . . . . . . . . . . . . . TYPEDEF ----- U_LONG ----- 4
KEYPAD_Update. . . . . . . . . . . . . EXTERN CODE PROC ----- -----
T2R0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CBH 1
T2R1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CCH 1
tByte. . . . . . . . . . . . . . . . . TYPEDEF ----- U_CHAR ----- 1
IEN0 . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A8H 1
EADC . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B8H 1
IEN1 . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
IADC . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C0H 1
tWord. . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
I2FR . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CDH 1
I3FR . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CEH 1
EXF2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C7H 1
RD . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1
T2CM . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CAH 1
ADCON0 . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D8H 1
ES . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ACH 1
IEX2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C1H 1
IEX3 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C2H 1
IEX4 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C3H 1
RI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0098H 1
IEX5 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C4H 1
INT0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
CY . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D7H 1
IEX6 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C5H 1
TI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0099H 1
INT1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
INT2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0094H 1
INT3 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0090H 1
INT4 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0091H 1
INT5 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0092H 1
INT6 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0093H 1
ADEX . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00DDH 1
INT8 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00EDH 1
T2EX . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0095H 1
OV . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D2H 1
WR . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B6H 1
T2PS . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CFH 1
ADST . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00E8H 1
SCLK . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00E9H 1
RXDC . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00EFH 1
Count_G. . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0000H 1
_KEYPAD_Get_Data_From_Buffer . . . . . EXTERN CODE PROC ----- -----
TXDC . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00EEH 1
SCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0098H 1
TCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0088H 1
IE0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0089H 1
C51 COMPILER V6.10 KEYP_232 04/18/2001 16:17:13 PAGE 4
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
IE1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008BH 1
SWDT . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BEH 1
Keypad_RS232_Update. . . . . . . . . . PUBLIC CODE PROC 0000H -----
Key. . . . . . . . . . . . . . . . . AUTO DATA CHAR 0000H 1
FnKey. . . . . . . . . . . . . . . . AUTO DATA CHAR 0001H 1
KEYPAD_Clear_Buffer. . . . . . . . . . EXTERN CODE PROC ----- -----
ET0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A9H 1
ET1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ABH 1
TF0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008DH 1
ET2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ADH 1
TF1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008FH 1
TF2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C6H 1
RB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009AH 1
EX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A8H 1
IT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0088H 1
TB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009BH 1
EX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AAH 1
IT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008AH 1
EX2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B9H 1
P. . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D0H 1
SM0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009FH 1
EX3. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BAH 1
SM1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009EH 1
EX4. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BBH 1
ADM. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00DBH 1
SM2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009DH 1
EX5. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BCH 1
EAL. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
EX6. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BDH 1
CLKOUT . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0096H 1
MX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D8H 1
RS0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D3H 1
MX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D9H 1
TR0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008CH 1
RS1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D4H 1
MX2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00DAH 1
TR1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008EH 1
CLK. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00DEH 1
_PC_LINK_O_Write_String_To_Buffer. . . EXTERN CODE PROC ----- -----
EXEN2. . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BFH 1
_PC_LINK_O_Write_Char_To_Buffer. . . . EXTERN CODE PROC ----- -----
REN. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009CH 1
T2CON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C8H 1
SRI. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00EAH 1
BSY. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00DCH 1
RXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B0H 1
WDT. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AEH 1
TXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B1H 1
SLS. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ECH 1
F0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D5H 1
Keypad_RS232_Init. . . . . . . . . . . PUBLIC CODE PROC 0000H -----
STO. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00EBH 1
F1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D1H 1
PSW. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D0H 1
IRCON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C0H 1
MODULE INFORMATION: STATIC OVERLAYABLE
C51 COMPILER V6.10 KEYP_232 04/18/2001 16:17:13 PAGE 5
CODE SIZE = 88 ----
CONSTANT SIZE = 26 ----
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 + -