📄 lcd_main.lst
字号:
72 =1 void K_OS_Low_Power_Func(void); /* reduced CPU power down function */
73 =1 void K_I_Intrp_Pipe_Out(void) reentrant; /* executes the interrupts CMX function requests */
74 =1 void K_OS_Start(void) reentrant; /* enter CMX OS */
75 =1
76 =1 void K_I_Timer_Task(void) reentrant; /* CMX's timer task */
77 =1 void K_OS_Tick_Update(void) reentrant; /* called by interrupt, system tick */
78 =1
79 =1 /****************************************************
80 =1 The following functions are for the CMX UART module
81 =1 ****************************************************/
82 =1 void K_Init_Xmit(void) reentrant; /* initialize transmitter and buffer */
C51 COMPILER V5.10, SN- LCD_MAIN 01/07/08 08:57:40 PAGE 6
83 =1 void K_Init_Recv(void) reentrant; /* initailize reciever and buffer */
84 =1 void K_Update_Xmit(void) reentrant; /* called by transmitter interrupt handler. */
85 =1 void K_Update_Recv(void) reentrant; /* called by reciever interrupt handler. */
86 =1 void K_Init_Xmit_r(void) reentrant; /* initialize transmitter and buffer */
87 =1 void K_Init_Recv_r(void) reentrant; /* initailize reciever and buffer */
88 =1 void K_Update_Xmit_r(void) reentrant; /* called by transmitter interrupt handler. */
89 =1 void K_Update_Recv_r(void) reentrant; /* called by reciever interrupt handler. */
90 =1 byte K_Put_Str(void *,void *,word16) reentrant; /* put chars into transmit buffer */
91 =1 byte K_Put_Str_Wait(void *,void *,word16,word16) reentrant; /* same as above and wait if need be*/
92 =1 byte K_Put_Char(void *,void *) reentrant; /* put 1 char into transmit buffer */
93 =1 byte K_Put_Char_Wait(void *,void *,word16) reentrant; /* same as above and wait if need be */
94 =1 word16 K_Get_Str(void *,void *,word16) reentrant; /* get chars from reciever buffer */
95 =1 word16 K_Get_Str_Wait(void *,void *,word16,word16) reentrant; /* same as above with wait */
96 =1 word16 K_Get_Char(void *,void *) reentrant; /* get single char from recieve buffer */
97 =1 word16 K_Get_Char_Wait(void *,void *,word16) reentrant; /* same as above with wait */
98 =1 word16 K_Get_Str_Wait_Return(void *,void *,word16,word16) reentrant; /* get requested number with wait */
99 =1 word16 K_Get_Str_Return(void *,void *) reentrant; /* get variable number from buffer */
100 =1 word16 K_Recv_Count(void *) reentrant; /* count of number of characters in receive buff */
101 =1
102 =1 /***************************************************************
103 =1 external assembly routines
104 =1 ***************************************************************/
105 =1 extern void K_OS_Disable_Interrupts(void); /* clears JUST I BIT */
106 =1 extern void K_OS_Enable_Interrupts(void); /* sets JUST I BIT */
107 =1 extern void K_OS_Save_Interrupts(void); /* clears JUST I BIT */
108 =1 extern void K_OS_Restore_Interrupts(void); /* sets JUST I BIT */
109 =1 extern void K_I_Sched(void);
110 =1 extern void K_I_Scheduler(void);
111 =1 extern void K_OS_Intrp_Exit(void);
112 =1 /*******************************************************
113 =1 * the following functions are not to be called by user *
114 =1 * used ONLY by other cmx functions *
115 =1 *******************************************************/
116 =1
117 =1 void K_I_Unlink(tcbpointer) reentrant;
118 =1 void K_I_Priority_In(tcbpointer,byte) reentrant;
119 =1 void K_I_Copy(byte *,byte *,byte) reentrant;
120 =1 byte K_I_Get_Ptr(byte,tcbpointer *) reentrant;
121 =1 void K_I_Func_Return(void) reentrant;
122 =1 byte K_I_Time_Common(word16,byte) reentrant;
123 =1
124 =1 byte K_I_Intrp_Pipe_In(byte,byte,byte,word16,void *) reentrant;
125 =1 #define K_Intrp_Task_Wake(A) K_I_Intrp_Pipe_In(0,A,0,0,0)
126 =1 #define K_Intrp_Task_Wake_Force(A) K_I_Intrp_Pipe_In(1,A,0,0,0)
127 =1 #define K_Intrp_Task_Start(A) K_I_Intrp_Pipe_In(2,A,0,0,0)
128 =1 #define K_Intrp_Timer_Stop(A) K_I_Intrp_Pipe_In(3,A,0,0,0)
129 =1 #define K_Intrp_Timer_Restart(A) K_I_Intrp_Pipe_In(4,A,0,0,0)
130 =1 #define K_Intrp_Timer_Initial(A,B) K_I_Intrp_Pipe_In(5,A,0,B,0)
131 =1 #define K_Intrp_Timer_Cyclic(A,B) K_I_Intrp_Pipe_In(6,A,0,B,0)
132 =1 #define K_Intrp_Mesg_Send(A,B) K_I_Intrp_Pipe_In(7,A,0,0,B)
133 =1 #define K_Intrp_Event_Signal(A,B,C) K_I_Intrp_Pipe_In(8,A,B,C,0)
134 =1 #define K_Intrp_Semaphore_Post(A) K_I_Intrp_Pipe_In(9,A,0,0,0)
2 #include <at8252.h>
1 =1 /*--------------------------------------------------------------------------
2 =1 AT89S8252.H
3 =1
4 =1 Header file for the low voltage Flash Atmel AT89C52 and AT89LV52.
5 =1 Copyright (c) 1995-1996 Keil Software, Inc. All rights reserved.
6 =1 --------------------------------------------------------------------------*/
7 =1
8 =1 #ifndef AT89S8252_HEADER_FILE
9 =1 #define AT89S8252_HEADER_FILE 1
C51 COMPILER V5.10, SN- LCD_MAIN 01/07/08 08:57:40 PAGE 7
10 =1
11 =1 /*------------------------------------------------
12 =1 Byte Registers
13 =1 ------------------------------------------------*/
14 =1 sfr P0 = 0x80;
15 =1 sfr SP = 0x81;
16 =1 sfr DP0L = 0x82;
17 =1 sfr DP0H = 0x83;
18 =1 sfr DP1L =0x84;
19 =1 sfr DP1H =0x85;
20 =1 sfr SPDR =0x86;
21 =1 sfr PCON = 0x87;
22 =1 sfr TCON = 0x88;
23 =1 sfr TMOD = 0x89;
24 =1 sfr TL0 = 0x8A;
25 =1 sfr TL1 = 0x8B;
26 =1 sfr TH0 = 0x8C;
27 =1 sfr TH1 = 0x8D;
28 =1 sfr P1 = 0x90;
29 =1 sfr WMCON =0x96;
30 =1 sfr SCON = 0x98;
31 =1 sfr SBUF = 0x99;
32 =1 sfr P2 = 0xA0;
33 =1 sfr IE = 0xA8;
34 =1 sfr SPSR =0xAA;
35 =1 sfr P3 = 0xB0;
36 =1 sfr IP = 0xB8;
37 =1 sfr T2CON = 0xC8;
38 =1 sfr T2MOD = 0xC9;
39 =1 sfr RCAP2L = 0xCA;
40 =1 sfr RCAP2H = 0xCB;
41 =1 sfr TL2 = 0xCC;
42 =1 sfr TH2 = 0xCD;
43 =1 sfr PSW = 0xD0;
44 =1 sfr SPCR =0xD5;
45 =1 sfr ACC = 0xE0;
46 =1 sfr A = 0xE0;
47 =1 sfr B = 0xF0;
48 =1
49 =1 /*------------------------------------------------
50 =1 P0 Bit Registers
51 =1 ------------------------------------------------*/
52 =1 sbit P0_0 = 0x80;
53 =1 sbit P0_1 = 0x81;
54 =1 sbit P0_2 = 0x82;
55 =1 sbit P0_3 = 0x83;
56 =1 sbit P0_4 = 0x84;
57 =1 sbit P0_5 = 0x85;
58 =1 sbit P0_6 = 0x86;
59 =1 sbit P0_7 = 0x87;
60 =1
61 =1 /*------------------------------------------------
62 =1 PCON Bit Values
63 =1 ------------------------------------------------*/
64 =1 #define IDL_ 0x01
65 =1
66 =1 #define STOP_ 0x02
67 =1 #define PD_ 0x02 /* Alternate definition */
68 =1
69 =1 #define GF0_ 0x04
70 =1 #define GF1_ 0x08
71 =1 #define SMOD_ 0x80
C51 COMPILER V5.10, SN- LCD_MAIN 01/07/08 08:57:40 PAGE 8
72 =1
73 =1 /*------------------------------------------------
74 =1 TCON Bit Registers
75 =1 ------------------------------------------------*/
76 =1 sbit IT0 = 0x88;
77 =1 sbit IE0 = 0x89;
78 =1 sbit IT1 = 0x8A;
79 =1 sbit IE1 = 0x8B;
80 =1 sbit TR0 = 0x8C;
81 =1 sbit TF0 = 0x8D;
82 =1 sbit TR1 = 0x8E;
83 =1 sbit TF1 = 0x8F;
84 =1
85 =1 /*------------------------------------------------
86 =1 TMOD Bit Values
87 =1 ------------------------------------------------*/
88 =1 #define T0_M0_ 0x01
89 =1 #define T0_M1_ 0x02
90 =1 #define T0_CT_ 0x04
91 =1 #define T0_GATE_ 0x08
92 =1 #define T1_M0_ 0x10
93 =1 #define T1_M1_ 0x20
94 =1 #define T1_CT_ 0x40
95 =1 #define T1_GATE_ 0x80
96 =1
97 =1 #define T1_MASK_ 0xF0
98 =1 #define T0_MASK_ 0x0F
99 =1
100 =1 /*------------------------------------------------
101 =1 P1 Bit Registers
102 =1 ------------------------------------------------*/
103 =1 sbit P1_0 = 0x90;
104 =1 sbit P1_1 = 0x91;
105 =1 sbit P1_2 = 0x92;
106 =1 sbit P1_3 = 0x93;
107 =1 sbit P1_4 = 0x94;
108 =1 sbit P1_5 = 0x95;
109 =1 sbit P1_6 = 0x96;
110 =1 sbit P1_7 = 0x97;
111 =1
112 =1 sbit T2 = 0x90; /* External input to Timer/Counter 2, clock out */
113 =1 sbit T2EX = 0x91; /* Timer/Counter 2 capture/reload trigger & dir ctl */
114 =1 sbit SS =0x94;
115 =1 sbit MOSI =0x95;
116 =1 sbit MISO =0x96;
117 =1 sbit SCK =0x97;
118 =1
119 =1 /*------------------------------------------------
120 =1 SCON Bit Registers
121 =1 ------------------------------------------------*/
122 =1 sbit RI = 0x98;
123 =1 sbit TI = 0x99;
124 =1 sbit RB8 = 0x9A;
125 =1 sbit TB8 = 0x9B;
126 =1 sbit REN = 0x9C;
127 =1 sbit SM2 = 0x9D;
128 =1 sbit SM1 = 0x9E;
129 =1 sbit SM0 = 0x9F;
130 =1
131 =1 /*------------------------------------------------
132 =1 P2 Bit Registers
133 =1 ------------------------------------------------*/
C51 COMPILER V5.10, SN- LCD_MAIN 01/07/08 08:57:40 PAGE 9
134 =1 sbit P2_0 = 0xA0;
135 =1 sbit P2_1 = 0xA1;
136 =1 sbit P2_2 = 0xA2;
137 =1 sbit P2_3 = 0xA3;
138 =1 sbit P2_4 = 0xA4;
139 =1 sbit P2_5 = 0xA5;
140 =1 sbit P2_6 = 0xA6;
141 =1 sbit P2_7 = 0xA7;
142 =1
143 =1 /*------------------------------------------------
144 =1 IE Bit Registers
145 =1 ------------------------------------------------*/
146 =1 sbit EX0 = 0xA8; /* 1=Enable External interrupt 0 */
147 =1 sbit ET0 = 0xA9; /* 1=Enable Timer 0 interrupt */
148 =1 sbit EX1 = 0xAA; /* 1=Enable External interrupt 1 */
149 =1 sbit ET1 = 0xAB; /* 1=Enable Timer 1 interrupt */
150 =1 sbit ES = 0xAC; /* 1=Enable Serial port interrupt */
151 =1 sbit ET2 = 0xAD; /* 1=Enable Timer 2 interrupt */
152 =1
153 =1 sbit EA = 0xAF; /* 0=Disable all interrupts */
154 =1
155 =1 /*------------------------------------------------
156 =1 P3 Bit Registers (Mnemonics & Ports)
157 =1 ------------------------------------------------*/
158 =1 sbit P3_0 = 0xB0;
159 =1 sbit P3_1 = 0xB1;
160 =1 sbit P3_2 = 0xB2;
161 =1 sbit P3_3 = 0xB3;
162 =1 sbit P3_4 = 0xB4;
163 =1 sbit P3_5 = 0xB5;
164 =1 sbit P3_6 = 0xB6;
165 =1 sbit P3_7 = 0xB7;
166 =1
167 =1 sbit RXD = 0xB0; /* Serial data input */
168 =1 sbit TXD = 0xB1; /* Serial data output */
169 =1 sbit INT0 = 0xB2; /* External interrupt 0 */
170 =1 sbit INT1 = 0xB3; /* External interrupt 1 */
171 =1 sbit T0 = 0xB4; /* Timer 0 external input */
172 =1 sbit T1 = 0xB5; /* Timer 1 external input */
173 =1 sbit WR = 0xB6; /* External data memory write strobe */
174 =1 sbit RD = 0xB7; /* External data memory read strobe */
175 =1
176 =1 /*------------------------------------------------
177 =1 IP Bit Registers
178 =1 ------------------------------------------------*/
179 =1 sbit PX0 = 0xB8;
180 =1 sbit PT0 = 0xB9;
181 =1 sbit PX1 = 0xBA;
182 =1 sbit PT1 = 0xBB;
183 =1 sbit PS = 0xBC;
184 =1 sbit PT2 = 0xBD;
185 =1
186 =1 /*------------------------------------------------
187 =1 T2CON Bit Registers
188 =1 ------------------------------------------------*/
189 =1 sbit CP_RL2= 0xC8; /* 0=Reload, 1=Capture select */
190 =1 sbit C_T2 = 0xC9; /* 0=Timer, 1=Counter */
191 =1 sbit TR2 = 0xCA; /* 0=Stop timer, 1=Start timer */
192 =1 sbit EXEN2= 0xCB; /* Timer 2 external enable */
193 =1 sbit TCLK = 0xCC; /* 0=Serial clock uses Timer 1 overflow, 1=Timer 2 */
194 =1 sbit RCLK = 0xCD; /* 0=Serial clock uses Timer 1 overflow, 1=Timer 2 */
195 =1 sbit EXF2 = 0xCE; /* Timer 2 external flag */
C51 COMPILER V5.10, SN- LCD_MAIN 01/07/08 08:57:40 PAGE 10
196 =1 sbit TF2 = 0xCF; /* Timer 2 overflow flag */
197 =1
198 =1 /*------------------------------------------------
199 =1 T2MOD Bit Values
200 =1 ------------------------------------------------*/
201 =1 #define DCEN_ 0x01 /* 1=Timer 2 can be configured as up/down counter */
202 =1 #define T2OE_ 0x02 /* Timer 2 output enable */
203 =1 /*------------------------------------------------
204 =1 PSW Bit Registers
205 =1 ------------------------------------------------*/
206 =1 sbit P = 0xD0;
207 =1 sbit FL = 0xD1;
208 =1 sbit OV = 0xD2;
209 =1 sbit RS0 = 0xD3;
210 =1 sbit RS1 = 0xD4;
211 =1 sbit F0 = 0xD5;
212 =1 sbit AC = 0xD6;
213 =1 sbit CY = 0xD7;
214 =1
215 =1 /*-----------------------------------------------
216 =1 WMCON Bit Values
217 =1 ------------------------------------------------*/
218 =1 #define WDTEN_ 0x01
219 =1 #define WDTRST_ 0x02
220 =1 #define DPS_ 0x04
221 =1 #define EEMEN_ 0x08
222 =1 #define EEMWE_ 0x10
223 =1 #define PS0_ 0x20
224 =1 #define PS1_ 0x40
225 =1 #define PS2_ 0x80
226 =1 /*------------------------------------------------
227 =1 SPCR Bit Values
228 =1 -------------------------------------------------*/
229 =1 #define SPR0_ 0x01
230 =1 #define SPR1_ 0x02
231 =1 #define CPHA_ 0x04
232 =1 #define CPOL_ 0x08
233 =1 #define MSTR_ 0x10
234 =1 #define DORD_ 0x20
235 =1 #define SPE_ 0x40
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -