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

📄 new.lst

📁 电梯光幕程序(keil开发环境)
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.08   NEW                                                                   04/10/2008 14:10:12 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE NEW
OBJECT MODULE PLACED IN N:\Anson\Public\11111111111111\NEW.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE NEW.C ROM(SMALL) OPTIMIZE(9,SPEED) BROWSE DEBUG OBJECTEXTEND OBJECT(N:\Anso
                    -n\Public\11111111111111\NEW.obj)

line level    source

   1          #include<string.h>
   2          #include"STC.h"
   3          
   4          typedef unsigned char uchar;
   5          typedef unsigned long ulong;
   6          
   7          #define         LED_NUM   32
   8          
   9          #define LIGHT 80 // 斜光数起屏蔽
  10          #define FAT 10000  //
  11          
  12          #define MHz     1000000U        // 定义 MHz
  13          #define gCLK    (22.1184*MHz)   // 系统时钟频率
  14          #define UART_BAUD   9600        // 定义所用的波特率
  15          
  16          
  17          /*#define ADC_Power_On_Speed_Channel_0  0xE0
  18          #define ADC_Power_On_Speed_Channel_1  0xE1
  19          #define ADC_Power_On_Speed_Channel_2  0xE2
  20          #define ADC_Power_On_Speed_Channel_3  0xE3
  21          #define ADC_Power_On_Speed_Channel_4  0xE4
  22          #define ADC_Power_On_Speed_Channel_5  0xE5
  23          #define ADC_Power_On_Speed_Channel_6  0xE6
  24          #define ADC_Power_On_Speed_Channel_7  0xE7
  25          #define ADC_START                                         0x08
  26          #define ADC_FLAG                                          0x10*/
  27          
  28          
  29          sbit CK=P1^7;
  30          sbit PL=P1^4;
  31          
  32          sbit BEEP=P1^5;
  33          sbit SO=P1^3;
  34          sbit SO4=P1^6;
  35          //sbit buzzer_time=P1^2;
  36          //sbit buzzer_delay=P1^1;
  37          
  38          sbit TRR=P3^5;
  39          sbit OB=P3^4;
  40          
  41          
  42          uchar Tcount,Rcont;
  43          ulong FaultFlg=0x000000001;
  44          
  45          void Delay_100us(uchar time)
  46          {
  47   1              uchar i;
  48   1      
  49   1              while(time--)
  50   1              {
  51   2                      for(i=0;i<160;i++);     
  52   2              }
  53   1      }
  54          
C51 COMPILER V8.08   NEW                                                                   04/10/2008 14:10:12 PAGE 2   

  55          
  56          void BEEPSOUND (void)                    //暂时
  57          {
  58   1              BEEP=1;
  59   1              Delay_100us(10);
  60   1      }
  61          
  62          
  63          
  64          void serial_init(void)
  65          {
  66   1          SCON  = 0x50;               // Mode 1: 8-bit UART 允许接收
  67   1          TMOD |= 0x20;               // 定时器1 Mode 2: 8-Bit reload
  68   1          PCON  = 0x80;               // SMOD = 1
  69   1          TH1   = 256 - (uchar)(gCLK/192.0F/UART_BAUD);
  70   1          TR1   = 1;                  // 定时器 1 启动
  71   1          ES    = 1;                  // 串行中断允许
  72   1      }
  73          
  74          
  75          void SEND_byte(uchar dat,uchar SIZE)
  76          { 
  77   1              uchar n=0;   
  78   1              n=SIZE; 
  79   1      
  80   1              TI=0;     //清除发送中断标志 
  81   1      //  dat=1<<7|dat|SIZE<<6;
  82   1      //      n=((dat&1)^((dat&2)>>1)^((dat&4)>>2)^((dat&8)>>3)^((dat&16)>>4)^((dat&32)>>5)^((dat&64)>>6)^((dat&128)>
             ->7));
  83   1      //      dat=dat<<1|n;
  84   1              SBUF=dat; //数据送发送缓冲区 
  85   1              while(TI==0);  //等待发送完成 
  86   1              TI=0;  //清除中断标志
  87   1      }
  88          
  89          /*void ADC_Init(unsigned char CH)
  90          {
  91                  ADC_CONTR=0x80;                                                         //打开A/D转换电源
  92                  delay_ms(10);                                                           //打开A/D转换电源  需要适当延迟以便A/D电源稳定
  93                  //P1M0=P1M1=0x01;                                               //设置P1.0 设置A/D通道所在的I/O为开漏模式
  94                  ADC_CONTR |=CH;                                                         //选择P1.0作为A/D转换通道
  95                  Delay_ms(10); 
  96          }
  97          
  98          int Ad_Change(unsigned char CH)
  99          {
 100                  uchar ADC_DATA_Temp;
 101                  ADC_Init(CH);
 102                  ADC_CONTR|=ADC_START;
 103                  Delay_ms(10);
 104                  while(1)
 105                  {
 106                          if(((bit)(ADC_CONTR&ADC_FLAG)==1)&&((bit)(ADC_CONTR&ADC_START))==0)     //判断A/D转换完成标志位
 107                          {
 108                                  ADC_CONTR &=~ADC_FLAG;          //清除A/D转换完成标志位ADC_FLAG
 109                                  ADC_DATA_Temp=ADC_DATA;         //把A/D转换结果保存到全局变量ADC_DATA_Temp中
 110           return ADC_DATA_Temp;
 111          
 112                          }
 113                  }
 114          }
 115          
C51 COMPILER V8.08   NEW                                                                   04/10/2008 14:10:12 PAGE 3   

 116          */
 117          
 118          void RECORD()
 119          {
 120   1              ulong TempB;
 121   1              uchar i=0,j=0,k=0,t=0;
 122   1      
 123   1          for(i=0;i<8;i++)//i为第几L,j为灯发几次光,t为脉冲收数据
 124   1          {
 125   2                      Delay_100us(100);
 126   2                      BEEP=0;
 127   2                       for(j=0;j<1;j++) //2周循环      
 128   2                       {
 129   3                              if(((uchar)(i/4))%2)
 130   3                              {
 131   4                              //      SEND_byte(7*((uchar)(i/4))-(i-((uchar)(i/4)*4)),1);
 132   4                              }
 133   3                              else
 134   3                              {
 135   4                                      //SEND_byte(i,1);
 136   4                              } 
 137   3                              Delay_100us(5);
 138   3                  PL=0;//parallel load
 139   3                              Delay_100us(1);
 140   3                              PL=1;
 141   3                         TempB=0;
 142   3                          for(t=0;t<8;t++)//32个脉冲t循环读数
 143   3                      {
 144   4      
 145   4                                      CK=0;
 146   4                                      CK=1;
 147   4      
 148   4                                      TempB=TempB>>1;
 149   4                                      if(SO4)
 150   4                                      {
 151   5                                              TempB|=0x80000000;
 152   5                                      }
 153   4                                      else
 154   4                                      {
 155   5                                              TempB&=0x7FFFFFFF;      
 156   5                                      }

⌨️ 快捷键说明

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