📄 text1.lst
字号:
C51 COMPILER V7.07 TEXT1 05/26/2007 21:24:36 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: D:\万解程序\keilc\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /******************************************************************************/
2 /* */
3 /* Task 0: Create other Tasks and Count up Every 5 ticks */
4 /* */
5 /******************************************************************************/
6
7 #include <rtx51tny.h> /* RTX-51 tiny functions & defines */
8
9 #include <reg52.h>
10
11 typedef unsigned char uchar;
12
13 uchar Led1Data;
14
15 uchar Led2Data;
16
17 uchar Led3Data;
18
19 uchar Led4Data;
20
21 uchar TH2DataTmp;
22
23 uchar TL2DataTmp;
24
25 uchar TH1DataTmp;
26
27 uchar TL1DataTmp;
28
29
30 uchar Timeflag1;
31 uchar Timeflag2;
32
33
34
35 uchar LedTable[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
36
37 uchar bdata flagp;
38 sbit flag0=flagp^0;
39 sbit flag1=flagp^1;
40
41 void MCUInit(void);
42 void LedProgram(void);
43 void FrequnceOut(void);
44
45 /******************************************************************************/
46 /* Task 0 'job0': RTX-51 tiny starts execution with task 0 */
47 /******************************************************************************/
48 void job0 (void) _task_ 0 {
49 1 os_create_task (1); /* start task 1 */
50 1 // os_create_task (2); /* start task 2 */
51 1 // os_create_task (3); /* start task 3 */
52 1 MCUInit();
53 1
54 1 while (1) { /* endless loop */
55 2 LedProgram(); /* led */
C51 COMPILER V7.07 TEXT1 05/26/2007 21:24:36 PAGE 2
56 2 os_wait2 (K_TMO, 1); /* wait for timeout: 5 ticks */
57 2 }
58 1 }
59
60 void job1 (void) _task_ 1 {
61 1 while (1) { /* endless loop */
62 2 os_wait1 (K_SIG); /* wait for sigle */
63 2 FrequnceOut();
64 2 Timeflag1 = 0;
65 2 Timeflag2 = 0;
66 2 TH2 = 0;
67 2 TL2 = 0;
68 2 IE0 = 0;
69 2 EX0 = 1;
70 2 }
71 1 }
72
73
74 void LedProgram(void)
75 {
76 1 P2 |= 0x3f;
77 1 P0 = LedTable[Led1Data];
78 1 P2 &= 0xfb;
79 1 os_wait2 (K_TMO, 1);
80 1 P2 |= 0x3f;
81 1 P0 = LedTable[Led2Data]&0x7f;
82 1 P2 &= 0xf7;
83 1 os_wait2 (K_TMO, 1);
84 1 P2 |= 0x3f;
85 1 P0 = LedTable[Led3Data];
86 1 P2 &= 0xef;
87 1 os_wait2 (K_TMO, 1);
88 1 P2 |= 0x3f;
89 1 P0 = LedTable[Led4Data];
90 1 P2 &= 0xdf;
91 1 os_wait2 (K_TMO, 1);
92 1 P2 |= 0x3f;
93 1 }
94
95
96 void MCUInit(void)
97 {
98 1 IE |= 0xa1;
99 1 TCON|= 0x05;
100 1 IP = 0x25;
101 1 TMOD|= 0x11;
102 1 //T2CON= 0x01;
103 1 }
104
105 void FrequnceOut(void)
106 {
107 1 unsigned long FTemp;
108 1 unsigned long DataTmp;
109 1
110 1 //FTemp =((TH1DataTmp*256+TL1DataTmp)/(Timeflag*65536+TH2DataTmp*256+TL2DataTmp))*3600;
111 1 FTemp = /*Timeflag2*65536+*/TH1DataTmp*256+TL1DataTmp;
112 1 FTemp *= 3600;
113 1 DataTmp = Timeflag1*65536+TH2DataTmp*256+TL2DataTmp;
114 1 DataTmp = FTemp/DataTmp;
115 1 Led4Data = (DataTmp%10000)/1000;
116 1 Led3Data = (DataTmp/100)%10;
117 1 Led2Data = DataTmp%100/10;
C51 COMPILER V7.07 TEXT1 05/26/2007 21:24:36 PAGE 3
118 1 Led1Data = DataTmp%10;
119 1 flag0 = 0;
120 1 }
121
122
123
124 void Int0Interrupt(void) interrupt 0
125 {
126 1 if(flag0 == 0){
127 2 TR2 = 1;
128 2 TR1 = 1;
129 2 //ET2 = 1;
130 2 IE1 = 0;
131 2 EX1 = 1;
132 2 // EXEN2 = 1;
133 2 // EXF2= 0;
134 2 flag0 = 1;
135 2 }
136 1 else {
137 2 TR2 = 0;
138 2 //ET2 = 0;
139 2 EX0 = 0;
140 2 TH2DataTmp = TH2;
141 2 TL2DataTmp = TL2;
142 2 flag0 = 0;
143 2 isr_send_signal(1);
144 2 }
145 1 }
146
147
148
149 void Int1Interrupt(void) interrupt 2
150 {
151 1 TR1 = 0;
152 1 EX1 = 0;
153 1 TH1DataTmp = TH1;
154 1 TL1DataTmp = TL1;
155 1 TH1 = 0;
156 1 TL1 = 0;
157 1 }
158
159
160 void Timer2Interrupt(void) interrupt 5
161 {
162 1 if(TF2==1){
163 2 Timeflag1++;
164 2 TF2 = 0;
165 2 }/*
166 1 else if(EXF2==1){
167 1 Timeflag2 = Timeflag1;
168 1 EXEN2 = 0;
169 1 EXF2 = 0;
170 1 TH1DataTmp = RCAP2H;
171 1 TL1DataTmp = RCAP2L;
172 1 }*/
173 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 505 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
C51 COMPILER V7.07 TEXT1 05/26/2007 21:24:36 PAGE 4
PDATA SIZE = ---- ----
DATA SIZE = 21 8
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 + -