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

📄 dac.lst

📁 TS12864液晶驱动
💻 LST
字号:
C51 COMPILER V8.02   DAC                                                                   07/26/2008 19:16:14 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE DAC
OBJECT MODULE PLACED IN dac.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\c51.exe dac.c DB OE BR

line level    source

   1          /************************************************************
   2           *      Copyright (C) 2006, 华中科技大学电气与电子科技创新中心  *
   3           *      All Rights Reserved.                                    *
   4           *                                                              *
   5           *      文件名:         dac.c                                       * 
   6           *      文件描述:       用于简易逻辑分析仪的波形显示函数            *
   7           *                                                                      *
   8           *      当前版本:       1.0                                         * 
   9           *      作者:           王璠(wang.fan@smail.hust.edu.cn)            *
  10           *      完成日期:       2008年7月22日                               *
  11           ************************************************************/
  12          //#include"dac.h"
  13          #include"main.h"
  14          
  15          unsigned char xdata fifowindow[8][20];               //FIFO寄存器
  16          unsigned int keyW;                              //存储键值 
  17          unsigned char time_flag = 9;                    //时间标志线                        
  18          
  19          
  20          
  21          
  22          
  23          
  24          void DisplayLogicWave(unsigned int delaytime)
  25          {
  26   1              unsigned int i,j,n=0,trig,k,time,time1,tflag;         
  27   1      
  28   1      
  29   1          unsigned char idata bias0[2][8] = {{0,32,64,96,128,160,192,224},{20,52,84,116,148,180,212,244}};     /
             -/8通道偏置电平,第一行为低,第二行为高
  30   1          unsigned char idata bias1[2][8] = {{224,192,160,128,96,64,32,0},{244,212,180,148,116,84,52,20}};
  31   1          unsigned int idata wire0[2][8] = {{0,32,64,96,128,160,192,224},{60,92,124,156,188,220,242,255}};     /
             -/触发位置标志线
  32   1          unsigned int idata wire1[2][8] = {{224,192,160,128,96,64,32,0},{255,242,220,188,156,124,92,60}};
  33   1      
  34   1          unsigned int xdata timewire0[2][8] = {{0,32,64,96,128,160,192,224},{0,12,44,76,108,140,172,204}};     
             -//时间标志线
  35   1          unsigned int xdata timewire1[2][8] = {{224,192,160,128,96,64,32,0},{204,172,140,108,76,44,12,0}};
  36   1      
  37   1      
  38   1              unsigned char xdata temp[320];         
  39   1      
  40   1      
  41   1      //将fifo中的数据按扫描顺序存入temp中
  42   1      ///////////////////////////////////////////////
  43   1          for(i=0;i<8;i++)                                
  44   1              {
  45   2                      for(j=0;j<20;j++)
  46   2                      {
  47   3                              temp[n] = bias0[fifowindow[i][j]][i];
  48   3                              n++;
  49   3                      }
  50   2              }
  51   1              for(i=0;i<8;i++)
  52   1              {   k = 7-i;
C51 COMPILER V8.02   DAC                                                                   07/26/2008 19:16:14 PAGE 2   

  53   2                      for(j=0;j<20;j++)
  54   2                      {
  55   3                              temp[n] = bias1[fifowindow[k][j]][i];
  56   3                              n++;
  57   3                      }
  58   2              }
  59   1      ///////////////////////////////////////////////
  60   1      
  61   1              trig = trig_delay*5+3;           //将触发延迟转化为触发标志线的位置
  62   1      
  63   1          tflag = time_flag*5+3;
  64   1      //if(trig_delay>19)
  65   1      //
  66   1      //
  67   1      //
  68   1      //
  69   1          
  70   1          for(time=0;time<delaytime;time++)
  71   1              for(time1=0;time1<1000;time1++)         
  72   1      
  73   1      //      while(1)
  74   1              {
  75   2                      n = 0;
  76   2      //从CH0扫到CH7
  77   2      //////////////////////////////////////////
  78   2                      for(i=0;i<8;i++)
  79   2                      {
  80   3                              for(j=0;j<100;j++)
  81   3                              {
  82   4                                      SFRPAGE   = DAC0_PAGE;
  83   4                                      DAC0H = j;
  84   4                      if(j%5==0)
  85   4                                      {
  86   5                                              SFRPAGE  = DAC1_PAGE;
  87   5                                              DAC1H = temp[n];
  88   5                                              n++;
  89   5                                      }
  90   4                                      if(j==trig)
  91   4                                      {
  92   5                                              SFRPAGE  = DAC1_PAGE;
  93   5                                              DAC1H = wire0[1][i];
  94   5                                              DAC1H = wire0[0][i];    
  95   5                                      }
  96   4                                      if(j==tflag)
  97   4                                      {
  98   5                                              SFRPAGE  = DAC1_PAGE;
  99   5                                              DAC1H = timewire0[1][i];
 100   5                                              DAC1H = timewire0[0][i];        
 101   5                                      }
 102   4                              }
 103   3                      }
 104   2      
 105   2              
 106   2      //从CH7扫到CH0,先正向扫描后反向扫描防止波形过冲
 107   2      ///////////////////////////////////////////////////
 108   2                      for(i=0;i<8;i++)
 109   2                      {
 110   3                              for(j=0;j<100;j++)
 111   3                              {
 112   4                                      SFRPAGE   = DAC0_PAGE;
 113   4                                      DAC0H = j;
 114   4                      if(j%5==0)
C51 COMPILER V8.02   DAC                                                                   07/26/2008 19:16:14 PAGE 3   

 115   4                                      {
 116   5                                      SFRPAGE  = DAC1_PAGE;
 117   5                                              DAC1H = temp[n];
 118   5                                              n++;
 119   5                                      }
 120   4                                      if(j==trig)
 121   4                                      {
 122   5                                              SFRPAGE  = DAC1_PAGE;
 123   5                                              DAC1H = wire1[1][i];
 124   5                                              DAC1H = wire1[0][i];    
 125   5                                      }
 126   4                                      if(j==tflag)
 127   4                                      {
 128   5                                              SFRPAGE  = DAC1_PAGE;
 129   5                                              DAC1H = timewire1[1][i];
 130   5                                              DAC1H = timewire1[0][i];        
 131   5                                      }
 132   4                              }
 133   3                      }
 134   2      
 135   2      
 136   2              
 137   2              }                                       
 138   1      }
 139          
 140          
 141          
 142          
 143          
 144          
 145          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    737    ----
   CONSTANT SIZE    =    160    ----
   XDATA SIZE       =    160     384
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3      16
   IDATA SIZE       =   ----      96
   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 + -