📄 main.lst
字号:
C51 COMPILER V7.50 MAIN 03/06/2007 20:05:01 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #pragma scr(12.asm)
*** WARNING C245 IN LINE 1 OF MAIN.C: unknown #pragma, line ignored
2
3
4 /*回大虾电子网首页 返回历史帖子
5 [+10]郁闷死了:ICL7135 AD转换电路,读取的数据总是5个0,到底哪里出问题了呢? 请有经验的兄弟进来谈
6
7 谈~~
8
9
10 帖子编号: 40462/860820, 发表用户:Henryyam 发表时间:2006-5-1 0:25:37 访问次数:138 发
11
12 贴IP:221.0.104.36
13
14 文章内容:
15
16 电源部分:1脚接-5.1V,11脚接5.1V;
17 接地:3脚,9脚与数字地24脚都通;
18 4,5,6脚分别接104电容,104电容,100K电阻,此3元件的另一端子接到一起;
19 7,8脚之间接一104电容;
20 VREF:2脚=1V;
21 输入:10脚=0.45V. 但读取的数据却是"00000"(正常应该是"4500".相关帖子>>>:参考电路如图:【图片】
22
23 ICL7135应用电路.JPG(5840字)Henryyam[147次]2006-5-1 0:44:21
24 */
25 //**********************************************************************************
26 // e c:0fbffh=0; e c:0fbffh=0
27 //**********************************************************************************
28 //本程序用AT89S52控制ICL7135的RUN,BUSY等端子进行温度采集,并在5位LED数码管上显示出来.
29 //接线:
30 //P1.4---RUN(25);
31 //INTO(pin12)---BUSY(21);
32 //==================================================================================
33 //主函数模块
34 #define uchar unsigned char
35 #define uint unsigned int
36 #define ulong unsigned long
37 #include <reg52.h>
38 //#include
39 sbit BUSY=P1^5;
40 sbit RUN=P1^4;
41 uint t; uint n;
42 uchar high,low,w;
43 uchar SData0,SData1;
44 bit t_sign=0;
45 uchar i,j;
46 uint d[5];
47 uchar code pos[5]={0xfe,0xfd,0xfb,0xf7,0xef}; //LED数码管位数代码,P2口0-5分别驱动第1-6位数码
48
49 管.
*** ERROR C100 IN LINE 49 OF MAIN.C: unprintable character 0xB9 skipped
*** ERROR C100 IN LINE 49 OF MAIN.C: unprintable character 0xDC skipped
*** ERROR C141 IN LINE 49 OF MAIN.C: syntax error near '.'
50 uchar code led[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳极数码管10个数
51
C51 COMPILER V7.50 MAIN 03/06/2007 20:05:01 PAGE 2
52 字的七段
*** ERROR C100 IN LINE 52 OF MAIN.C: unprintable character 0xD7 skipped
*** ERROR C100 IN LINE 52 OF MAIN.C: unprintable character 0xD6 skipped
*** ERROR C100 IN LINE 52 OF MAIN.C: unprintable character 0xB5 skipped
*** ERROR C100 IN LINE 52 OF MAIN.C: unprintable character 0xC4 skipped
*** ERROR C100 IN LINE 52 OF MAIN.C: unprintable character 0xC6 skipped
*** ERROR C100 IN LINE 52 OF MAIN.C: unprintable character 0xDF skipped
*** ERROR C100 IN LINE 52 OF MAIN.C: unprintable character 0xB6 skipped
*** ERROR C100 IN LINE 52 OF MAIN.C: unprintable character 0xCE skipped
53 代码表.
*** ERROR C100 IN LINE 53 OF MAIN.C: unprintable character 0xB4 skipped
*** ERROR C100 IN LINE 53 OF MAIN.C: unprintable character 0xFA skipped
*** ERROR C100 IN LINE 53 OF MAIN.C: unprintable character 0xC2 skipped
*** ERROR C100 IN LINE 53 OF MAIN.C: unprintable character 0xEB skipped
*** ERROR C100 IN LINE 53 OF MAIN.C: unprintable character 0xB1 skipped
*** ERROR C100 IN LINE 53 OF MAIN.C: unprintable character 0xED skipped
*** ERROR C141 IN LINE 53 OF MAIN.C: syntax error near '.'
54 //==============================================
55 //通用延时子程序
56 void delay(unsigned int n)
57 {
58 1 unsigned int i;
59 1 for(i=0;i<n;i++); //65536*2*0.54253472uS=71111us(71ms)
*** ERROR C100 IN LINE 59 OF MAIN.C: unprintable character 0xA3 skipped
*** ERROR C100 IN LINE 59 OF MAIN.C: unprintable character 0xBC skipped
*** ERROR C202 IN LINE 59 OF MAIN.C: 'in': undefined identifier
60 1 } //6*8*200=9600;
61 /*=======================定时器0初始化=============================*/
62 void T0_Initial(void)
63 { TMOD|=0x0d;
64 1 TH0=0; //门控的16位计数器.
65 1 TL0=0;
66 1 ET0=1;
67 1 }
68 //==============================================
69 char code DX516[3] _at_ 0x3b;
70 void main(void)
71 {
72 1 RUN=1;
73 1 IT0=1; //外部中断负跳变触发;
74 1 EX0=1; //开外部中断0;
75 1 TR0=1; //开定时器0;
76 1 EA=1;
77 1 T0_Initial();
78 1 while(1)
79 1 {
80 2 if (t_sign)
81 2 {
82 3 uint temp;
83 3 temp=SData1; //高8位放入temp
84 3 temp<<=8; //左移8位,进入高8位
*** ERROR C100 IN LINE 84 OF MAIN.C: unprintable character 0xA3 skipped
*** ERROR C100 IN LINE 84 OF MAIN.C: unprintable character 0xBC skipped
*** ERROR C100 IN LINE 84 OF MAIN.C: unprintable character 0xA3 skipped
*** ERROR C100 IN LINE 84 OF MAIN.C: unprintable character 0xBC skipped
85 3 temp+=SData0; //低8位放入temp
86 3 temp-=10001; //减掉正向积分期间的10001个计数值.
87 3 t=temp; //赋值到t
88 3 // t=temp();
89 3 d[4]=t/10000;
90 3 d[3]=(t%10000)/1000;
91 3 d[2]=(t%1000)/100;
C51 COMPILER V7.50 MAIN 03/06/2007 20:05:01 PAGE 3
92 3 d[1]=(t%100)/100;
93 3 d[0]=(t%10);
94 3 P2=0xff; P0=0xff;
95 3 for (i=0;i<50;i++)
*** ERROR C100 IN LINE 95 OF MAIN.C: unprintable character 0xA3 skipped
*** ERROR C100 IN LINE 95 OF MAIN.C: unprintable character 0xBC skipped
*** ERROR C202 IN LINE 95 OF MAIN.C: 'i50': undefined identifier
96 3 {
97 4 for(j=0;j<5;j++)
*** ERROR C100 IN LINE 97 OF MAIN.C: unprintable character 0xA3 skipped
*** ERROR C100 IN LINE 97 OF MAIN.C: unprintable character 0xBC skipped
*** ERROR C202 IN LINE 97 OF MAIN.C: 'j5': undefined identifier
98 4 {
99 5 if(j==2) P0=led[d[j]]&0x7f;
100 5 else P0=led[d[j]];
101 5 P2=pos[j];
102 5 delay(500);
103 5 }
104 4 }
105 3 P2=0xff; P0=0xff;
106 3 t_sign=0;
107 3 }
108 2 //else {RUN=0; RUN=1;delay(500);RUN=0; };//t=temp();//
109 2 delay(35000);
110 2 }
111 1 }
112 /*=====================================================*/
113 int0(void) interrupt 0
114 {
115 1 EX0=0;
116 1 //while (BUSY!=0);
117 1 delay(200);
118 1 d[4]=(P1&0x0f);
119 1 delay(400); //ICL7135 CLK=460.8KHZ(22.1184MHZ/6/8)
120 1 d[3]=(P1&0x0f);
121 1 delay(400);
122 1 d[2]=(P1&0x0f);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -