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

📄 b3_2006.lst

📁 电流电压监测的例子 电 流电压监测的例子
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.50   B3_2006                                                               04/09/2006 20:35:21 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE B3_2006
OBJECT MODULE PLACED IN E:\DHFWORK\B3_2006J\B3_2006.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE E:\DHFWORK\B3_2006J\B3_2006.C DB SB OE

line level    source

   1          #include <reg52.h>
   2          #include <absacc.h>
   3          #include "B3_2006.h"
   4          
   5          #define CONSTER 0xFFFF
   6          
   7          sbit P1_0 = P1^0;
   8          sbit P1_1 = P1^1;
   9          sbit P1_2 = P1^2;
  10          sbit P1_3 = P1^3;
  11          sbit P1_4 = P1^4;
  12          sbit P1_5 = P1^5;
  13          sbit P1_6 = P1^6;
  14          sbit P1_7 = P1^7;
  15          sbit P3_4 = P3^4; //T0
  16          sbit P3_5 = P3^5; //T1
  17          sbit clflag=ACC^7;
  18          
  19          
  20                        //共阴 0 ,  1  ,  2  , 3 , 4  , 5  , 6  , 7  , 8  , 9  , 0.    1.   2.   3.   4.   5.   6.  
             - 7.   8.   9.
  21          uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0
             -x87,0xff,0xef};
  22          uchar DP[20];
  23          uint Max[2]={260,800};
  24          //uint idata BUF8253[3];
  25          float idata BUF8253[4];
  26          uchar ucReCom[25]= "@SA2356B33456712356%";
  27          uchar  uiRe_In=0,flag,p;
  28          //uchar ppt;
  29          uchar MCUToPC[10]="@a+0000%";
  30          uchar Error[8]="@ERROR%";
  31          uchar EVENTHAND=0;
  32          uchar FFG_PLC;
  33          //********延时程序*******************
  34          void Delay(int jw)
  35             {
  36   1            int id;
  37   1            for(;jw>0;jw--)
  38   1            for(id=0;id<125;id++)
  39   1              {;}
  40   1         }
  41          /*! @function ***********************************/
  42          void Beep(int x,int y)
  43          {
  44   1       for( ;x>0;x--)
  45   1       {
  46   2         P1_0=0;
  47   2         Delay(y);
  48   2         P1_0=1;
  49   2         Delay(y);
  50   2        }
  51   1      }
  52          
  53          
C51 COMPILER V7.50   B3_2006                                                               04/09/2006 20:35:21 PAGE 2   

  54          void init()
  55           {
  56   1         uchar ig;///j,u;
  57   1         PCON=0x80;
  58   1         TMOD=0x20;         //定时器0方式1,
  59   1         TH1=0xfd;          //设定波特率为19200
  60   1         TL1=0xfd;
  61   1       //  IE=0x92;           //开中断,允许串行口,定时器0,1中断
  62   1         IP=0x10;           //设中断的优先级 1为高级优先级
  63   1         SCON=0x50;         //串行口工作在方式1,1 start;8 data bit;1 stop
  64   1         TR1=1;
  65   1          P1_5 = 0;
  66   1          P1_6 = 0;
  67   1          P1_7 = 0;
  68   1         Delay(100);
  69   1         //8255 初始化
  70   1         CMD8255A=0x9B;
  71   1         CMD8255B=0x9B;
  72   1         CMD8255C=0x80;
  73   1         PA8255C=0x00;//close gata of counter
  74   1         Delay(100);
  75   1         //8279 初始化
  76   1         CMD8279 = 0xd1;
  77   1         do                //8279置0
  78   1          {
  79   2          ACC=CMD8279;
  80   2          }while(clflag == 1);
  81   1         CMD8279 = 0x08;//显示方式
  82   1         CMD8279 = 0x2f;//分频系数
  83   1         for(ig=0;ig<16;ig++)
  84   1          {
  85   2           CMD8279 = ig+0x80;
  86   2           DAT8279 = 0x3f;
  87   2          }
  88   1         //8253初始化
  89   1         A8254CMD = 0x38;
  90   1         A8254T0 = 0xff;
  91   1         A8254T0 = 0xff;
  92   1         A8254CMD = 0x78;
  93   1         A8254T1 = 0xff;
  94   1         A8254T1 = 0xff;
  95   1         A8254CMD = 0xb8;
  96   1         A8254T2 = 0xff;
  97   1         A8254T2 = 0xff;
  98   1      
  99   1      
 100   1         IE=0x92;           //开中断,允许串行口,定时器0,1中断
 101   1       }
 102          
 103          /*! @function
 104          ***************************************************
 105          <PRE>
 106          函数名   : <SendChar>
 107          功能     : <发送数据函数>
 108          参数     : <char uSendData>
 109          返回值   : <void>
 110          抛出异常 : <无>
 111          ---------------------------------------------------
 112          备注     : <初始化参数要根据具体情况来设定!>
 113          典型用法 : <       SendChar('a');           >
 114          ---------------------------------------------------
 115          作者     :dhf
C51 COMPILER V7.50   B3_2006                                                               04/09/2006 20:35:21 PAGE 3   

 116          创立时间 :2005.9.8
 117          第  次修改时间/修改者:
 118          
 119          </PRE>
 120          ***************************************************/
 121          void SendChar(char uSendData)
 122          {
 123   1        SBUF=uSendData;
 124   1        while(!TI);
 125   1            TI=0;
 126   1      }
 127          
 128          void _MCUtoPC(void)
 129          {
 130   1         int jd;
 131   1         for(jd=0;jd<10;jd++)
 132   1         {
 133   2           SendChar(MCUToPC[jd]);
 134   2         }
 135   1      }
 136          
 137           /*! @function
 138          ***************************************************
 139          <PRE>
 140          函数名   : <CM>
 141          功能     : <数据解析>
 142          参数     : <int a, int b, int c, int q,int f>
 143          参数说明 : int a  //个位
 144                      int b  //百位
 145                      int c  //十位
 146                      int q  //千位
 147                      int f  //符号位
 148          返回值   : <int m>
 149          抛出异常 : <无>
 150          ---------------------------------------------------
 151          备注     : <无通用性!>
 152          典型用法 : <CM(a,b,c,q,f)>
 153          ---------------------------------------------------
 154          作者     : dhf
 155          创立时间 :2005.9.8
 156          第  次修改时间/修改者:
 157          
 158          </PRE>
 159          ***************************************************/
 160          int CM(int a, int b, int c, int q,int f)
 161          {
 162   1       int mu,ju,ku,wu,ru;
 163   1       switch(f)              //符号
 164   1         {
 165   2          case 0x00:
 166   2                  ru=-1;
 167   2                  MCUToPC[2]='-';
 168   2                  break;
 169   2          case 0x01:
 170   2                  ru=1;
 171   2                  MCUToPC[2]='+';
 172   2                  break;
 173   2          default: break;
 174   2         }
 175   1       switch(q)             //千位
 176   1         {
 177   2          case 0x01:
C51 COMPILER V7.50   B3_2006                                                               04/09/2006 20:35:21 PAGE 4   

 178   2                  wu=0;
 179   2                  MCUToPC[3]='0';
 180   2                  break;
 181   2          case 0x00:
 182   2                  wu=1000;
 183   2                  MCUToPC[3]='1';
 184   2                  break;
 185   2          default: break;
 186   2         }
 187   1        switch(b)         //百位
 188   1         {
 189   2          case 0x00:
 190   2                  ju=8;
 191   2                  MCUToPC[4]='8';
 192   2                  break;
 193   2          case 0x06:
 194   2                  ju=2;
 195   2                  MCUToPC[4]='2';
 196   2                  break;
 197   2          case 0x08:
 198   2                  ju=6;
 199   2                  MCUToPC[4]='6';
 200   2                  break;
 201   2          case 0x10:
 202   2                  ju=0;
 203   2                  MCUToPC[4]='0';
 204   2                  break;
 205   2          case 0x20:
 206   2                  ju=9;
 207   2                  MCUToPC[4]='9';
 208   2                  break;
 209   2          case 0x24:
 210   2                  ju=3;
 211   2                  MCUToPC[4]='3';
 212   2                  break;
 213   2          case 0x28:
 214   2                  ju=5;
 215   2                  MCUToPC[4]='5';
 216   2                  break;
 217   2          case 0x61:
 218   2                  ju=4;
 219   2                  MCUToPC[4]='4';
 220   2                  break;
 221   2          case 0x74:
 222   2                  ju=7;
 223   2                  MCUToPC[4]='7';
 224   2                  break;
 225   2          case 0x75:
 226   2                  ju=1;
 227   2                  MCUToPC[4]='1';
 228   2                  break;
 229   2          default: break;
 230   2          }
 231   1       switch(c)         //十位
 232   1         {
 233   2          case 0x00:
 234   2                  ku=8;
 235   2                  MCUToPC[5]='8';
 236   2                  break;
 237   2          case 0x01:
 238   2                  ku=0;
 239   2                  MCUToPC[5]='0';
C51 COMPILER V7.50   B3_2006                                                               04/09/2006 20:35:21 PAGE 5   

 240   2                  break;
 241   2          case 0x08:
 242   2                  ku=6;
 243   2                  MCUToPC[5]='6';
 244   2                  break;
 245   2          case 0x10:
 246   2                  ku=9;
 247   2                  MCUToPC[5]='9';
 248   2                  break;
 249   2          case 0x14:

⌨️ 快捷键说明

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