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

📄 dmx-driver.lst

📁 DMX驱动器
💻 LST
字号:
C51 COMPILER V7.07   DMX_DRIVER                                                            12/29/2007 21:54:07 PAGE 1   


C51 COMPILER V7.07, COMPILATION OF MODULE DMX_DRIVER
OBJECT MODULE PLACED IN DMX-DRIVER.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE DMX-DRIVER.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          //============================================
   2          //   广州中大中鸣科技有限公司
   3          //   DMX驱动器源程序
   4          //   文件名:DMX-DRIVER-2.0.c
   5          //   功能描述:1、模式可调  2、可以设地址 3、485总线  4、DMX512协议
   6          //   建立时间:2007年12月15日
   7          //   修改时间:2007年12月29日
   8          //   修改完成时间:2007年12月29日
   9          //   编写:陈勇强
  10          //   版本:V 2.0
  11          //=============================================
  12          
  13          #include<STC12C5410AD.H>
  14          #include<intrins.h>
  15          
  16          void redchangedark(unsigned char rgb,unsigned char rate,unsigned char LD);
  17          
  18          sbit AB = P2^0;                          //AB两编码开关的选通位
  19          sbit CD = P2^2;                          //CD两编码开关的选通位
  20          sbit WDT = P2^7;                         //喂狗 在这次样板中没有用到
  21          
  22          //标志变量的定义
  23          bit DataFlag;                            //接受数据标志
  24          bit StartFlag;                           //开始传输标志
  25          bit SyncFlag;                            //接受下一通道数据标志
  26          bit OKFlag;                              //接受完成标志
  27          bit startDMX=0;
  28          
  29          //全局变量的定义
  30          unsigned char TempData;                  //数据缓存
  31          unsigned char MS;
  32          unsigned int BM1,BM3;
  33          unsigned int ChannelVal;                 //通道位
  34          unsigned int address;                    //设定的地址
  35          
  36          //===========================================
  37          //函数名:time_Init
  38          //描述:定时器初始化子程序
  39          //输入:无
  40          //返回:无
  41          //===========================================
  42          void time_Init(void)
  43          {
  44   1              TMOD = 0x10;
  45   1              AUXR = 0x40;
  46   1              TH1=0x10;
  47   1              TL1=0x20;
  48   1              EA=1;
  49   1              ET1=1;
  50   1              TR1=1;
  51   1      }
  52          
  53          //===========================================
  54          //函数名: timer1
  55          //描述:定时器处理子程序
C51 COMPILER V7.07   DMX_DRIVER                                                            12/29/2007 21:54:07 PAGE 2   

  56          //输入:无
  57          //返回:无
  58          //===========================================
  59          void timer1(void)  interrupt 3 using 1
  60          {   
  61   1              WDT=~WDT; //喂狗
  62   1              TH1=0x00;
  63   1              TL1=0x20;
  64   1      }
  65          //===========================================
  66          //函数名:MCU_Init
  67          //描述:对STC12C5410AD进行初始化
  68          //输入:无
  69          //返回:无
  70          //===========================================
  71          void MCU_Init(void)
  72          {
  73   1              SCON = 0x90;
  74   1              PCON = 0x00;
  75   1              PS = 1;
  76   1              ES = 1;
  77   1              EA = 1;
  78   1      }
  79          
  80          //===========================================
  81          //函数名:DMX_Init
  82          //描述:DMX通信的初始化
  83          //输入:无
  84          //返回:无
  85          //===========================================
  86          void DMX_Init(void)
  87          {
  88   1              unsigned int BM4,BM5;                       //编码开关读数处理的中间变量
  89   1              DataFlag = 0;
  90   1              StartFlag = 0;
  91   1              SyncFlag = 0;
  92   1              OKFlag = 0;
  93   1      //===========================================
  94   1      //      读取地址值
  95   1          AB=0;
  96   1              P1=0xFF;
  97   1              BM1=P1;
  98   1              BM1=0xFF-BM1;
  99   1              BM1=BM1&0x00F0;
 100   1              BM1=BM1<<4;
 101   1              AB=1;
 102   1              address=0;
 103   1              CD=0;
 104   1              P1=0xFF;
 105   1              BM4=P1;
 106   1              BM5=BM4;
 107   1              BM4=0x00FF-BM4;
 108   1              BM5=0x00FF-BM5;
 109   1              BM4=BM4&0x000F;
 110   1              BM5=BM5&0x00F0;
 111   1              BM4=BM4<<4;
 112   1              BM5=BM5>>4;
 113   1              BM5=BM5+BM4;
 114   1              address=BM5+BM1;
 115   1              P1=0;
 116   1      }
 117          
C51 COMPILER V7.07   DMX_DRIVER                                                            12/29/2007 21:54:07 PAGE 3   

 118          //===========================================
 119          //函数名:SetDMXChannel
 120          //描述:DMX通道的计算
 121          //输入:最大的通道数
 122          //返回:无
 123          //===========================================
 124          void SetDMXChannel(unsigned int n)
 125          {
 126   1              ChannelVal = n + 0x0101;
 127   1      }
 128          
 129          //===========================================
 130          //函数名:main
 131          //描述:主函数
 132          //输入:无
 133          //返回:无
 134          //===========================================
 135          void main(void)
 136          {
 137   1              unsigned char rgbdata,delayrate;
 138   1              rgbdata=1;
 139   1              DMX_Init();
 140   1              SetDMXChannel(address);
 141   1              MCU_Init();
 142   1              time_Init();
 143   1              while(1)
 144   1              {
 145   2                      if(startDMX==0)
 146   2                      {
 147   3                      if(startDMX==0)redchangedark(0,10,1);
 148   3                      if(startDMX==0)redchangedark(1,10,1);
 149   3                      if(startDMX==0)redchangedark(2,10,1);
 150   3                      if(startDMX==0)redchangedark(3,10,1);
 151   3                      if(startDMX==0)redchangedark(4,10,1);
 152   3                      if(startDMX==0)redchangedark(5,10,1);
 153   3                      if(startDMX==0)redchangedark(6,10,1);
 154   3                      if(startDMX==0)redchangedark(7,10,1);
 155   3      
 156   3                      if(startDMX==0)redchangedark(10,1,1);
 157   3                      if(startDMX==0)for(delayrate=0;delayrate<20;delayrate++);
 158   3                      if(startDMX==0)redchangedark(11,1,1);
 159   3                      if(startDMX==0)for(delayrate=0;delayrate<20;delayrate++);
 160   3                      if(startDMX==0)redchangedark(12,1,1);
 161   3                      if(startDMX==0)for(delayrate=0;delayrate<20;delayrate++);
 162   3                      if(startDMX==0)redchangedark(13,1,1);
 163   3                      if(startDMX==0)for(delayrate=0;delayrate<20;delayrate++);
 164   3                      if(startDMX==0)redchangedark(14,1,1);
 165   3                      if(startDMX==0)for(delayrate=0;delayrate<20;delayrate++);
 166   3                      if(startDMX==0)redchangedark(15,1,1);
 167   3                      if(startDMX==0)for(delayrate=0;delayrate<20;delayrate++);
 168   3                      if(startDMX==0)redchangedark(8,1,1);
 169   3                      if(startDMX==0)for(delayrate=0;delayrate<8;delayrate++);
 170   3                      if(startDMX==0)redchangedark(10,1,1);
 171   3                      if(startDMX==0)for(delayrate=0;delayrate<10;delayrate++);
 172   3                      if(startDMX==0)redchangedark(11,1,1);
 173   3                      if(startDMX==0)for(delayrate=0;delayrate<10;delayrate++);
 174   3                      if(startDMX==0)redchangedark(12,1,1);
 175   3                      if(startDMX==0)for(delayrate=0;delayrate<10;delayrate++);
 176   3                      if(startDMX==0)redchangedark(13,1,1);
 177   3                      if(startDMX==0)for(delayrate=0;delayrate<20;delayrate++);
 178   3                      if(startDMX==0)redchangedark(14,1,1);
 179   3                      if(startDMX==0)for(delayrate=0;delayrate<20;delayrate++);
C51 COMPILER V7.07   DMX_DRIVER                                                            12/29/2007 21:54:07 PAGE 4   

 180   3                      if(startDMX==0)redchangedark(15,1,1);
 181   3                      if(startDMX==0)for(delayrate=0;delayrate<20;delayrate++);
 182   3                      }
 183   2      
 184   2                  setmode();
*** WARNING C206 IN LINE 184 OF DMX-DRIVER.C: 'setmode': missing function-prototype
 185   2                      shiltin();
*** WARNING C206 IN LINE 185 OF DMX-DRIVER.C: 'shiltin': missing function-prototype
 186   2              send_data(DmxData[22]);send_data(DmxData[23]);
*** ERROR C202 IN LINE 186 OF DMX-DRIVER.C: 'DmxData': undefined identifier
*** ERROR C202 IN LINE 186 OF DMX-DRIVER.C: 'DmxData': undefined identifier
 187   2                      send_data(DmxData[21]);send_data(DmxData[19]);
*** ERROR C202 IN LINE 187 OF DMX-DRIVER.C: 'DmxData': undefined identifier
*** ERROR C202 IN LINE 187 OF DMX-DRIVER.C: 'DmxData': undefined identifier
 188   2                      send_data(DmxData[20]);send_data(DmxData[18]);
*** ERROR C202 IN LINE 188 OF DMX-DRIVER.C: 'DmxData': undefined identifier
*** ERROR C202 IN LINE 188 OF DMX-DRIVER.C: 'DmxData': undefined identifier
 189   2                      send_data(DmxData[16]);send_data(DmxData[17]);
*** ERROR C202 IN LINE 189 OF DMX-DRIVER.C: 'DmxData': undefined identifier
*** ERROR C202 IN LINE 189 OF DMX-DRIVER.C: 'DmxData': undefined identifier
 190   2                      send_data(DmxData[15]);send_data(DmxData[13]);
*** ERROR C202 IN LINE 190 OF DMX-DRIVER.C: 'DmxData': undefined identifier
*** ERROR C202 IN LINE 190 OF DMX-DRIVER.C: 'DmxData': undefined identifier
 191   2                      send_data(DmxData[14]);send_data(DmxData[12]);
*** ERROR C202 IN LINE 191 OF DMX-DRIVER.C: 'DmxData': undefined identifier
*** ERROR C202 IN LINE 191 OF DMX-DRIVER.C: 'DmxData': undefined identifier
 192   2                      send_data(DmxData[10]);send_data(DmxData[11]);
*** ERROR C202 IN LINE 192 OF DMX-DRIVER.C: 'DmxData': undefined identifier
*** ERROR C202 IN LINE 192 OF DMX-DRIVER.C: 'DmxData': undefined identifier
 193   2                      send_data(DmxData[9]);send_data(DmxData[7]);
*** ERROR C202 IN LINE 193 OF DMX-DRIVER.C: 'DmxData': undefined identifier
*** ERROR C202 IN LINE 193 OF DMX-DRIVER.C: 'DmxData': undefined identifier
 194   2                      send_data(DmxData[8]);send_data(DmxData[6]);
*** ERROR C202 IN LINE 194 OF DMX-DRIVER.C: 'DmxData': undefined identifier
*** ERROR C202 IN LINE 194 OF DMX-DRIVER.C: 'DmxData': undefined identifier
 195   2                      send_data(DmxData[4]);send_data(DmxData[5]);
*** ERROR C202 IN LINE 195 OF DMX-DRIVER.C: 'DmxData': undefined identifier
*** ERROR C202 IN LINE 195 OF DMX-DRIVER.C: 'DmxData': undefined identifier
 196   2                      send_data(DmxData[3]);send_data(DmxData[1]);
*** ERROR C202 IN LINE 196 OF DMX-DRIVER.C: 'DmxData': undefined identifier
*** ERROR C202 IN LINE 196 OF DMX-DRIVER.C: 'DmxData': undefined identifier
 197   2                      send_data(DmxData[2]);send_data(DmxData[0]);    
*** ERROR C202 IN LINE 197 OF DMX-DRIVER.C: 'DmxData': undefined identifier
*** ERROR C202 IN LINE 197 OF DMX-DRIVER.C: 'DmxData': undefined identifier
 198   2                      latch();
 199   2                      stopemit();
 200   2                      emitting();     
 201   2              }
 202   1      }
 203          

C51 COMPILATION COMPLETE.  2 WARNING(S),  24 ERROR(S)

⌨️ 快捷键说明

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