call20b.lst
来自「单片机C语言教程」· LST 代码 · 共 73 行
LST
73 行
C51 COMPILER V8.02 CALL20B 08/10/2007 12:12:23 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE CALL20B
OBJECT MODULE PLACED IN CALL20B.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE CALL20B.C BROWSE DEBUG OBJECTEXTEND
line level source
1 /*************************************************************
2 /* 这是调用DS1620的汇编程序(DS1620B.ASM)的C51程序, */
3 /* 文件名CALL20B.C */
4 /* 功能:本程序主要是读出DS1620芯片的温度转换值,转换值先放 */
5 /* 在变量temp1中。转换值范围-55℃~125℃。 若flag0=0为 */
6 /* 正温度,若flag0=1为负温度值,最终结果在浮点变量cc中。 */
7 /*************************************************************/
8 #include <reg52.h>
9 #define uchar unsigned char
10 #define uint unsigned int
11
12 void delay1(uint x);
13
14 extern uint chai; //把全局变量chai声明为外部变量
15 extern uint a_func(uchar); //把a_func 声明为外部函数
16
17 uint idata temp1;
18 uchar flag0,temp2;
19 float idata cc;
20
21 void delay1(uint x) //延时程序
22 {
23 1 uchar tw;
24 1 while (x-->0){
25 2 for (tw=0;tw<125;tw++){;}
26 2 }
27 1 }
28
29 void main() //主程序
30 {
31 1 SP=0xcf;
32 1 delay1(1000);
33 1 EA=0;
34 1 flag0=0;
35 1 chai=a_func(0x0a); // 读出DS1620的温度转换值
36 1 temp1=chai; // 放入变量temp1中
37 1 temp1=temp1&0x01ff; // 保留数值有用部分
38 1 //若flag0=0为正温度,若flag0=1为负温度值,结果在变量cc中。
39 1 if (temp1>0xff) {
40 2 flag0=1;
41 2 temp2=temp1-256;
42 2 temp2=~temp2+1;
43 2 temp1=temp2;
44 2 }
45 1 cc=(float)temp1/2.0; //计算出温度值
46 1 while(1);
47 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 121 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
C51 COMPILER V8.02 CALL20B 08/10/2007 12:12:23 PAGE 2
IDATA SIZE = 6 ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?