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

📄 dinzhuanv10.lst

📁 LED照明行业地砖及护栏控制器程序 从现况来看
💻 LST
字号:
C51 COMPILER V7.50   DINZHUANV10                                                           11/09/2006 15:57:20 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE DINZHUANV10
OBJECT MODULE PLACED IN dinzhuanv10.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE dinzhuanv10.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          //************************************
   2          //*********** 
   3          //****  2004-06-19    mcu at89c2051 38400BPS  OSC 22.1184MHZ
   4          // ding li zhao ming 地砖
   5          //************************************
   6          #include <reg51.h>
   7          #include <stdio.h>//一般I/O函数
   8          #include <stdlib.h>//标准函数
   9          #include <absacc.h>//绝对地址
  10          #include <intrins.h>//内部函数  
  11          #include <setjmp.h>
  12          #define uchar unsigned char
  13          #define uint unsigned int
  14          #define Byte unsigned char
  15          #define Word unsigned int
  16          #define ulong unsigned long
  17          #define bool bit
  18          #define true 1
  19          #define false 0
  20          #define V_TH0   0xff  /* 时间常数高8位 (65536-500)/256                  */
  21          #define V_TL0   0x80  /* 时间常数低8位 (65536-500)%256   11.0592*/
  22          #define ADD 1
  23          //******************************
  24          sbit roe=P0^2;
  25          sbit goe=P0^3;
  26          sbit boe=P0^4;
  27          //**************************************************************
  28          uchar   dis_buf_r,dis_buf_g,dis_buf_b;  //显示缓冲
  29          uchar   mode;                           
  30          uchar   pointer;
  31          uchar   send_buf[4];
  32          uchar   pwm,rl;
  33          uchar   setadd;
  34          jmp_buf env;
  35          int retval;
  36          uchar bdata flags;
  37          sbit flag0=flags^0;
  38          sbit flag1=flags^1;
  39          sbit flag2=flags^2;
  40          sbit flag3=flags^3;
  41          sbit frameok=flags^4;
  42          //*********************************
  43          void    delay(uint j);
  44          void    qcgd(uint speed);
  45          //*********************************
  46          void main(void)
  47          {
  48   1      TMOD=0x21;
  49   1      SCON=0xd0;
  50   1      TH1=0xfd;
  51   1      TL1=0xfd;       //256-(22.1184*10~6/32/12/3/38400*2)
  52   1      //PCON=0X80;//倍频
  53   1      SM2=1;
  54   1      TL0=V_TL0;
  55   1      TH0=V_TH0;
C51 COMPILER V7.50   DINZHUANV10                                                           11/09/2006 15:57:20 PAGE 2   

  56   1      TR0=1;
  57   1      ET0=1;
  58   1      TR1=1;
  59   1      ET1=0;
  60   1      ES=1;
  61   1      EA=1;
  62   1      PS=1;
  63   1      frameok=0;
  64   1      pointer=0;
  65   1      dis_buf_b=dis_buf_g=dis_buf_r=15;
  66   1      setadd=(~P1)&0x3f;
  67   1      while(1)
  68   1              {
  69   2              if(mode==0x55)
  70   2                      {delay(4);}
  71   2              else
  72   2                      {
  73   3                      retval=setjmp(env);
  74   3                      if(retval==0)
  75   3                              {
  76   4                              qcgd(20);
  77   4                              }
  78   3                      }
  79   2              }
  80   1      }
  81          //*********************************
  82          //   接收数据
  83          //*********************************
  84          void    receive(void)
  85          {
  86   1      dis_buf_r=send_buf[1];
  87   1      dis_buf_g=send_buf[2];
  88   1      dis_buf_b=send_buf[3];
  89   1      }
  90          //*****************************************
  91          //       延时
  92          //**************************************
  93          void delay(uint tim)
  94          {
  95   1      uint i;
  96   1      while(tim!=0)
  97   1              {
  98   2              for(i=0;i<50;i++)
  99   2                      {
 100   3                      if(frameok)
 101   3                              {receive();
 102   4                              mode=0x55;
 103   4                              frameok=0;
 104   4                              SM2=1;
 105   4                              pointer=0;
 106   4                              retval=1;
 107   4                              longjmp(env,retval);
 108   4                              }
 109   3                      }  
 110   2              tim--;
 111   2              }
 112   1      }
 113          //************************************
 114          //七彩过渡roe=(dis_buf_r<pwm)?0:1;
 115          //**********************************
 116          void    qcgd(uint speed)
 117          {
C51 COMPILER V7.50   DINZHUANV10                                                           11/09/2006 15:57:20 PAGE 3   

 118   1      
 119   1      //for(i=0;i<255;i++){dis_buf_r=i;dis_buf_g=0;dis_buf_b=0;delay(speed);}//red
 120   1      /*
 121   1      for(i=0;i<16;i++){dis_buf_r=15;dis_buf_g=i;dis_buf_b=0;delay(speed);}//yeloww
 122   1      for(i=0;i<16;i++){dis_buf_r=~i;dis_buf_g=15;dis_buf_b=0;delay(speed);}//grn
 123   1      for(i=0;i<16;i++){dis_buf_r=0;dis_buf_g=15;dis_buf_b=i;delay(speed);}//qi
 124   1      for(i=0;i<16;i++){dis_buf_r=0;dis_buf_g=~i;dis_buf_b=15;delay(speed);}//blu
 125   1      for(i=0;i<16;i++){dis_buf_r=i;dis_buf_g=0;dis_buf_b=15;delay(speed);}//zhi
 126   1      for(i=0;i<16;i++){dis_buf_r=15;dis_buf_g=i;dis_buf_b=15;delay(speed);}//w
 127   1      for(i=0;i<16;i++){dis_buf_r=15;dis_buf_g=~i;dis_buf_b=~i;delay(speed);}//r
 128   1      */
 129   1      for(dis_buf_g=63;dis_buf_g<64;dis_buf_g--)
 130   1              {dis_buf_b=dis_buf_g;delay(speed);}//r
 131   1              dis_buf_r=63;dis_buf_g=0;dis_buf_b=0;
 132   1      
 133   1      for(dis_buf_g=1;dis_buf_g<64;dis_buf_g++)
 134   1              {delay(speed);}//y
 135   1              dis_buf_g=63;
 136   1      for(dis_buf_r=63;dis_buf_r<64;dis_buf_r--)
 137   1              {delay(speed);}//g
 138   1              dis_buf_r=0;
 139   1      for(dis_buf_b=1;dis_buf_b<64;dis_buf_b++)
 140   1              {delay(speed);}//q
 141   1              dis_buf_b=63;
 142   1      for(dis_buf_g=63;dis_buf_g<64;dis_buf_g--)
 143   1              {delay(speed);}//b
 144   1              dis_buf_g=0;
 145   1      for(dis_buf_r=1;dis_buf_r<64;dis_buf_r++)
 146   1              {delay(speed);}//z
 147   1              dis_buf_r=63;
 148   1      for(dis_buf_g=1;dis_buf_g<64;dis_buf_g++)
 149   1              {delay(speed);}//w
 150   1              dis_buf_g=63;
 151   1      }
 152          
 153          //****************************************
 154          //               通讯子程序
 155          //**************************************
 156          void send(void) interrupt  4 
 157          {
 158   1      if(!TI && RI && !frameok)
 159   1              {RI=0;
 160   2              if(pointer==0)
 161   2                      {
 162   3                      if(SBUF==setadd||SBUF==0)
 163   3                              {
 164   4                              SM2=0;pointer++;
 165   4                              }
 166   3                      }
 167   2              else
 168   2                      {
 169   3                      if(pointer<3)
 170   3                      {send_buf[pointer]=SBUF;pointer++;}
 171   3                      else
 172   3                      {
 173   4                              send_buf[pointer]=SBUF;
 174   4                              frameok=1;
 175   4                              } 
 176   3                      }
 177   2              }//end if
 178   1      }//end sub
 179          //*******************************************
C51 COMPILER V7.50   DINZHUANV10                                                           11/09/2006 15:57:20 PAGE 4   

 180          void timer1() interrupt  1  
 181          { 
 182   1      TL0=V_TL0;
 183   1      TH0=V_TH0;
 184   1      pwm++;
 185   1      if(pwm>63)pwm=0;
 186   1      //for(pwm=0;pwm<64;pwm++)
 187   1      //      {
 188   1              roe=(dis_buf_r<=pwm)?1:0;
 189   1              goe=(dis_buf_g<=pwm)?1:0;
 190   1              boe=(dis_buf_b<=pwm)?1:0;
 191   1      //      }
 192   1      }//end sub


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    466    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     22       6
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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