📄 main.lst
字号:
C51 COMPILER V8.17 MAIN 03/09/2009 16:36:50 PAGE 1
C51 COMPILER V8.17, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\obj\main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND PRINT(.\lis\main.lst) OBJECT(.\obj\main.ob
-j)
line level source
1 #include <stdio.h>
2 #include "stc89c58.h"
3 #include <intrins.h>
4 #include "iic.h"
5 #include "cpu.h"
6 typedef union
7 {
8 float f[4];
9 char buf[16];
10 }fc;
11 void init(void)
12 {
13 1 IE=0x00;
14 1 TMOD=0X20;
15 1 SCON=0X50;
16 1 TH1=0XFA;
17 1 TL1=0XFA;
18 1 TR1=1;
19 1
20 1 PCON=0X80;
21 1 TI=1;
22 1 }
23 void main()
24 {
25 1 xdata INT32U i;
26 1 xdata INT8U val[16];
27 1 xdata INT8U at24c01_add =0x04;
28 1 xdata fc FtoCH;
29 1 float fl;
30 1 init();
31 1 FtoCH.f[0] = -150.1329;
32 1 FtoCH.f[1] = 377.1837;
33 1 FtoCH.f[2] = -301.1051;
34 1 FtoCH.f[3] = 76.0731;
35 1 while(1)
36 1 {
37 2 for(i=0;i<10000;i++);
38 2 fl= *(float*)FtoCH.buf;
39 2 printf("buf = %5.4f\n",fl);
40 2
41 2 fl=*((float*)(FtoCH.buf+4));
42 2 printf("buf = %5.4f\n",fl);
43 2
44 2 fl=*((float*)(FtoCH.buf+8));
45 2 printf("buf = %5.4f\n",fl);
46 2
47 2 fl=*((float*)(FtoCH.buf+12));
48 2 printf("buf = %5.4f\n",fl);
49 2
50 2 for(i=0;i<10000;i++);
51 2 ISendStr(0xA0,at24c01_add,FtoCH.buf,4);
52 2 for(i=0;i<10000;i++);
53 2 ISendStr(0xA0,at24c01_add+4,(FtoCH.buf+4),4);
54 2 for(i=0;i<10000;i++);
C51 COMPILER V8.17 MAIN 03/09/2009 16:36:50 PAGE 2
55 2 ISendStr(0xA0,at24c01_add+8,(FtoCH.buf+8),4);
56 2 for(i=0;i<10000;i++);
57 2 //ISendStr(0xA0,at24c01_add+12,(FtoCH.buf+12),4);
58 2 //for(i=0;i<10000;i++);
59 2
60 2 IRcvStr(0xA0,at24c01_add,val,8);
61 2 // IRcvStr(0xA0,at24c01_add+4,val+4,4);
62 2 IRcvStr(0xA0,at24c01_add+8,val+8,8);
63 2 // IRcvStr(0xA0,at24c01_add+12,val+12,4);
64 2 /*printf("result = %5.4f %5.4f\n %5.4f %5.4f\n",
65 2 *(float*)val,*((float*)(val+4)),*((float*)(val+8)),*((float*)(val+12))); */
66 2 printf("result = %5.4f\n",*(float*)val);
67 2 printf("result = %5.4f\n",*((float*)(val+4)));
68 2 printf("result = %5.4f\n",*((float*)(val+8)));
69 2 printf("result = %5.4f\n",*((float*)(val+12)));
70 2 /**/
71 2 }
72 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 768 ----
CONSTANT SIZE = 29 ----
XDATA SIZE = ---- 37
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -