📄 main.lst
字号:
C51 COMPILER V8.08 MAIN 02/14/2009 15:37:25 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN MAIN.OBJ
COMPILER INVOKED BY: E:\Program Files\Keil\C51\BIN\C51.EXE MAIN.C ROM(SMALL) BROWSE DEBUG OBJECTEXTEND
line level source
1
2 #include <MAIN.H>
3 #include <RTX51TNY.H>
4
5 /*******************变量定义**********************/
6 uchar DispLED[4];//数码管显示缓冲区
7 uchar code DispDB[15]={//字形码
8 0xA0,0xF9,0x92,0xD0,0xC9,0xC4,0x84,0xF1,//0,1,2,3,4,5,6,7
9 0x80,0xC0,0xDF,0xD9,0x87,0x81,0xAE};//8,9,-,-1,F,A,L
10 uchar code DispCon[4]={0xFB,0xF7,0xEF,0xDF};//段位控制码
11 uchar code DayStr[]=__DATE__;
12 uchar code TimeStr[]=__TIME__;
13 uchar Temp[2];//原始温度数据
14 uchar flag_LED;//数码管显示段位标志
15 uchar flag;
16
17 /****************外部函数声明*************************/
18 extern void Temperature_change(void);
19 extern void init_1820(void);
20 extern void mDelay(uint num);
21
22 /********************常量定义*************************/
23 #define start 0
24 #define DS18B20 2
25 #define LED 3
26 #define Conter 1
27
28 /********************程序开始*************************/
29 void START(void) _task_ start
30 {
31 1 os_create_task(DS18B20);
32 1 os_create_task(LED);
33 1 os_create_task(Conter);
34 1 os_delete_task(start);
35 1 }
36
37 void DS1820(void) _task_ DS18B20
38 {
39 1 while(1)
40 1 {
41 2 Temperature_change();
42 2 init_1820();
43 2 os_send_signal(Conter);
44 2 os_wait(K_TMO,10,0);
45 2 }
46 1 }
47
48 void DISP(void) _task_ LED
49 {
50 1 while (1)
51 1 {
52 2 P3|=0x3C;//关闭显示
53 2 P1=DispDB[DispLED[flag_LED]];
54 2 switch(flag_LED)
55 2 {
C51 COMPILER V8.08 MAIN 02/14/2009 15:37:25 PAGE 2
56 3 case 0:
57 3 if(DispLED[0]==0)//首位0消隐
58 3 {
59 4 P3&=0xFF;//关闭显示
60 4 }
61 3 else
62 3 {
63 4 P3&=0xFB;
64 4 }
65 3 flag_LED+=1;
66 3 break;
67 3 case 1:
68 3 if((DispLED[0]==0) && (DispLED[1]==0))//次位0消隐
69 3 {
70 4 P3&=0xFF;//关闭显示
71 4 }
72 3 else
73 3 {
74 4 P3&=0xF7;
75 4 }
76 3 flag_LED+=1;
77 3 break;
78 3 case 2:
79 3 P3&=0xEF;
80 3 flag_LED+=1;
81 3 break;
82 3 case 3:
83 3 P3&=0xDF;
84 3 flag_LED=0;
85 3 break;
86 3 }
87 2 mDelay(2);
88 2 }
89 1 }
90
91 void stop(void) _task_ Conter
92 {
93 1 static uchar stop_num;//停止计数器
94 1 while(1)
95 1 {
96 2 stop_num++;
97 2 if(stop_num>=12)
98 2 {
99 3 P3=0XFF;
100 3 PCON=STOP_;
101 3 }
102 2 os_wait(K_SIG,0,0);
103 2 }
104 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 139 ----
CONSTANT SIZE = 40 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 9 ----
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 + -