📄 port.lst
字号:
C51 COMPILER V7.50 PORT 05/12/2006 19:00:38 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE PORT
OBJECT MODULE PLACED IN .\Port.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\Port.c OPTIMIZE(4,SPEED) REGFILE(.\RfCtrl.ORC) ORDER DEBUG OBJECTEXTEND CODE SYMBOLS
- NOCOND PAGEWIDTH(132) PAGELENGTH(1000) OBJECT(.\Port.obj)
line level source
1 /**********************************************************
2 * Port.c *
3 **********************************************************/
4 #define PORT_GLOBALS
5 //=========================================================
6 #include "Os\Sm5964.h"
7 #include "Os\Struct.h"
8 #include "Os\Hardware.h"
9 #include "Os\Uart.h"
10 #include "Os\Tools.h"
11 #include "Os\Error.h"
12 #include "Os\OS.h"
13 #include "Os\TmrTsk.h"
14 #include "Os\TskMan.h"
15 #include "Os\Tmr2.h"
16 #include "Config.h"
17 #include "ApplyStruct.h"
18 #include "Port.h"
19 //=========================================================
20 #define DEBUG_PORT 0
21 //=========================================================
22 static INT16UX KeyCount;
23 //=========================================================
24 static void ScanKey(void)
25 {
26 1 if(KEY==0) KeyCount++;
27 1 else
28 1 {
29 2 if(KeyCount)
30 2 {
31 3 SendTskMsg(PORTTSKID,MSG_PORTKEY,KeyCount);
32 3 KeyCount=0;
33 3 }
34 2 }
35 1 }
36 //=========================================================
37 void PortTmrProc(void)
38 {
39 1 #if DEBUG_PORT
42 1 LED=!LED;
43 1 ScanKey();
44 1 StartTmr(PORTTMRID,1);
45 1 }
46 //=========================================================
47 void InitPortTsk(void)
48 {
49 1 #if DEBUG_PORT
52 1 P0=0XFF;
53 1 P2=0XFF;
54 1
55 1 KeyCount=0;
56 1
57 1 InstallTmr(PORTTMRID,PortTmrProc);
58 1 StartTmr(PORTTMRID,1);
59 1 }
60 //=========================================================
61 void HdlKey(INT16U KeyValue)
62 {
63 1 #if DEBUG_PORT
66 1 if(KeyValue<SECOND) GotoIsp();
67 1 }
68 //=========================================================
69 void PortTskEntry(void)
70 {
71 1 #if DEBUG_PORT
74 1
75 1 if(TskMsg.MsgId==MSG_PORTKEY) HdlKey(TskMsg.Para);
76 1 }
77 //=========================================================
78
C51 COMPILER V7.50 PORT 05/12/2006 19:00:38 PAGE 2
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION ScanKey (BEGIN)
; SOURCE LINE # 24
; SOURCE LINE # 25
; SOURCE LINE # 26
0000 20B60F JB P3_6,?C0001
0003 900000 R MOV DPTR,#KeyCount+01H
0006 E0 MOVX A,@DPTR
0007 04 INC A
0008 F0 MOVX @DPTR,A
0009 7006 JNZ ?C0011
000B 900000 R MOV DPTR,#KeyCount
000E E0 MOVX A,@DPTR
000F 04 INC A
0010 F0 MOVX @DPTR,A
0011 ?C0011:
0011 22 RET
0012 ?C0001:
; SOURCE LINE # 28
; SOURCE LINE # 29
0012 900000 R MOV DPTR,#KeyCount
0015 E0 MOVX A,@DPTR
0016 7002 JNZ ?C0012
0018 A3 INC DPTR
0019 E0 MOVX A,@DPTR
001A ?C0012:
001A 6016 JZ ?C0004
; SOURCE LINE # 30
; SOURCE LINE # 31
001C 900000 R MOV DPTR,#KeyCount
001F E0 MOVX A,@DPTR
0020 FA MOV R2,A
0021 A3 INC DPTR
0022 E0 MOVX A,@DPTR
0023 FB MOV R3,A
0024 7D05 MOV R5,#05H
0026 7F04 MOV R7,#04H
0028 120000 E LCALL _SendTskMsg
; SOURCE LINE # 32
002B E4 CLR A
002C 900000 R MOV DPTR,#KeyCount
002F F0 MOVX @DPTR,A
0030 A3 INC DPTR
0031 F0 MOVX @DPTR,A
; SOURCE LINE # 33
; SOURCE LINE # 34
; SOURCE LINE # 35
0032 ?C0004:
0032 22 RET
; FUNCTION ScanKey (END)
; FUNCTION PortTmrProc (BEGIN)
; SOURCE LINE # 37
; SOURCE LINE # 38
; SOURCE LINE # 42
0000 B2A6 CPL P2_6
; SOURCE LINE # 43
0002 120000 R LCALL ScanKey
; SOURCE LINE # 44
0005 7D01 MOV R5,#01H
0007 7C00 MOV R4,#00H
0009 7F05 MOV R7,#05H
000B 120000 E LCALL _StartTmr
; SOURCE LINE # 45
000E 22 RET
; FUNCTION PortTmrProc (END)
; FUNCTION InitPortTsk (BEGIN)
; SOURCE LINE # 47
; SOURCE LINE # 48
; SOURCE LINE # 52
0000 7580FF MOV P0,#0FFH
; SOURCE LINE # 53
0003 75A0FF MOV P2,#0FFH
; SOURCE LINE # 55
0006 E4 CLR A
0007 900000 R MOV DPTR,#KeyCount
000A F0 MOVX @DPTR,A
000B A3 INC DPTR
000C F0 MOVX @DPTR,A
; SOURCE LINE # 57
000D 7C00 R MOV R4,#HIGH PortTmrProc
000F 7D00 R MOV R5,#LOW PortTmrProc
0011 7F05 MOV R7,#05H
0013 120000 E LCALL _InstallTmr
; SOURCE LINE # 58
0016 7D01 MOV R5,#01H
0018 7C00 MOV R4,#00H
001A 7F05 MOV R7,#05H
001C 120000 E LCALL _StartTmr
; SOURCE LINE # 59
001F 22 RET
; FUNCTION InitPortTsk (END)
; FUNCTION _HdlKey (BEGIN)
; SOURCE LINE # 61
;---- Variable 'KeyValue' assigned to Register 'R6/R7' ----
; SOURCE LINE # 62
; SOURCE LINE # 66
0000 C3 CLR C
0001 EF MOV A,R7
0002 9432 SUBB A,#032H
0004 EE MOV A,R6
0005 9400 SUBB A,#00H
0007 5003 JNC ?C0008
0009 120000 E LCALL GotoIsp
; SOURCE LINE # 67
000C ?C0008:
000C 22 RET
; FUNCTION _HdlKey (END)
; FUNCTION PortTskEntry (BEGIN)
; SOURCE LINE # 69
; SOURCE LINE # 70
; SOURCE LINE # 75
0000 7800 E MOV R0,#LOW TskMsg+01H
0002 E6 MOV A,@R0
0003 B40509 CJNE A,#05H,?C0010
0006 08 INC R0
0007 E6 MOV A,@R0
0008 FE MOV R6,A
0009 08 INC R0
000A E6 MOV A,@R0
000B FF MOV R7,A
000C 120000 R LCALL _HdlKey
; SOURCE LINE # 76
000F ?C0010:
000F 22 RET
; FUNCTION PortTskEntry (END)
C51 COMPILER V7.50 PORT 05/12/2006 19:00:38 PAGE 3
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P0 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0080H 1
P2 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A0H 1
P2_6 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A6H 1
P3_6 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B6H 1
BOOLEAN. . . . . . . . . . . . . . . . TYPEDEF ----- U_CHAR ----- 1
INT8U. . . . . . . . . . . . . . . . . TYPEDEF ----- U_CHAR ----- 1
INT16U . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
INT32U . . . . . . . . . . . . . . . . TYPEDEF ----- U_LONG ----- 4
BOOLEANI . . . . . . . . . . . . . . . TYPEDEF ----- U_CHAR ----- 1
BOOLEANX . . . . . . . . . . . . . . . TYPEDEF ----- U_CHAR ----- 1
INT8UI . . . . . . . . . . . . . . . . TYPEDEF ----- U_CHAR ----- 1
INT8UX . . . . . . . . . . . . . . . . TYPEDEF ----- U_CHAR ----- 1
INT16UI. . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
INT16UX. . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
INT32UI. . . . . . . . . . . . . . . . TYPEDEF ----- U_LONG ----- 4
INT32UX. . . . . . . . . . . . . . . . TYPEDEF ----- U_LONG ----- 4
INT8UC . . . . . . . . . . . . . . . . TYPEDEF ----- U_CHAR ----- 1
INT16UC. . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
INT32UC. . . . . . . . . . . . . . . . TYPEDEF ----- U_LONG ----- 4
FLOATX . . . . . . . . . . . . . . . . TYPEDEF ----- FLOAT ----- 4
TskMsgStruct . . . . . . . . . . . . . TYPEDEF ----- STRUCT ----- 4
TskId. . . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0000H 1
MsgId. . . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0001H 1
Para . . . . . . . . . . . . . . . . MEMBER ----- U_INT 0002H 2
MsgStruct. . . . . . . . . . . . . . . TYPEDEF ----- STRUCT ----- 4
TskId. . . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0000H 1
MsgId. . . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0001H 1
Para . . . . . . . . . . . . . . . . MEMBER ----- U_INT 0002H 2
QueStruct. . . . . . . . . . . . . . . TYPEDEF ----- STRUCT ----- 5
Head . . . . . . . . . . . . . . . . MEMBER ----- PTR 0000H 2
Tail . . . . . . . . . . . . . . . . MEMBER ----- PTR 0002H 2
Item . . . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0004H 1
KeyEntryStruct . . . . . . . . . . . . TYPEDEF ----- STRUCT ----- 5
KeyWord. . . . . . . . . . . . . . . MEMBER ----- PTR 0000H 3
ExecAddr . . . . . . . . . . . . . . MEMBER ----- U_INT 0003H 2
GotoIsp. . . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
_InstallTmr. . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
_StartTmr. . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
TskMsg . . . . . . . . . . . . . . . . EXTERN IDATA STRUCT ----- 4
_SendTskMsg. . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
DATE_STRUCT. . . . . . . . . . . . . . TYPEDEF ----- STRUCT ----- 3
Year . . . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0000H 1
Month. . . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0001H 1
Day. . . . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0002H 1
TIME_STRUCT. . . . . . . . . . . . . . TYPEDEF ----- STRUCT ----- 3
Hour . . . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0000H 1
Minute . . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0001H 1
Second . . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0002H 1
InitPortTsk. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
PortTskEntry . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
KeyCount . . . . . . . . . . . . . . . STATIC XDATA U_INT 0000H 2
ScanKey. . . . . . . . . . . . . . . . STATIC CODE PROC 0000H -----
PortTmrProc. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
_HdlKey. . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
KeyValue . . . . . . . . . . . . . . * REG * DATA U_INT 0006H 2
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 127 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 2 ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -