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

📄 master_main.lst

📁 简易数字逻辑分析仪
💻 LST
字号:
C51 COMPILER V7.09   MASTER_MAIN                                                           08/24/2007 09:37:39 PAGE 1   


C51 COMPILER V7.09, COMPILATION OF MODULE MASTER_MAIN
OBJECT MODULE PLACED IN Master_Main.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE Master_Main.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg51.h>
   2          #include"math.h"
   3          #include"Config.h"
   4          #include"IOCfg.c"
   5          #include"TimeDLY.h"
   6          #include"IIC_PCA8574.h"
   7          #include"LogValue.h"
   8          #include"LCD.h"
   9          #include"Key.h"
  10          #include"Touch.h"
  11          #include"Serial.h"
  12          
  13          //"0 ~ 9"字库码
  14          INT16U NUM[10]={
  15                                          0xA3B0,0xA3B1,0xA3B2,0xA3B3,0xA3B4,
  16                                          0xA3B5,0xA3B6,0xA3B7,0xA3B8,0xA3B9};
  17          
  18          bit     TOUCH_SET = 0;        //设置触发指示
  19          INT8U   TOUCH_MODE = SINGLE;  //触发方式
  20          INT32U  TOUCH_WORD = 0x00;    //触发字
  21          INT8U   TOUCH_ADDR = 8;       //触发位置
  22          bit     PAGE = 0;             //分页显示指示
  23          INT8U   PAGE_NUM = 0;         //当前页号
  24          FP32    GATE_VALUE = 4.0;     //门限电平
  25          INT8U   GATE_N = 0;           //门限设置通道   
  26          INT16U  FREQ = 100;           //采样频率 
  27          
  28          void InitIO()
  29          {
  30   1              bit x;
  31   1              P0  = 0x00;
  32   1              P1  = 0x00;
  33   1              P2  = 0x00;
  34   1              ZLG7289INT = 1;
  35   1              IIC_INT    = 1;
  36   1              RAM_WE     = 0;
  37   1              RAM_OE     = 0;
  38   1              x = PCA8574_PutOne(0x40,0x00);
  39   1              x = PCA8574_PutOne(0x41,0x00);
  40   1              x = PCA8574_PutOne(0x42,0x00);
  41   1              x = PCA8574_PutOne(0x43,0xff);
  42   1              }
  43          
  44          void main()
  45          {
  46   1              bit x;
  47   1              INT8U key,i;
  48   1              INT32U temp=0;
  49   1              INT16U addr=0;
  50   1              INT8U  TX_Data;
  51   1              INT8U  tword[10]={0};
  52   1              InitIO();
  53   1              InitSerial();
  54   1              InitIIC();
  55   1              InitLCD();
C51 COMPILER V7.09   MASTER_MAIN                                                           08/24/2007 09:37:39 PAGE 2   

  56   1              while(1)
  57   1              {
  58   2                      //触发方式显示
  59   2                      DispOneWord(0,0,0xB4A5); //"触"
  60   2                      DispOneWord(0,1,0xB7A2); //"发"
  61   2                      DispOneWord(0,2,0xB7BD); //"方"
  62   2                      DispOneWord(0,3,0xCABD); //"式"
  63   2                      if(TOUCH_MODE==SINGLE)
  64   2                      {
  65   3                              DispOneWord(0,5,0xB5A5); //"单"
  66   3                              DispOneWord(0,6,0xB4CE); //"次"
  67   3                              }
  68   2                      else
  69   2                      {
  70   3                              DispOneWord(0,5,0xC8FD); //"三"
  71   3                              DispOneWord(0,6,0xBCB6); //"级"
  72   3                              }
  73   2                      
  74   2                      //触发位置显示
  75   2                      DispOneWord(1,0,0xB4A5); //"触"
  76   2                      DispOneWord(1,1,0xB7A2); //"发"
  77   2                      DispOneWord(1,2,0xCEBC); //"位"
  78   2                      DispOneWord(1,3,0xD6C3); //"置"
  79   2                      DispTwoCharacter(1,5,NUM[TOUCH_ADDR/10],NUM[TOUCH_ADDR%10]);
  80   2      
  81   2                      //页号显示
  82   2                      DispOneWord(2,0,0xD2B3); //"页"
  83   2                      DispOneWord(2,1,0xBAC5); //"号"
  84   2                      DispTwoCharacter(2,4,NUM[PAGE_NUM/10],NUM[PAGE_NUM%10]);
  85   2      
  86   2                      key=ZLG7289_ReadKey();   //取得按键数值
  87   2                      switch(key)
  88   2                      {
  89   3                              case 1://复位
  90   3                                              {       TOUCH_MODE = SINGLE;
  91   4                                                      TOUCH_WORD = 0x00;
  92   4                                                      TOUCH_ADDR = 8;
  93   4                                                      PAGE_NUM = 0; 
  94   4                                                      PAGE = 0;
  95   4                                                      GATE_VALUE = 4.0;
  96   4                                                      FREQ = 100;
  97   4                                              break;}
  98   3                              case 2://取消,删除
  99   3                                              {   temp >>=1;
 100   4                                                      break;}
 101   3                              case 3://确认
 102   3                                              {   TOUCH_WORD = temp;
 103   4                                                      break;}
 104   3                              case 4://分页显示
 105   3                                              {   PAGE=~PAGE;
 106   4                                                      break;}
 107   3                              case 5://页UP
 108   3                                              {       if(PAGE_NUM<10)PAGE_NUM++;
 109   4                                              else PAGE_NUM=0;                                                
 110   4                                                      break;}
 111   3                              case 6://页DOWN
 112   3                                              {       if(PAGE_NUM>0)PAGE_NUM--;
 113   4                                              else PAGE_NUM=10;                                               
 114   4                                                      break;}
 115   3                              case 7://采样频率
 116   3                                      {       if(FREQ<20000)FREQ++;
 117   4                                                      else FREQ = 20;
C51 COMPILER V7.09   MASTER_MAIN                                                           08/24/2007 09:37:39 PAGE 3   

 118   4                                                      break;}
 119   3                              case 8://门限电平通道选择
 120   3                                      {       if(GATE_N<7)GATE_N++;
 121   4                                                      else GATE_N = 0;
 122   4                                              break;}
 123   3                              case 9://门限电平+
 124   3                                      {       GATE_VALUE +=0.25;
 125   4                                              break;}
 126   3                              case 10://门限电平-
 127   3                                      {       GATE_VALUE -=0.25;
 128   4                                              break;}
 129   3                              case 11://触发位置
 130   3                                      {       if(TOUCH_ADDR<40)TOUCH_ADDR++;
 131   4                                                      else TOUCH_ADDR = 0;
 132   4                                              break;}
 133   3                              case 12://触发方式
 134   3                                      {       TOUCH_MODE=~TOUCH_MODE;
 135   4                                              break;}
 136   3                              case 13://触发字设置
 137   3                                      {       TOUCH_SET = 1;
 138   4                                              break;}
 139   3                              case 14://0
 140   3                                      {       temp <<= 1;
 141   4                                                      break;}
 142   3                              case 15://1
 143   3                                      {       temp = (temp<<1) + 1;
 144   4                                              break;}
 145   3                              default:
 146   3                                              {       TOUCH_SET = 0;
 147   4                                              break;}
 148   3                      while(!ZLG7289INT);
 149   3                      }
 150   2                      Set_NLogic(GATE_N,GATE_VALUE);
 151   2                      addr = PAGE_NUM*40 + TOUCH_ADDR;
 152   2                      RAM_CS = 1;
 153   2                      RAM_WE = 1;
 154   2                      RAM_ADDR_L = addr&0xff;
 155   2                      RAM_ADDR_L = (addr>>8)&0xff;
 156   2                      x=PCA8574_GetOne(0x43,TX_Data);
 157   2                      x=PCA8574_PutOne(0x42,TX_Data); //LED指示
 158   2                      RAM_CS = 0;
 159   2                      RAM_WE = 0;
 160   2                      Serial_TX(TX_Data);
 161   2                      addr += 1;
 162   2                  for(i=0;i<19;i++)
 163   2                      {
 164   3                              
 165   3                              RAM_CS = 1;
 166   3                              RAM_WE = 1;
 167   3                              RAM_ADDR_L = addr&0xff;
 168   3                              RAM_ADDR_L = (addr>>8)&0xff;
 169   3                              x=PCA8574_GetOne(0x43,TX_Data);
 170   3                              RAM_CS = 0;
 171   3                              RAM_WE = 0;
 172   3                              Serial_TX(TX_Data);
 173   3                              addr += 1;
 174   3                              }
 175   2                      }       }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    816    ----
C51 COMPILER V7.09   MASTER_MAIN                                                           08/24/2007 09:37:39 PAGE 4   

   CONSTANT SIZE    =     10    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     34      18
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2       2
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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