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

📄 main.lst

📁 这是运用c51单片机测试电压电流的完整工程项目文件
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V7.06   MAIN                                                                  12/25/2008 21:13:13 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN F:\设计与~1\高压模~1\1246EC~1.11\MAIN.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE F:\设计与~1\高压模~1\1246EC~1.11\MAIN.C DB SB OE

stmt level    source

   1          #include        "mdefine.h"
   2          #include        "IIC_Soft.h"
   3          #include        "Key_Dispose.h"
   4          #include        "Ziku.h"
   5          #include        "Lcd19264.h"
   6          #include        "PCF8563.h"
*** WARNING C280 IN LINE 32 OF PCF8563.H: 'i': unreferenced local variable
   7          #include        "Ad2543.h"
   8          #include        "Tlc5615.h"
   9          #include        "24c64.h"
  10          //#include      "PRINT_DATA.H"
  11          extern uchar UiBuffer[];
  12          extern uchar TmpBuf[];
  13          extern uchar    TimeBuffer[];
  14          extern uchar Serial_Number[];
  15          extern uchar Rec24c64[];
  16          extern uchar idata Char_No;
  17          
  18          uchar  idata ch1[12]={0xd1,0xf5,0xbb,0xaf,0xd0,0xbf,0xb1,0xdc,0xc0,0xd7,0xc6,0xf7};//氧化锌避雷器
  19          uchar idata ch2[8]={0xb2,0xe2,0xca,0xd4,0xbd,0xe1,0xb9,0xfb};//测试结果
  20          uchar idata ch3[5]={0xb5,0xe7,0xd1,0xb9,0x3a};//电压
  21          uchar idata ch4[5]={0xb5,0xe7,0xc1,0xf7,0x3a};//电流
  22          uchar idata ch5[5]={0xcf,0xb5,0xcd,0xb3,0x3a};//系统
  23          uchar idata ch6[7]={0xb2,0xe2,0xca,0xd4,0xd4,0xb1,0x3a};//测试员
  24          uchar  idata dauTmpBuf[6] = {0,0,0x2e,0,0x6b,0x56};//前四个字节为电压三位数含一位小数,后三个字节为kV
  25          uchar  idata daiTmpBuf[4] = {0,0,0xe6,0x41};//前二个字节为电流两位数,后二个字节为uA
  26          uchar  idata datime[14]={ 0,8,0x8c,1,2,0x8d,2,8,0x8e,1,6,0x3a,2,8};//08年12月28日16:28
  27          //函数声明区
  28          void Input_Serial_Number();
  29          void disiping();
  30          
  31          
  32          #pragma disable
  33          void daima() // 转换打印代码
  34          {
  35   1              uchar i;
  36   1              for(i=0;i<2;i++)    //电压数字转换打印内码
  37   1                        dauTmpBuf[i]=UiBuffer[i]|0x30;
  38   1                        dauTmpBuf[3]=UiBuffer[2]|0x30;//电压小数点后一位
  39   1      
  40   1              for(i=5;i<7;i++)   //电流数字转换打印内码
  41   1                      daiTmpBuf[i-5]=UiBuffer[i]|0x30;
  42   1      
  43   1              for(i=0;i<2;i++)   //时间年数字转换打印内码
  44   1                      datime[i]=TimeBuffer[i]|0x30;
  45   1      
  46   1              for(i=2;i<4;i++)   //时间月数字转换打印内码
  47   1                      datime[i+1]=TimeBuffer[i]|0x30;
  48   1      
  49   1              for(i=4;i<6;i++)   //时间日数字转换打印内码
  50   1                      datime[i+2]=TimeBuffer[i]|0x30;
  51   1      
  52   1              for(i=6;i<8;i++)   //时间时数字转换打印内码
  53   1                      datime[i+3]=TimeBuffer[i]|0x30;
  54   1      
C51 COMPILER V7.06   MAIN                                                                  12/25/2008 21:13:13 PAGE 2   

  55   1              for(i=8;i<10;i++)   //时间分数字转换打印内码
  56   1                      datime[i+4]=TimeBuffer[i]|0x30;
  57   1      }
  58          
  59          /*************串口发送子函数***********/
  60          sprint(unsigned char a)
  61          {
  62   1                      while(BUSY);
  63   1                      SBUF=a;
  64   1                      while(!TI);
  65   1                      TI=0;
  66   1      }
  67          
  68          void dayin()
  69          {
  70   1                              int i;
  71   1                              TH1  = 0xfd;//波特率9600
  72   1                              TL1  = 0xfd;
  73   1                              TMOD = 0x20 ;
  74   1                              SCON = 0x40;//串行口方式1,10位数据,1位起始,8位数据,1位停止
  75   1                        TR1= 1;
  76   1                              ES = 1;
  77   1                              TI = 0;
  78   1      
  79   1                      sprint(0x1b);sprint(0x40);//初始化打印机
  80   1                      sprint(0x1b);sprint(0x63);sprint(0x00);//反向打印
  81   1                      sprint(0x1b);sprint(0x6c);sprint(0x0);//设定左限,居中
  82   1                      sprint(0x1c);sprint(0x26);sprint(0x00);//选择汉字
  83   1      
  84   1                              //打印“氧化锌避雷器”
  85   1                      for(i=0;i<12;i++)  //打印氧化锌避雷器
  86   1                              sprint(ch1[i]);
  87   1                              sprint(0x0d); //回车
  88   1      
  89   1                              //打印“测试结果”
  90   1                              sprint(0x1b);sprint(0x6c);sprint(0x03);//设定左限,居中
  91   1                              for(i=0;i<8;i++)
  92   1                              sprint(ch2[i]);
  93   1                              sprint(0x0d); //回车
  94   1      
  95   1                              sprint(0x1b);sprint(0x6c);sprint(0x00);//设定左限,居左
  96   1                              for(i=0;i<12;i++)
  97   1                              sprint(0x2a);//打印“*********”
  98   1                              sprint(0x0d); //回车
  99   1      
 100   1      
 101   1                      //打印“电压:”
 102   1                      for(i=0;i<5;i++)  //打印“电压”
 103   1                              sprint(ch3[i]);
 104   1      
 105   1                              //打印电压数值
 106   1                              for(i=0;i<6;i++) //打印电压数值
 107   1                              sprint(dauTmpBuf[i]);
 108   1                              sprint(0x0d); //回车
 109   1      
 110   1                              //打印“电流:”
 111   1                      for(i=0;i<5;i++)  //打印“电流”
 112   1                              sprint(ch4[i]);
 113   1      
 114   1                              //打印电流数值
 115   1                              for(i=0;i<4;i++) //打印电流数值
 116   1                              sprint(daiTmpBuf[i]);
C51 COMPILER V7.06   MAIN                                                                  12/25/2008 21:13:13 PAGE 3   

 117   1                              sprint(0x0d); //回车
 118   1      
 119   1                              //打印“**********”
 120   1                              for(i=0;i<12;i++)
 121   1                              sprint(0x2a);//打印“*************”
 122   1                              sprint(0x0d); //回车
 123   1      
 124   1                              //打印“系统:”
 125   1                      for(i=0;i<5;i++)  //打印“系统:”
 126   1                              sprint(ch5[i]);
 127   1                              sprint(0x0d); //回车
 128   1      
 129   1                              //打印“测试员:”
 130   1                              for(i=0;i<7;i++) //打印“测试员:”
 131   1                              sprint(ch6[i]);
 132   1                              sprint(0x0d); //回车
 133   1      
 134   1                              sprint(0x1b);sprint(0x36);//选择字符集1
 135   1                              sprint(0x1b);sprint(0x6c);sprint(0x02);//设定左限,居右
 136   1                              for(i=0;i<14;i++) //打印时间
 137   1                              sprint(datime[i]);
 138   1                              sprint(0x0d); //回车
 139   1      }
 140          
 141          /**************************************
 142            名称:main
 143            功能:主函数
 144            输入参数:无
 145            输出参数:无
 146          *************************************/
 147          void Print_Data()
 148          {
 149   1        daima();
 150   1        dayin();
 151   1      }
 152          
 153          
 154          
 155          
 156          
 157          
 158          
 159          
 160          
 161          
 162          
 163          
 164          
 165          
 166          
 167          
 168          
 169          
 170          
 171          
 172          
 173          
 174          
 175          
 176          
 177          
 178          
C51 COMPILER V7.06   MAIN                                                                  12/25/2008 21:13:13 PAGE 4   

 179          
 180          
 181          
 182          
 183          
 184          void Time_Dispose_Read()
 185          {
 186   1              PCF8563_Read();
 187   1              TimeBuffer[9]   =               TmpBuf[0]               & 0x0F;
 188   1              TimeBuffer[8]   =               (TmpBuf[0]  & 0xF0) >> 4;
 189   1              TimeBuffer[7]                   =               TmpBuf[1]       & 0x0F;
 190   1              TimeBuffer[6]           =               (TmpBuf[1]  & 0xF0) >> 4;
 191   1              TimeBuffer[5]                   =               TmpBuf[2]       &       0x0F;
 192   1              TimeBuffer[4]                   =               (TmpBuf[2]  & 0xF0) >> 4;
 193   1              TimeBuffer[3]           =               TmpBuf[3]       & 0x0F;
 194   1              TimeBuffer[2]           =               (TmpBuf[3]  & 0xF0) >> 4;
 195   1              TimeBuffer[1]                   =               TmpBuf[4]               & 0x0F;
 196   1              TimeBuffer[0]     =   (TmpBuf[4]  & 0xF0) >> 4;
 197   1      }
 198          //刷新时间
 199          #pragma disable
 200          void Real_Display_Time()                                                                        //实时显示时间
 201          {
 202   1                Time_Dispose_Read();                  //读PCF8563万年历时间
 203   1                dxz(0,96,2,0);
 204   1                dxz(0,102,0,0);
 205   1      
 206   1                dxz(0,108,TimeBuffer[0],0);                   //显示年月日
 207   1                      dxz(0,114,TimeBuffer[1],0);
 208   1                      dxz(0,120,10,0);
 209   1                      dxz(0,126,TimeBuffer[2],0);
 210   1                      dxz(0,132,TimeBuffer[3],0);

⌨️ 快捷键说明

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