📄 main.lst
字号:
C51 COMPILER V9.02 MAIN 01/01/2006 00:57:23 PAGE 1
C51 COMPILER V9.02, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\output\main.obj
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND PRINT(.\list\main.lst) OBJECT(.\output\mai
-n.obj)
line level source
1 #include "reg52.h"
2 #include "ds18b20.h"
3
4 unsigned int tflag;
5 bit secflag = 0;
6 unsigned char text[] = "Temperature = ";
7 unsigned char enter[] = {0x0A,0x0D};
8
9 void uart_tx(unsigned char *p,unsigned char length);
10 char dat(char a);
11
12 void main(void)
13 {
14 1 unsigned char temp;
15 1
16 1 SCON = 0x50;
17 1 TMOD = 0x22;
18 1
19 1 TH1 = 0xF3;
20 1 TL1 = 0xF3;
21 1 TH0 = 0x06;
22 1 TL0 = 0x06;
23 1
24 1 EA = 1;
25 1 ET0 = 1;
26 1
27 1 TR0 = 1;
28 1 TR1 = 1;
29 1
30 1 while(1)
31 1 {
32 2
33 2 if(secflag == 1)
34 2 {
35 3 secflag = 0;
36 3 uart_tx(text,14);
37 3
38 3 temp = rd_temperature();
39 3
40 3 if(temp>99)
41 3 {
42 4 SBUF = temp/100 + 0x30;
43 4 while(TI == 0);
44 4 TI = 0;
45 4 }
46 3
47 3 if(temp>9)
48 3 {
49 4 SBUF = temp%100/10 + 0x30;
50 4 while(TI == 0);
51 4 TI = 0;
52 4 }
53 3
54 3 SBUF = temp%100%10 + 0x30;
C51 COMPILER V9.02 MAIN 01/01/2006 00:57:23 PAGE 2
55 3 while(TI == 0);
56 3 TI = 0;
57 3
58 3 uart_tx(enter,2);
59 3 }
60 2 }
61 1 }
62
63 //定时器TO中断服务函数
64 void isr_t0(void) interrupt 1
65 {
66 1 tflag++;
67 1 if(tflag == 4000)
68 1 {
69 2 tflag = 0;
70 2 secflag = 1;
71 2 }
72 1 }
73
74 //串口传输函数
75 void uart_tx(unsigned char *p,unsigned char length)
76 {
77 1 unsigned char i;
78 1 for(i=0;i<length;i++)
79 1 {
80 2 SBUF = *(p+i);
81 2 while(TI == 0);
82 2 TI = 0;
83 2 }
84 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 197 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 19 3
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -