📄 main.lst
字号:
C51 COMPILER V8.08 MAIN 02/14/2009 14:56:14 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 BROWSE DEBUG OBJECTEXTEND
line level source
1 /********************************************************************
2 ;便携式温度计
3 ;数码管引脚连接:a=P1.3 b=P1.2 c=P1.1 d=P1.0 e=P1.6 f=P1.4 g=P1.5 h=nc共阳;
4 ;编写人:芦庆
5 ;时间:2008年7月27日
6 ;主控芯片:AT89C2051-24PU
7 ;温度传感器:DS18B20
8 ;占用资源:定时器0,P1口,P3.2,P3.3,P3.4,P3.5,P3.7
9 ;晶振速度:6MHz
10 ;
11 ;ROM指令 代码
12 ;Read ROM(读ROM) [33H]
13 ;Match ROM(匹配ROM) [55H]
14 ;Skip ROM(跳过ROM] [CCH]
15 ;Search ROM(搜索ROM) [F0H]
16 ;Alarm search(告警搜索) [ECH]
17 ;
18 ;存储器操作指令 代码
19 ;Write Scratchpad(写暂存存储器) [4EH]
20 ;Read Scratchpad(读暂存存储器) [BEH]
21 ;Copy Scratchpad(复制暂存存储器) [48H]
22 ;Convert Temperature(温度变换) [44H]
23 ;Recall EPROM(重新调出) [B8H]
24 ;Read Power supply(读电源) [B4H]
25 ************************************************************/
26 #include "config.h"
27
28 uint8 DispLED[4];//数码管显示缓冲区
29 uint8 code DispDB[15]={//字形码
30 0xA0,0xF9,0x92,0xD0,0xC9,0xC4,0x84,0xF1,//0,1,2,3,4,5,6,7
31 0x80,0xC0,0xDF,0xD9,0x87,0x81,0xAE};//8,9,-,-1,F,A,L
32 uint8 code DispCon[4]={0xFB,0xF7,0xEF,0xDF};//段位控制码
33 uint8 code DayStr[]=__DATE__;
34 uint8 code TimeStr[]=__TIME__;
35 uint8 Temp[2];//原始温度数据
36 uint8 flag_LED;//数码管显示段位标志
37 uint8 flag;
38
39 void main(void)
40 {
41 1 TMOD = (TMOD & 0X0F) | 0X10;
42 1 TL1 = 0x00;
43 1 TH1 = 0x00;
44 1 TR1 = 1;
45 1 ET1 = 1;
46 1 TT0();
47 1 OSStart();
48 1 }
49
50 void DS18B20(void)
51 {
52 1 while (1)
53 1 {
54 2 Temperature_all();
55 2 init_1820();
C51 COMPILER V8.08 MAIN 02/14/2009 14:56:14 PAGE 2
56 2 OSWait(K_TMO,4);
57 2 }
58 1 }
59
60 void LED(void)
61 {
62 1 while (1)
63 1 {
64 2 P3|=0x3C;//关闭显示
65 2 P1=DispDB[DispLED[flag_LED]];
66 2 switch(flag_LED)
67 2 {
68 3 case 0:
69 3 if(DispLED[0]==0)//首位0消隐
70 3 {
71 4 P3&=0xFF;//关闭显示
72 4 }
73 3 else
74 3 {
75 4 P3&=0xFB;
76 4 }
77 3 flag_LED+=1;
78 3 break;
79 3 case 1:
80 3 if((DispLED[0]==0) && (DispLED[1]==0))//次位0消隐
81 3 {
82 4 P3&=0xFF;//关闭显示
83 4 }
84 3 else
85 3 {
86 4 P3&=0xF7;
87 4 }
88 3 flag_LED+=1;
89 3 break;
90 3 case 2:
91 3 P3&=0xEF;
92 3 flag_LED+=1;
93 3 break;
94 3 case 3:
95 3 P3&=0xDF;
96 3 flag_LED=0;
97 3 break;
98 3 }
99 2 mDelay(1);
100 2 }
101 1 }
102 void UserTickTimer()
103 {
104 1 static uint8 stop_num=0;//系统停止计数器
105 1 stop_num++;
106 1 if(stop_num==39)
107 1 {
108 2 P3=0XFF;
109 2 PCON=STOP_;
110 2 }
111 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 134 ----
CONSTANT SIZE = 40 ----
XDATA SIZE = ---- ----
C51 COMPILER V8.08 MAIN 02/14/2009 14:56:14 PAGE 3
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 + -