?? 秒分程序.lst
字號:
C51 COMPILER V8.16 秒穇程序 12/03/2000 19:17:16 PAGE 1
C51 COMPILER V8.16, COMPILATION OF MODULE 秒穇程序
OBJECT MODULE PLACED IN 秒分程序.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE 秒分程序.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*
2
3 ** RTX-51的移植
4
5 ** 移植到AT89S52
6
7 ** 此程序是分秒程序
8
9 ** 有六個數碼管來顯示毫秒,秒,分鐘
10
11 */
12
13 #include <reg51.h>
14 #include <rtx51tny.h>
15 #define uchar unsigned char
16 #define uint unsigned int
17 const unsigned char table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
18 uchar minuter;
19 uchar second;
20 uchar micsecond;
21 uchar minuterh;
22 uchar minuterl;
23 uchar secondh;
24 uchar secondl;
25 uchar micsecondh;
26 uchar micsecondl;
27
28 void job0 (void) _task_ 0
29
30 {
31 1
32 1 micsecond = 0x00;
33 1 second = 0x00;
34 1 minuter =0x00;
35 1 micsecondh = micsecond /10;
36 1 micsecondl = micsecond %10;
37 1 secondh = second /10;
38 1 secondl = second %10;
39 1 minuterh = minuter /10;
40 1 minuterl = minuter %10;
41 1 os_create_task(1);//創建進程1
42 1 os_create_task(2);//創建進程1
43 1 os_create_task(3);//創建進程1
44 1 os_delete_task(0);//刪除任務0
45 1
46 1 }
47
48 void job1 (void) _task_ 1
49
50 {
51 1 while(1)
52 1 {
53 2 micsecond ++;
54 2 micsecondh = micsecond /10;
55 2 micsecondl = micsecond %10;
C51 COMPILER V8.16 秒穇程序 12/03/2000 19:17:16 PAGE 2
56 2 if(micsecond==100)
57 2 {
58 3 micsecond = 0;
59 3 os_send_signal(2); //發送Signal信號,激活進程2
60 3 }
61 2
62 2 os_wait(K_TMO,1,0);
63 2 }
64 1 }
65
66 void job2 (void) _task_ 2
67
68 {
69 1 while(1)
70 1 {
71 2 os_wait(K_SIG,0,0);
72 2 second ++;
73 2 if(second == 60)
74 2 {
75 3 second = 0;
76 3 minuter ++;
77 3 }
78 2 secondh = second /10;
79 2 secondl = second %10;
80 2 minuterh = minuter /10;
81 2 minuterl = minuter %10;
82 2 }
83 1 }
84
85 void job3 (void) _task_ 3
86
87 {
88 1 while(1)
89 1 {
90 2 P2 = 0x20;
91 2 P0 = table[micsecondl];
92 2 os_wait(K_TMO,1,0);
93 2 P2 = 0x10;
94 2 P0 = table[micsecondh];
95 2 os_wait(K_TMO,1,0);
96 2 P2 = 0x08;
97 2 P0 = table[secondl];
98 2 os_wait(K_TMO,1,0);
99 2 P2 = 0x04;
100 2 P0 = table[secondh];
101 2 os_wait(K_TMO,1,0);
102 2 P2 = 0x02;
103 2 P0 = table[minuterl];
104 2 os_wait(K_TMO,1,0);
105 2 P2 = 0x01;
106 2 P0 = table[minuterh];
107 2 os_wait(K_TMO,1,0);
108 2
109 2 }
110 1 }
111
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 307 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
C51 COMPILER V8.16 秒穇程序 12/03/2000 19:17:16 PAGE 3
PDATA SIZE = ---- ----
DATA SIZE = 19 ----
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 + -