📄 task2.lst
字号:
C51 COMPILER V8.09 TASK2 04/06/2008 17:25:38 PAGE 1
C51 COMPILER V8.09, COMPILATION OF MODULE TASK2
OBJECT MODULE PLACED IN task2.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE task2.c ROM(COMPACT) OPTIMIZE(9,SIZE) BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "main.h"
2 #include "task2.h"
3 #include "ds18b20.h"
4 float temp;
5 unsigned char a=0;
6 unsigned char b=0;
7 unsigned char str_temp[10];
8
9 void task2_init(void)
10 {
11 1 EA = 0;
12 1 ds18b20_init();
13 1 WriteOneChar(0xCC); //跳过读序号列号的操作
14 1 WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度
15 1 a=ReadOneChar();
16 1 b=ReadOneChar();
17 1 EA = 1;
18 1 }
19
20 //任务2
21 void task2()
22 {
23 1 static unsigned char i=0;
24 1 i++;
25 1 if(i==1)
26 1 {
27 2 EA = 0;
28 2 ds18b20_init();
29 2 WriteOneChar(0xCC); // 跳过读序号列号的操作
30 2 WriteOneChar(0x44); // 启动温度转换
31 2 EA = 1;
32 2 }
33 1 else if(i>8)
34 1 {
35 2 EA = 0;
36 2 ds18b20_init();
37 2 WriteOneChar(0xCC); //跳过读序号列号的操作
38 2 WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度
39 2 a=ReadOneChar();b=ReadOneChar();
40 2 //temp = (b*256+a)*6.25; //有效位到小数点后2位,适用Proteus6.9版本和实物版
41 2 temp = (b*256+a)*5; //有效位到小数点后2位,适用Proteus7以上版本
42 2
43 2 sprintf(str_temp,"%2.1f",temp/10);
44 2 str_buff1[10] = str_temp[0];
45 2 str_buff1[11] = str_temp[1];
46 2 str_buff1[12] = str_temp[2];
47 2 str_buff1[13] = str_temp[3];
48 2 str_buff1[14] = 0xdf;
49 2 str_buff1[15] = 'C';
50 2 i = 0;
51 2 EA = 1;
52 2 }
53 1
54 1 }
C51 COMPILER V8.09 TASK2 04/06/2008 17:25:38 PAGE 2
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 262 ----
CONSTANT SIZE = 6 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 17 1
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 + -