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

📄 setframe.lst

📁 液晶程序液晶程序液晶程序液晶程序液晶程序液晶程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.01  SETFRAME                                                               09/23/2008 14:27:39 PAGE 1   


C51 COMPILER V7.01, COMPILATION OF MODULE SETFRAME
OBJECT MODULE PLACED IN SetFrame.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE SetFrame.c OPTIMIZE(6,SPEED) BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include<reg52.h>
   2          //宏定义
   3          #define   KEY_ENTER      0x01
   4          #define   KEY_MOVE       0x02
   5          #define   KEY_DOWN       0x03
   6          #define   KEY_UP         0x04
   7          #define   KEY_SET        0x05
   8          #define   KEY_ESC        0x06
   9          
  10          //存储在ROM中的各个地址基本,设置存入第二页中,0020-003f
  11          #define PAGE2_BASE_ADD                  0x0020//本页基本地址
  12          #define VVALUE_STORE_ADD                0x0020//电压等级地址 10  
  13          #define CTVALUE_STORE_ADD               0x0021//CT变比地址 400
  14          #define PTVALUE_STORE_ADD               0x0023//PT变比地址 100
  15          #define TSCNUM_STORE_ADD                0x0024//TSC组数地址 5
  16          //#define HVCPERMIT_STORE_ADD           0x0025//HVC允许地址 0
  17          #define HVCNUM_STORE_ADD                0x0026//HVC组数地址 3
  18          #define RUNMOD_STORE_ADD                0x0027//运行模式地址 0
  19          #define TTHRESH_STORE_ADD       0x0028//投入门限地址 75/实际为0.75
  20          #define QTHRESH_STORE_ADD       0x0029//切除门限地址 99/实际为0.99
  21          #define TCOEFFI_STORE_ADD       0x002a//投入系数地址 110/实际为1.10
  22          
  23          //----------------------------------------------------
  24          
  25          //******************************************************
  26          typedef unsigned char uchar;
  27          typedef unsigned int  uint;
  28          //-----------------------------------------------------------------------------------------------------
  29          //外部函数声明
  30          extern void display3list(unsigned int *STRTABLE[]);//显示一屏的4行,通过改变全局变量fbchar,i有不同的显示效
             -果,并改变全局变量selenum,
  31          extern void key_up_move(unsigned int *STRTAB[]);//按上移键,反白上移,若为第一条则不动,输入:字符串地址列
             -表*STRTAB[]
  32          extern void key_down_move(unsigned int *STRTAB[],unsigned char num);//按下移键,反白下移,若为最后一条则不
             -动?/输入:字符串地址列表数组*STRTAB[],选项总数num,void getfigurebit(unsigned int para);  
  33          extern void init_frame(unsigned int *STRTAB[]);//写初始页面
  34          extern void clearscreen();
  35          extern void getfigurebit(unsigned int para);//得到各个位,最高bit4,bit3,bit2,bit1;
  36          extern void putchar(unsigned int singlecharnum);
  37          extern void putstr(unsigned int *STR);
  38          //void set_time();
  39          
  40          void send_single8(unsigned char para_ID,unsigned char para8);
  41          void send_single16(unsigned char para_ID,unsigned int para16);
  42          void dsp_ans(unsigned char check_ID);
  43          void message_show();
  44          //void can_common();
  45          void delay20ms();
  46          
  47          extern void bytewrite_chip1(uint wbyteadd,uchar wbytedata);
  48          extern uchar byteread_chip1(uint rbyteadd);
  49          extern void wordwrite_chip1(uint wwordadd,uint wworddata);
  50          extern uint wordread_chip1(uint rwordadd);
  51          //----------------------------------------------------------------------------------------------
  52          //外部变量声明
C51 COMPILER V7.01  SETFRAME                                                               09/23/2008 14:27:39 PAGE 2   

  53          extern uchar xdata KEY_BUF;
  54          extern uchar xdata selenum;//选择的字符串号,16位
  55          extern uchar xdata i;   //第二行显示的字符串号
  56          extern uchar xdata fbchar;  //fbchar为反白字节,4时第一行反白,2时第二行反白,1时最后一行反白
  57          extern uchar xdata TOTALNUM;
  58          extern uchar xdata XPOS;//XPOS为0~7
  59          extern uchar xdata YPOS;//YPOS为0~127
  60          extern bit FB_FLAG;
  61          extern unsigned int xdata bit1,bit2,bit3,bit4;
  62          //--------------------------------------------------------------------------------
  63          
  64          //外部变量定义
  65          unsigned int xdata VVALUE,CTVALUE,PTVALUE,TSCNUM,HVCNUM,RUNMOD,TTHRESH,QTHRESH,TCOEFFI;
  66          //unsigned int data SLOPETIME,STARTTORQUE,DUDELAY,STOPTIME,ID;//各全局变量
  67          
  68          unsigned int xdata basevar[11];//变量表,记录各全局变量
  69          unsigned int xdata var,max;
  70          
  71          bit fbbit1,fbbit2,fbbit3;
  72          unsigned char xdata fbbitchar; 
  73          unsigned char xdata selebit;//设数时的各反白标志
  74          unsigned char xdata Flag_unit;//有无单位标志
  75            
  76          unsigned char remi;//记录第一行是哪个选项的变量                         
  77          extern bit DSP_REV_FLAG;//DSP是否接受数据标志位,0接受,1 没有接受
  78          unsigned char xdata SENDDATABUF[10];//发送缓冲器,存放包括两个字节ID在内的10个字节,放在XDATA
  79          unsigned char xdata REVDATABUF[10];//接受缓冲器,存放包括两个字节ID在内的10个字节,放在XDATA
  80          
  81          //数组定义
  82          //-------------------------------------------
  83          unsigned char code basic_para_ID[7]={0xff,0x02,0x03,0x04,0x05,0x06,0x07};//参数ID
  84          //----------------------------------
  85          //unsigned int code unit[7]={0x0017,0x003b,0x0036,0x002A,0x0030,0x0030,0x000a};//单位表{'','KV','A','?','?
             -','?','?',}
  86          unsigned int code maxvar[7]={0,600,30,90,100,120,99};//变量最值表
  87          
  88          //字符串定义
  89          unsigned int code STR0bsettitle[] = {0x8022,0x8023,0x8024,0x8025,0x00ff};//基本设置
  90          unsigned int code STR1_voltrank[] = {0x0001,0x800F,0x8033,0x8034,0x8035,0x0017,0x00ff};//1电压等级
  91          unsigned int code STR2_CTratio[]  = {0x0002,0x0017,0x0038,0x0044,0x0017,0x804A,0x804B,0x0017,0x00ff};//2CT
             -变比
  92          unsigned int code STR3_PTratio[]  = {0x0003,0x0017,0x003E,0x0044,0x0017,0x804A,0x804B,0x0017,0x00ff};//3PT
             -变比
  93          unsigned int code STR4_TSCnum[]   = {0x0004,0x0017,0x0044,0x0042,0x0038,0x804C,0x801F,0x0017,0x00ff};//4TS
             -C组数
  94          //unsigned int code STR5_stoptime[] = {0x0005,0x0017,0x0039,0x0046,0x0038,0x804D,0x804E,0x0017,0x00ff};//5
             -HVC允许
  95          unsigned int code STR5_HVCnum[]   = {0x0005,0x0017,0x0039,0x0046,0x0038,0x804C,0x801F,0x0017,0x00ff};//6HV
             -C组数
  96          unsigned int code STR6_runmod[]   = {0x0006,0x804F,0x8050,0x8051,0x8052,0x0017,0x00ff};//7运行方式
  97          unsigned int code STR7_TOUthreshold[] = {0x0007,0x8053,0x8054,0x8055,0x8056,0x0017,0x00ff};//8投入门限
  98          unsigned int code STR8_QIEthreshold[] = {0x0008,0x8057,0x8058,0x8055,0x8056,0x0017,0x00ff};//9切除门限
  99          unsigned int code STR9_coefficient[] = {0x0009,0x8053,0x8054,0x8022,0x801F,0x00ff};//10投入系数
 100          unsigned int * code BSETSTRTABLE[] = {STR0bsettitle,STR1_voltrank,STR2_CTratio,STR3_PTratio,STR4_TSCnum,ST
             -R5_HVCnum,STR6_runmod,STR7_TOUthreshold,STR8_QIEthreshold,STR9_coefficient};
 101          
 102          unsigned int code UNIT0_Volt[] = {0x003b,0x0047,0x00ff};//Kv
 103          unsigned int code UNIT3_Group[] = {0x804c,0x00ff};//组
 104          unsigned int code UNIT4_Group[] = {0x804c,0x00ff};//组
 105          
 106          //unsigned int code UNIT2_ActiveP[] = {0x003b,0x0049,0x00ff};//Kw
 107          //unsigned int code UNIT3_Reactive[] = {0x003b,0x0047,0x005d,0x0041,0x00ff};//Kvar
C51 COMPILER V7.01  SETFRAME                                                               09/23/2008 14:27:39 PAGE 3   

 108          //unsigned int code UNIT4_Frequency[] = {0x0039,0x0060,0x00ff};//Hz
 109          //unsigned int code UNIT5_PQuant[] = {0x003b,0x0049,0x0061,0x00ff};//Kwh
 110          //unsigned int code UNIT8_Second[] = {0x0043,0x00ff};//s
 111          //unsigned int code UNIT9_MSecond[] = {0x003c,0x0043,0x00ff};//ms
 112          unsigned int * code UNITTABLE[] = {UNIT0_Volt,UNIT0_Volt,UNIT0_Volt,UNIT0_Volt,UNIT3_Group,UNIT4_Group};
 113          //-----------------------------------------------------------------------------------------
 114          
 115          //写000型数据
 116          void write3dfig()
 117          {
 118   1              if(fbbitchar==1)
 119   1              {
 120   2                      selebit=1;
 121   2                      fbbit1=1;
 122   2                      fbbit2=0;
 123   2                      fbbit3=0;
 124   2              }     
 125   1              else if(fbbitchar==2)
 126   1              {
 127   2                      selebit=2;
 128   2                      fbbit1=0;
 129   2                      fbbit2=1;
 130   2                      fbbit3=0;
 131   2              }    
 132   1              else if(fbbitchar==4)
 133   1              {
 134   2                      selebit=3;
 135   2                      fbbit1=0;
 136   2                      fbbit2=0;
 137   2                      fbbit3=1;
 138   2              }
 139   1              XPOS=4;
 140   1              YPOS=56;
 141   1              FB_FLAG=fbbit3;
 142   1              putchar(bit3);//写百位
 143   1              YPOS=64;
 144   1              FB_FLAG=fbbit2;
 145   1              putchar(bit2);//写十位
 146   1              YPOS=72;
 147   1              FB_FLAG=fbbit1;
 148   1              putchar(bit1);
 149   1      }//写个位
 150          //---------------------------------------------------------------------- 
 151          
 152          //写入00.0型数据
 153          void write2d1fig()
 154          {
 155   1              if(fbbitchar==1)
 156   1              {
 157   2                      selebit=1;
 158   2                      fbbit1=1;
 159   2                      fbbit2=0;
 160   2                      fbbit3=0;
 161   2              }
 162   1              else if(fbbitchar==2)
 163   1              {
 164   2                      selebit=2;
 165   2                      fbbit1=0;
 166   2                      fbbit2=1;
 167   2                      fbbit3=0;
 168   2              }
 169   1              else if(fbbitchar==4)
C51 COMPILER V7.01  SETFRAME                                                               09/23/2008 14:27:39 PAGE 4   

 170   1              {
 171   2                      selebit=3;
 172   2                      fbbit1=0;
 173   2                      fbbit2=0;
 174   2                      fbbit3=1;
 175   2              }
 176   1              XPOS=4;
 177   1              YPOS=48;
 178   1              FB_FLAG=fbbit3;
 179   1              putchar(bit3);//写十位
 180   1              YPOS=56;
 181   1              FB_FLAG=fbbit2;
 182   1              putchar(bit2);//写个位
 183   1              YPOS=64;
 184   1              FB_FLAG=0;
 185   1              putchar(0x0028);//写小数点
 186   1              YPOS=72;
 187   1              FB_FLAG=fbbit1;
 188   1              putchar(bit1);
 189   1      }//写小数位
 190          //---------------------------------------------------------------------- 
 191          
 192          //写标题和单位
 193          void setwritestr()
 194          {
 195   1              XPOS=0;
 196   1              YPOS=0;
 197   1              FB_FLAG=0;
 198   1              putstr(BSETSTRTABLE[selenum]); //写标题
 199   1              XPOS=4;
 200   1              YPOS=80;
 201   1              if(Flag_unit == 1)//有单位 则写单位
 202   1              {
 203   2                      putstr(UNITTABLE[selenum]);//写单位
 204   2                      Flag_unit = 0;
 205   2              }
 206   1      }

⌨️ 快捷键说明

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