?? ds.lst
字號:
C51 COMPILER V8.02 DS 03/19/2008 11:17:45 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE DS
OBJECT MODULE PLACED IN DS.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE DS.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg52.h>
2 #include<intrins.h>
3 #define uchar unsigned char
4 #define uint unsigned int
5 #define disdata P0
6 #define discan P2
7 sbit bin=P0^7;
8 sbit dq=P2^2;
9 uint h;
10 uchar code ditab[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,
11 0x08,0x08,0x09,0x09,} ;
12 uchar code dis_7[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xff,0xbf};
13 uchar code scan_con[4]={0xef,0xdf,0xbf,0x7f};
14 uchar data temp_data[2]={0x00,0x00};
15 uchar data display[5]={0x00,0x00,0x00,0x00,0x00};
16 delay(uint t)
17 {
18 1 for(;t>0;t--);
19 1 }
20 scan()
21 { uchar i;
22 1 for(i=0;i<4;i++)
23 1 {
24 2 disdata=dis_7[display[i]] ;
25 2 if(i==1
26 2 {bin=0;}
*** ERROR C141 IN LINE 26 OF DS.C: syntax error near '{'
27 2 discan=scan_con[i];delay(99);discan=0xff;
28 2 }
29 1 }
30 reset(void)
31 {
32 1 uchar presence=1;
33 1 while(presence)
34 1 {
35 2 while(presence)
36 2 {
37 3 dq=1;_nop_(); _nop_();
38 3 dq=0;delay(50);
39 3 dq=1;delay(6);
40 3 presence=dq;
41 3 }
42 2 delay(45);
43 2 presence=~dq;
44 2 }
45 1 dq=1;
46 1 }
47 void write_byte(uchar val)
48 {
49 1 uchar i;
50 1 for(i=8;i>0;i--)
51 1 {
52 2 dq=1;_nop_();_nop_();
53 2 dq=0;_nop_();_nop_();_nop_();_nop_();_nop_();
54 2 dq=val&0x01;delay(6);
C51 COMPILER V8.02 DS 03/19/2008 11:17:45 PAGE 2
55 2 val=val/2;
56 2 }
57 1 dq=1;delay(1);
58 1 }
59 uchar read_byte(void)
60 {
61 1 uchar i;
62 1 uchar value=0;
63 1 for(i=8;i>0;i--)
64 1 {
65 2 dq=1;_nop_();_nop_();
66 2 value>>=1;
67 2 dq=0;_nop_();_nop_();_nop_();_nop_();
68 2 dq=1;_nop_();_nop_();_nop_();_nop_();
69 2 if(dq)
70 2 value|=0x80;
71 2 delay(6);
72 2 }
73 1 dq=1;
74 1 return(value);
75 1 }
76 read_temp()
77 {
78 1 reset();
79 1 write_byte(0xcc);
80 1 write_byte(0xbe);
81 1 temp_data[0]=read_byte();
82 1 temp_data[1]=read_byte();
83 1 reset();
84 1 write_byte(0xcc);
85 1 write_byte(0x44);
86 1
87 1 }
88 work_temp()
89 {
90 1 uchar n=0;
91 1 if(temp_data[1]>127)
92 1 {
93 2 temp_data[1]=(256-temp_data[1]);
94 2 temp_data[0]=(256-temp_data[0]);
95 2 n=1;
96 2 }
97 1 display[4]=temp_data[0]&0x0f;
98 1 display[0]=ditab[display[4]];
99 1 display[4]=((temp_data[0]&0xf0>>4)|((temp_data[1]&0x0f)<<4));
100 1 display[3]=display[4]/100;
101 1 display[1]=display[4]%100;
102 1 display[2]=display[1]/10;
103 1 display[1]=display[1]%10;
104 1 if(!display[3])
105 1 {
106 2 display[3]=0x0a;
107 2 if(!display[2])
108 2 {
109 3 display[2]=0x0a;
110 3 }
111 2 }
112 1
113 1 if(n)
114 1 display[3]=0x0b;
115 1 }
116 void main()
C51 COMPILER V8.02 DS 03/19/2008 11:17:45 PAGE 3
117 {
118 1 disdata=0xff;
119 1 discan=0xff;
120 1 for(h=0;h<4;h++)
121 1 {
122 2 display[h]=8;
123 2 }
124 1 reset();
125 1 write_byte(0xcc);
126 1 write_byte(0x44);
127 1 for(h=0;h<500;h++)
128 1 {scan();}
129 1 while(1)
130 1 {
131 2 read_temp();
132 2 work_temp();
133 2 for(h=0;h<400;h++)
134 2 {scan();}
135 2 }
136 1
137 1 }
C51 COMPILATION COMPLETE. 0 WARNING(S), 1 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -