📄 main.lst
字号:
C51 COMPILER V6.03a MAIN 10/09/2000 13:18:25 PAGE 1
C51 COMPILER V6.03a, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE .\main.c BROWSE DEBUG OBJECTEXTEND CODE LISTINCLUDE SYMBOLS
stmt level source
1 #include <rtx51.h>
1 =1 /************************************************************************
2 =1 * *
3 =1 * R T X - 5 1 System Header File *
4 =1 * *
5 =1 *----------------------------------------------------------------------*
6 =1 * *
7 =1 * Filename: RTX51.H *
8 =1 * Date: 19-OCT-1994 *
9 =1 * Language: Keil C (C51) *
10 =1 * Dev.system: IBM PC (MS-DOS 6.2) *
11 =1 * Targetsystem: Any system based upon 8051 up *
12 =1 * *
13 =1 * Purpose: User Interface for RTX-51. *
14 =1 * *
15 =1 *----------------------------------------------------------------------*
16 =1 * Rev. | Released | Programmer | Comments *
17 =1 *----------------------------------------------------------------------*
18 =1 * 5.00 | 19.10.94 | Gl | Release 5.00 *
19 =1 ************************************************************************
20 =1 * (c) METTLER & FUCHS AG, CH-8953 Dietikon, Tel. 01-740 41 00 *
21 =1 ************************************************************************/
22 =1
23 =1 /* General system function return values */
24 =1 #define OK 0
25 =1 #define NOT_OK -1
26 =1
27 =1 /* Return values for system function os_wait */
28 =1 #define MSG_EVENT 1
29 =1 #define INT_EVENT 2
30 =1 #define SIG_EVENT 3
31 =1 #define TMO_EVENT 4
32 =1 #define SEM_EVENT 5
33 =1
34 =1 /* Event selectors for system function os_wait */
35 =1 #define K_MBX 0x10
36 =1 #define K_INT 0x20
37 =1 #define K_SIG 0x40
38 =1 #define K_TMO 0x80
39 =1 #define K_IVL 0x00
40 =1
41 =1 /* Constants for system calls os_check_tasks and os_check_task */
42 =1 #define K_READY 0
43 =1 #define K_RUNNING 1
44 =1 #define K_BLOCKED 2
45 =1 #define K_DELETED 3
46 =1
47 =1
48 =1 /* Type definition for system call os_check_mailboxes */
49 =1 typedef struct {
50 =1 unsigned char message_cnt;
51 =1 unsigned char read_task_cnt;
52 =1 unsigned char write_task_cnt;
53 =1 } t_rtx_allmbxtab[8];
54 =1
C51 COMPILER V6.03a MAIN 10/09/2000 13:18:25 PAGE 2
55 =1 /* Type definition for system call os_check_mailbox */
56 =1 typedef struct {
57 =1 unsigned char message_cnt;
58 =1 unsigned char read_task_cnt;
59 =1 unsigned char write_task_cnt;
60 =1 unsigned char wait_tasks[16];
61 =1 unsigned int messages[8];
62 =1 } t_rtx_onembxtab;
63 =1
64 =1 /* Type definition for system call os_check_semaphores */
65 =1 typedef struct {
66 =1 /* 0=token stored;
67 =1 1=no token stored/no waiting tasks;
68 =1 2=no token stored/ waiting tasks */
69 =1 unsigned char status;
70 =1 } t_rtx_allsemtab[8];
71 =1
72 =1 /* Type definition for system call os_check_semaphore */
73 =1 typedef struct {
74 =1 unsigned char token_flag;
75 =1 unsigned char task_count;
76 =1 unsigned char wait_tasks[15];
77 =1 } t_rtx_onesemtab;
78 =1
79 =1 /* Type definition for system call os_check_tasks */
80 =1 typedef struct {
81 =1 unsigned char task_number;
82 =1 unsigned char state;
83 =1 } t_rtx_alltasktab[19];
84 =1
85 =1 /* Type definition for system call os_check_task */
86 =1 typedef struct {
87 =1 unsigned char state;
88 =1 unsigned int flags;
89 =1 } t_rtx_onetasktab;
90 =1
91 =1 /* Type definition for system call os_check_pool */
92 =1 typedef struct {
93 =1 void xdata *block;
94 =1 unsigned char task_number;
95 =1 } t_rtx_blockinfo[255];
96 =1
97 =1
98 =1 /* RTX-51 System Functions */
99 =1 #pragma SAVE
100 =1 #pragma REGPARMS
101 =1
102 =1 extern signed char os_start_system (unsigned char task_number);
103 =1 extern signed char os_create_task (unsigned char task_number);
104 =1 extern signed char os_delete_task (unsigned char task_number);
105 =1 extern unsigned char os_running_task_id (void);
106 =1 extern signed char os_attach_interrupt (unsigned char interrupt_nbr);
107 =1 extern signed char os_detach_interrupt (unsigned char interrupt_nbr);
108 =1 extern signed char os_enable_isr (unsigned char interrupt_nbr);
109 =1 extern signed char os_disable_isr (unsigned char interrupt_nbr);
110 =1 extern signed char os_wait (unsigned char event_selector,
111 =1 unsigned char timeout,
112 =1 unsigned int xdata *message);
113 =1 /* special os_wait definitions for call with two parameters */
114 =1 extern signed char os_wait2 (unsigned char event_selector,
115 =1 unsigned char timeout);
116 =1 extern signed char os_send_message (unsigned char mailbox,
C51 COMPILER V6.03a MAIN 10/09/2000 13:18:25 PAGE 3
117 =1 unsigned int message,
118 =1 unsigned char timeout);
119 =1 extern signed char os_send_signal (unsigned char task_number);
120 =1 extern signed char os_clear_signal (unsigned char task_number);
121 =1 extern signed char os_set_slice (unsigned int timeslice);
122 =1 extern signed char isr_send_message (unsigned char mailbox,
123 =1 unsigned int message);
124 =1 extern signed char isr_send_signal (unsigned char task_number);
125 =1 extern signed char isr_recv_message (unsigned char mailbox,
126 =1 unsigned int xdata *message);
127 =1 extern signed char os_send_token (unsigned char semaphore);
128 =1 extern signed char os_create_pool (unsigned int block_size,
129 =1 void xdata *memory,
130 =1 unsigned int mem_size);
131 =1 extern void xdata *os_get_block (unsigned int block_size);
132 =1 extern signed char os_free_block (unsigned int block_size,
133 =1 void xdata *block);
134 =1 extern signed char os_check_mailboxes (t_rtx_allmbxtab xdata *table);
135 =1 extern signed char os_check_mailbox (unsigned char mailbox,
136 =1 t_rtx_onembxtab xdata *table);
137 =1 extern signed char os_check_semaphores (t_rtx_allsemtab xdata *table);
138 =1 extern signed char os_check_semaphore (unsigned char semaphore,
139 =1 t_rtx_onesemtab xdata *table);
140 =1 extern signed char os_check_tasks (t_rtx_alltasktab xdata *table);
141 =1 extern signed char os_check_task (unsigned char task_number,
142 =1 t_rtx_onetasktab xdata *table);
143 =1 extern signed char os_check_pool (unsigned int block_size,
144 =1 t_rtx_blockinfo xdata *table);
145 =1 extern signed char oi_set_int_masks (unsigned char ien0,
146 =1 unsigned char ien1,
147 =1 unsigned char ien2);
148 =1 extern signed char oi_reset_int_masks (unsigned char ien0,
149 =1 unsigned char ien1,
150 =1 unsigned char ien2);
151 =1
152 =1 /*----------------------------------------------------------------------
153 =1 * END OF HEADER FILE
154 =1 *----------------------------------------------------------------------*/
155 =1 #pragma RESTORE
2 #include <reg51.h>
1 =1 /*--------------------------------------------------------------------------
2 =1 REG51.H
3 =1
4 =1 Header file for generic 80C51 and 80C31 microcontroller.
5 =1 Copyright (c) 1988-1997 Keil Elektronik GmbH and Keil Software, Inc.
6 =1 All rights reserved.
7 =1 --------------------------------------------------------------------------*/
8 =1
9 =1 /* BYTE Register */
10 =1 sfr P0 = 0x80;
11 =1 sfr P1 = 0x90;
12 =1 sfr P2 = 0xA0;
13 =1 sfr P3 = 0xB0;
14 =1 sfr PSW = 0xD0;
15 =1 sfr ACC = 0xE0;
16 =1 sfr B = 0xF0;
17 =1 sfr SP = 0x81;
18 =1 sfr DPL = 0x82;
19 =1 sfr DPH = 0x83;
20 =1 sfr PCON = 0x87;
21 =1 sfr TCON = 0x88;
22 =1 sfr TMOD = 0x89;
C51 COMPILER V6.03a MAIN 10/09/2000 13:18:25 PAGE 4
23 =1 sfr TL0 = 0x8A;
24 =1 sfr TL1 = 0x8B;
25 =1 sfr TH0 = 0x8C;
26 =1 sfr TH1 = 0x8D;
27 =1 sfr IE = 0xA8;
28 =1 sfr IP = 0xB8;
29 =1 sfr SCON = 0x98;
30 =1 sfr SBUF = 0x99;
31 =1
32 =1
33 =1 /* BIT Register */
34 =1 /* PSW */
35 =1 sbit CY = 0xD7;
36 =1 sbit AC = 0xD6;
37 =1 sbit F0 = 0xD5;
38 =1 sbit RS1 = 0xD4;
39 =1 sbit RS0 = 0xD3;
40 =1 sbit OV = 0xD2;
41 =1 sbit P = 0xD0;
42 =1
43 =1 /* TCON */
44 =1 sbit TF1 = 0x8F;
45 =1 sbit TR1 = 0x8E;
46 =1 sbit TF0 = 0x8D;
47 =1 sbit TR0 = 0x8C;
48 =1 sbit IE1 = 0x8B;
49 =1 sbit IT1 = 0x8A;
50 =1 sbit IE0 = 0x89;
51 =1 sbit IT0 = 0x88;
52 =1
53 =1 /* IE */
54 =1 sbit EA = 0xAF;
55 =1 sbit ES = 0xAC;
56 =1 sbit ET1 = 0xAB;
57 =1 sbit EX1 = 0xAA;
58 =1 sbit ET0 = 0xA9;
59 =1 sbit EX0 = 0xA8;
60 =1
61 =1 /* IP */
62 =1 sbit PS = 0xBC;
63 =1 sbit PT1 = 0xBB;
64 =1 sbit PX1 = 0xBA;
65 =1 sbit PT0 = 0xB9;
66 =1 sbit PX0 = 0xB8;
67 =1
68 =1 /* P3 */
69 =1 sbit RD = 0xB7;
70 =1 sbit WR = 0xB6;
71 =1 sbit T1 = 0xB5;
72 =1 sbit T0 = 0xB4;
73 =1 sbit INT1 = 0xB3;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -