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

📄 text1.lst

📁 用于简单的数模、模数转换
💻 LST
字号:
C51 COMPILER V8.08   TEXT1                                                                 04/22/2009 18:45:22 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: D:\Program Files\keil\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg51.h>
   2          #include <I2C.h>
*** ERROR C231 IN LINE 13 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'P0': redefinition
*** ERROR C231 IN LINE 14 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'P1': redefinition
*** ERROR C231 IN LINE 15 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'P2': redefinition
*** ERROR C231 IN LINE 16 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'P3': redefinition
*** ERROR C231 IN LINE 17 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'PSW': redefinition
*** ERROR C231 IN LINE 18 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'ACC': redefinition
*** ERROR C231 IN LINE 19 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'B': redefinition
*** ERROR C231 IN LINE 20 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'SP': redefinition
*** ERROR C231 IN LINE 21 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'DPL': redefinition
*** ERROR C231 IN LINE 22 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'DPH': redefinition
*** ERROR C231 IN LINE 23 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'PCON': redefinition
*** ERROR C231 IN LINE 24 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TCON': redefinition
*** ERROR C231 IN LINE 25 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TMOD': redefinition
*** ERROR C231 IN LINE 26 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TL0': redefinition
*** ERROR C231 IN LINE 27 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TL1': redefinition
*** ERROR C231 IN LINE 28 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TH0': redefinition
*** ERROR C231 IN LINE 29 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TH1': redefinition
*** ERROR C231 IN LINE 30 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'IE': redefinition
*** ERROR C231 IN LINE 31 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'IP': redefinition
*** ERROR C231 IN LINE 32 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'SCON': redefinition
*** ERROR C231 IN LINE 33 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'SBUF': redefinition
*** ERROR C231 IN LINE 45 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'CY': redefinition
*** ERROR C231 IN LINE 46 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'AC': redefinition
*** ERROR C231 IN LINE 47 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'F0': redefinition
*** ERROR C231 IN LINE 48 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'RS1': redefinition
*** ERROR C231 IN LINE 49 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'RS0': redefinition
*** ERROR C231 IN LINE 50 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'OV': redefinition
*** ERROR C231 IN LINE 51 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'P': redefinition
*** ERROR C231 IN LINE 54 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TF1': redefinition
*** ERROR C231 IN LINE 55 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TR1': redefinition
*** ERROR C231 IN LINE 56 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TF0': redefinition
*** ERROR C231 IN LINE 57 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TR0': redefinition
*** ERROR C231 IN LINE 58 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'IE1': redefinition
*** ERROR C231 IN LINE 59 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'IT1': redefinition
*** ERROR C231 IN LINE 60 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'IE0': redefinition
*** ERROR C231 IN LINE 61 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'IT0': redefinition
*** ERROR C231 IN LINE 64 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'EA': redefinition
*** ERROR C231 IN LINE 66 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'ES': redefinition
*** ERROR C231 IN LINE 67 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'ET1': redefinition
*** ERROR C231 IN LINE 68 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'EX1': redefinition
*** ERROR C231 IN LINE 69 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'ET0': redefinition
*** ERROR C231 IN LINE 70 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'EX0': redefinition
*** ERROR C231 IN LINE 74 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'PS': redefinition
*** ERROR C231 IN LINE 75 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'PT1': redefinition
*** ERROR C231 IN LINE 76 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'PX1': redefinition
*** ERROR C231 IN LINE 77 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'PT0': redefinition
*** ERROR C231 IN LINE 78 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'PX0': redefinition
*** ERROR C231 IN LINE 81 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'RD': redefinition
*** ERROR C231 IN LINE 82 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'WR': redefinition
*** ERROR C231 IN LINE 83 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'T1': redefinition
*** ERROR C231 IN LINE 84 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'T0': redefinition
*** ERROR C231 IN LINE 85 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'INT1': redefinition
*** ERROR C231 IN LINE 86 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'INT0': redefinition
C51 COMPILER V8.08   TEXT1                                                                 04/22/2009 18:45:22 PAGE 2   

*** ERROR C231 IN LINE 87 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TXD': redefinition
*** ERROR C231 IN LINE 88 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'RXD': redefinition
*** ERROR C231 IN LINE 91 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'SM0': redefinition
*** ERROR C231 IN LINE 92 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'SM1': redefinition
*** ERROR C231 IN LINE 93 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'SM2': redefinition
*** ERROR C231 IN LINE 94 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'REN': redefinition
*** ERROR C231 IN LINE 95 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TB8': redefinition
*** ERROR C231 IN LINE 96 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'RB8': redefinition
*** ERROR C231 IN LINE 97 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TI': redefinition
*** ERROR C231 IN LINE 98 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'RI': redefinition
   3          #include <ZLG7290.h>
   4          
   5          #define uchar unsigned char
   6          #define uint  unsigned int
   7          
   8          uchar z1;
   9          uint Num;
  10          uchar ge,shi,bai,qian;
  11          
  12          //定义键盘中断标志,FlagINT=1表示有键按下
  13          volatile bit FlagINT = 0;
  14          
  15          /*
  16          函数:INT0_SVC()
  17          功能:ZLG7290键盘中断服务程序
  18          说明:中断触发方式选择负边沿触发,因此不必等待中断请求信号恢复为高电平
  19          */
  20          void INT0_SVC() interrupt 0
  21          {  IE0=0;
  22   1              
  23   1              FlagINT = 1;
  24   1      }
  25          
  26          void Delay(uint x)           //延时函数
  27          {
  28   1        uint i,j;
  29   1        for(i=0;i<x;i++)
  30   1           for(j=0;j<120;j++);
  31   1      }
  32          
  33          /*
  34          函数:SystemInit()
  35          功能:系统初始化
  36          */
  37          void SystemInit()
  38          {
  39   1              I2C_Init();
  40   1              Delay(500);             //等待ZLG7290复位完毕
  41   1      }
  42          
  43          /*
  44          函数:ClearAll()
  45          功能:清除所有显示
  46          */
  47          void ClearAll()
  48          {
  49   1              unsigned char x;
  50   1              for ( x=0; x<8; x++ )
  51   1              {
  52   2                      ZLG7290_Download(x,0,0,31);
  53   2              }
  54   1      }
C51 COMPILER V8.08   TEXT1                                                                 04/22/2009 18:45:22 PAGE 3   

  55                            
  56          sbit      CS=P1^5;          //片选
  57          sbit     SCLK=P1^6;         //时钟
  58          sbit     DIN=P1^7;          //数据入口
  59          
  60          
  61          sbit Tlc549_Clk  = P1^4;
  62          sbit Tlc549_Data = P1^3;
  63          sbit Tlc549_Cs   = P1^2;
  64          
  65          
  66          
  67          
  68          //--------------------------------------------------
  69          //              函数名称:    DA_Conver
  70          //              函数功能:    DA转换
  71          //              入口参数:    要转换的数字量,最多输出参考电压的
  72          //                          2倍,如可采用MC1403等参考电源
  73          //              出口参数:    无
  74          //--------------------------------------------------
  75          void DA_Conver(unsigned int DAValue)
  76          {
  77   1      
  78   1            unsigned char i;
  79   1      
  80   1            DAValue <<= 6;   
  81   1      
  82   1            CS=0;                                 //片选DA芯片
  83   1            SCLK= 0;                              //在以下12个时钟周期内,每当在上升沿的
  84   1                                                  //数据被锁存,形成DA输出。在前10个时钟
  85   1            for(i = 0; i < 12; i++)               //内输入的是10位DA数据,后两个时钟周期
  86   1            {                                     //为填充字节。
  87   2                DIN= (bit)(DAValue & 0x8000);   
  88   2                SCLK= 1;                         
  89   2                DAValue <<= 1;                   
  90   2                SCLK= 0;
  91   2            }
  92   1      
  93   1            CS= 1;                               //CS的上升沿和下降沿只有在clk为低的时候
  94   1            SCLK= 0;                              //才有效
  95   1      
  96   1      }
  97          
  98          int Read_Key()
  99          {
 100   1              unsigned char KeyValue;
 101   1              ClearAll();
 102   1              EA = 0;
 103   1              IT0 = 1;        //负边沿触发中断
 104   1              EX0 = 1;        //允许外部中断
 105   1              EA = 1;
 106   1              if(FlagINT)                                           //如果有键按下
 107   1                {
 108   2                  FlagINT = 0;                              //清除中断标志
 109   2                  ZLG7290_ReadReg(ZLG7290_Key,&KeyValue);   //读取键值
 110   2              return(KeyValue);
 111   2                }
 112   1              PCON|= 0x01;                                  //使CPU进入空闲状态,任一中断可唤醒
 113   1      }
 114          
 115          void Display(uchar qian,uchar bai,uchar shi,uchar ge)
 116          {
C51 COMPILER V8.08   TEXT1                                                                 04/22/2009 18:45:22 PAGE 4   

 117   1        bit dp;
 118   1        bit flash;
 119   1        dp = 0;
 120   1        flash = 0;
 121   1        ZLG7290_Download(4,dp,flash,ge);
 122   1        ZLG7290_Download(5,dp,flash,shi);
 123   1        ZLG7290_Download(6,dp,flash,bai);
 124   1        ZLG7290_Download(7,dp,flash,qian);
 125   1      }
 126          
 127          uchar Tlc549()
 128          {
 129   1        uchar i,T1=0;
 130   1        Tlc549_Cs =0;              //使能549
 131   1        for(i=0;i<8;i++)
 132   1         {
 133   2           Tlc549_Clk =1;          //准备好数据
 134   2           T1=T1<<1;               //左移1位
 135   2           if(Tlc549_Data==1) 
 136   2             T1=T1+1;              //保存本次移出的位
 137   2             Tlc549_Clk =0;        //打出下一位数据
 138   2         }
 139   1      
 140   1        Tlc549_Cs =1;              //释放对TLC945的控制
 141   1        return T1;
 142   1      }
 143          
 144          void main()
 145          { 
 146   1        int DA_Value;
 147   1        SystemInit();            //系统初始化             
 148   1        Delay(500);
 149   1        while(1)
 150   1        { 
 151   2          DA_Value=Read_Key();
 152   2          if(DA_Value<10)
 153   2             ZLG7290_Download(0,0,0,DA_Value);
 154   2          else if(DA_Value>=10&&DA_Value<100)
 155   2                 {
 156   3                   ZLG7290_Download(0,0,0,DA_Value%10);
 157   3                   ZLG7290_Download(1,0,0,DA_Value/10);
 158   3                  }
 159   2               else if(DA_Value>=100&&DA_Value<1000)
 160   2                      {
 161   3                         ZLG7290_Download(0,0,0,DA_Value%10);
 162   3                         ZLG7290_Download(1,0,0,(DA_Value/10)%10);
 163   3                          ZLG7290_Download(2,0,0,DA_Value/100);
 164   3                       }
 165   2                    else if(DA_Value>=1000&&DA_Value<10000)
 166   2                          {
 167   3                             ZLG7290_Download(0,0,0,DA_Value%10);
 168   3                             ZLG7290_Download(1,0,0,(DA_Value%100)/10);
 169   3                               ZLG7290_Download(2,0,0,(DA_Value/100)%10);
 170   3                               ZLG7290_Download(3,0,0,DA_Value/1000);
 171   3                           }  
 172   2          DA_Conver(DA_Value);
 173   2          Delay(500);
 174   2          z1=Tlc549();
 175   2          Num =z1*5000/255;      
 176   2          qian=Num/1000;         //转成BCD码
 177   2          bai =Num%1000/100;     //转成BCD码
 178   2          shi =Num%100/10;       //转成BCD码
C51 COMPILER V8.08   TEXT1                                                                 04/22/2009 18:45:22 PAGE 5   

 179   2          ge  =z1%10;            //转成BCD码
 180   2          Display(qian,bai,shi,ge); 
 181   2          Delay(3000);
 182   2        }
 183   1      }
 184          
 185           

C51 COMPILATION COMPLETE.  0 WARNING(S),  63 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -