📄 main.lst
字号:
C51 COMPILER V8.08 MAIN 05/19/2007 09:42:35 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil 8.08\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2
3 typedef unsigned char BYTE;
4
5 BYTE LED_0;
6 BYTE LED_1;
7 BYTE LED_2;
8 BYTE ADC;
9 BYTE TCNTA;
10 BYTE TCNTB;
11 BYTE H_TEMP; //温度上限
12 BYTE L_TEMP; //温度下限
13 bit FLAG;
14
15
16 sbit H_ALM=P3^0;
17 sbit L_ALM=P3^1;
18 sbit SOUND=P3^7;
19 sbit P21 =P2^1;
20 sbit P22 =P2^2;
21 sbit P23 =P2^3;
22 sbit CLOCK=P2^4;
23 sbit ST =P2^5;
24 sbit EOC =P2^6;
25 sbit OE =P2^7;
26
27 BYTE code TABLE[]={ 0x3F,0x06,0x5B,0x4F,0x66,
28 0x6D,0x7D,0x07,0x7F,0x6F};
29
30
31 void INT_T0() interrupt 1
32 {
33 1 CLOCK=~CLOCK;
34 1 }
35
36 void DELAY2()
37 {
38 1 BYTE i=20;
39 1
40 1 do
41 1 {
42 2 BYTE j=20;
43 2 do
44 2 {
45 3 BYTE k=250;
46 3 do
47 3 {
48 4 }while(--k);
49 3 }while(--j);
50 2 }while(--i);
51 1 }
52
53 void INT_T1() interrupt 3
54 {
55 1 TH1=(65536-1000)/256;
C51 COMPILER V8.08 MAIN 05/19/2007 09:42:35 PAGE 2
56 1 TL1=(65536-1000)%256;
57 1 SOUND=~SOUND;
58 1 TCNTA++;
59 1
60 1 if(FLAG)
61 1 {
62 2 if(TCNTA!=20)
63 2 return;
64 2 }
65 1 else
66 1 {
67 2 if(TCNTA!=30)
68 2 return;
69 2 }
70 1
71 1 TCNTA=0;
72 1 TCNTB++;
73 1
74 1 if(TCNTB!=25)
75 1 return;
76 1 TCNTA=0;
77 1 TCNTB=0;
78 1 DELAY2();
79 1 }
80
81 void DELAY()
82 {
83 1 BYTE i=10;
84 1
85 1 do
86 1 {
87 2 BYTE j=250;
88 2 do
89 2 {}while(--j);
90 2 }while(--i);
91 1 }
92
93
94
95 void DISP()
96 {
97 1 BYTE temp;
98 1
99 1 temp=TABLE[LED_0];
100 1 P23=0;
101 1 P0=temp;
102 1 DELAY();
103 1 P23=1;
104 1
105 1 temp=TABLE[LED_1];
106 1 P22=0;
107 1 P0=temp;
108 1 DELAY();
109 1 P22=1;
110 1
111 1 temp=TABLE[LED_2];
112 1 P21=0;
113 1 P0=temp;
114 1 DELAY();
115 1 P21=1;
116 1 }
117
C51 COMPILER V8.08 MAIN 05/19/2007 09:42:35 PAGE 3
118 main()
119 {
120 1 LED_0=0;
121 1 LED_1=0;
122 1 LED_2=0;
123 1 H_TEMP=153;
124 1 L_TEMP=77;
125 1 TMOD=0x12;
126 1 TH0=245;
127 1 TL0=0;
128 1 TH1=(65536-1000)/256;
129 1 TL0=(65536-1000)%256;
130 1 IE=0x8a;
131 1 CY=0;
132 1 TR0=1;
133 1
134 1 while(1)
135 1 {
136 2 H_ALM=1;
137 2 L_ALM=1;
138 2 ST=0;
139 2 ST=1;
140 2 ST=0;
141 2 while(!EOC);
142 2 OE=1;
143 2 ADC=P1;
144 2 OE=0;
145 2
146 2 if(ADC<77)
147 2 {
148 3 L_ALM=0;
149 3 TR1=1;
150 3 FLAG=0;
151 3 }
152 2 else if(ADC>H_TEMP)
153 2 {
154 3 H_ALM=0;
155 3 TR1=1;
156 3 FLAG=1;
157 3 }
158 2 else
159 2 {
160 3 TR1=0;
161 3 }
162 2
163 2 LED_2=ADC/100;
164 2 LED_1=(ADC%100)/10;
165 2 LED_0=(ADC%100)%10;
166 2 DISP();
167 2 }
168 1
169 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 256 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 8 3
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
C51 COMPILER V8.08 MAIN 05/19/2007 09:42:35 PAGE 4
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -