?? jiang.lst
字號:
C51 COMPILER V8.08 JIANG 03/02/2009 19:51:04 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE JIANG
OBJECT MODULE PLACED IN jiang.OBJ
COMPILER INVOKED BY: D:\軟件\keil3\C51\BIN\C51.EXE jiang.c BROWSE DEBUG OBJECTEXTEND
line level source
1 //***讀取溫度和顯示溫度值主函數****//
2 #include <jiang.h>
3 #include <reg52.h>
4 #include <dis.h>
5 unchar data LM75A=0x90;// LM75A 的I2C 地址
6 unchar data MRD[2]={0};//接收緩沖區
7 unint a,b,temp;
8 float s,t;
9 unchar shu[7];
10 sbit s1=P1^7;
11 unint change_h_d1(unchar a)//把LM75A溫度寄存器11位中低3位轉為十進制
12 {
13 1 unchar i,j,k;
14 1 unint m;
15 1 unint n;
16 1 n=0;
17 1 a=a&0xe0;
18 1 a>>=5;
19 1 for(i=0;i<3;i++)
20 1 {
21 2 m=1;
22 2 k=a&0x01;
23 2 for(j=i;j>0;j--)
24 2 {
25 3 m=m*2;
26 3 }
27 2 n=n+m*k;
28 2 a>>=1;
29 2 }
30 1 return n;
31 1
32 1 }
33 unint change_h_d0(unchar a)//把LM75A溫度寄存器11位中高8位轉為十進制
34 {
35 1 unchar i,j,k;
36 1 unint m;
37 1 unint n;
38 1 n=0;
39 1 for(i=0;i<8;i++)
40 1 {
41 2 m=1;
42 2 k=a&0x01;
43 2 for(j=i+3;j>0;j--)
44 2 {
45 3 m=m*2;
46 3 }
47 2 n=n+m*k;
48 2 a>>=1;
49 2 }
50 1 return n;
51 1
52 1 }
53 void delay(unchar z)
54 {
55 1 unchar x,y;
C51 COMPILER V8.08 JIANG 03/02/2009 19:51:04 PAGE 2
56 1 for(x=z;x>0;x--)
57 1 for(y=10;y>0;y--);
58 1 }
59 void main()
60 {
61 1 while(1)
62 1 {
63 2 IRcvStr(LM75A,0x00,MRD,2);//讀取LM75A 當前溫度值
64 2 a=MRD[0];
65 2 b=MRD[1];
66 2 s=change_h_d0(a)+change_h_d1(b);
67 2 t=s/8.0;//換算成實際
68 2 temp=1000*t;
69 2 shu[0]=temp%10;//取整數各位值
70 2 shu[1]=(temp/10)%10;
71 2 shu[2]=(temp/100)%10;
72 2 shu[3]=(temp/1000)%10;//個位
73 2 shu[4]=(temp/10000)%10;//十位
74 2 shu[5]=(temp/100000)%10;//百位
75 2 mydisplay(3,shu[1]);
76 2 delay(35);
77 2 mydisplay(2,shu[2]);
78 2 delay(35);
79 2 mydisplay(4,10);
80 2 delay(35);
81 2 mydisplay(5,11);
82 2 delay(35);
83 2 mydisplay1(1,shu[3]);//顯示帶小數點的數值
84 2 delay(35);
85 2 mydisplay(0,shu[4]);
86 2 delay(35);
87 2 if(shu[4]==2)
88 2 s1=0;
89 2 }
90 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 826 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 24 16
IDATA SIZE = ---- ----
BIT SIZE = 1 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -