📄 callb20.lst
字号:
C51 COMPILER V8.02 CALLB20 08/10/2007 21:49:54 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE CALLB20
OBJECT MODULE PLACED IN CALLB20.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE CALLB20.C BROWSE DEBUG OBJECTEXTEND
line level source
1 /*************************************************************
2 /* 这是调用DS18B20的汇编程序(DS18B20B.ASM)的C51程序, */
3 /* 文件名CALLB20.C */
4 /* 功能:本程序主要是读出单个DS18B20芯片的温度转换值,转换值放*/
5 /* 在变量temp1中。转换值为BCD码,范围-55℃~99℃。若flag0*/
6 /* =1为负温度值,若flag0=0为正温度值。 */
7 /*************************************************************/
8 #include <reg52.h>
9 #define uchar unsigned char
10 #define uint unsigned int
11
12 void timedelay(uint timess);
13 void delay1(uint x);
14
15
16 extern uint chai; //把全局变量chai声明为外部变量
17 extern uint a_func(uchar); //把a_func 声明为外部函数
18
19 uint idata temp1 ;
20 uchar flag0;
21 void timedelay(uint timess) //延时程序
22 {
23 1 uint tj;
24 1 for (tj=timess;tj>0;tj--){;}
25 1 }
26 void delay1(uint x) //延时程序
27 {
28 1 uchar tw;
29 1 while (x-->0){
30 2 for (tw=0;tw<125;tw++){;}
31 2 }
32 1 }
33
34 void main() //主程序
35 {
36 1 SP=0xcf;
37 1 timedelay(10000);
38 1 delay1(1000);
39 1 EA=0;
40 1 flag0=0;
41 1 chai=a_func(0x00); // 读出DS18B20采集的温度转换值
42 1 temp1=chai; // 放入变量temp1中。
43 1 //若flag0=0为正温度;若flag0=1为负温度值。
44 1 if (temp1>255){flag0=1;temp1=temp1-256;}
45 1 while(1);
46 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 105 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 ----
IDATA SIZE = 2 ----
C51 COMPILER V8.02 CALLB20 08/10/2007 21:49:54 PAGE 2
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 + -