⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lst

📁 双口RAM程序实例
💻 LST
📖 第 1 页 / 共 2 页
字号:
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 + -