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

📄 demo.lst

📁 sed1335的demo程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V4.01,  DEMO                                                                  15/10/01  14:15:50  PAGE 1   


DOS C51 COMPILER V4.01, COMPILATION OF MODULE DEMO
OBJECT MODULE PLACED IN F:\C_SOFT\SED1335\DEMO.OBJ
COMPILER INVOKED BY: C:\COMP51\C51.EXE F:\C_SOFT\SED1335\DEMO.C DB SB OE

stmt level    source

   1          #include <reg51.h>
   2          #include <stdio.h>
   3          #include <math.h>
   4          #include <absacc.h>
   5          #include <string.h>
   6          /* 直接访问方式地址定义,根据用户平台接口修改 */
   7          #define  wcadd1 XBYTE[0x8100]  /* 写指令代码地址 */
   8          #define  wdadd1 XBYTE[0x8000]  /* 写参数及显示数据地址 */
   9          #define  rdadd1 XBYTE[0x8100]  /* 读参数及显示数据地址 */
  10          #define  rbadd1 XBYTE[0x8000]  /* 读忙状态地址 */
  11          /* 程序参数定义,根据用户选择的LCM型号修改 */
  12          #define  PARA 0x1f;
  13          /* 定义调用函数 */
  14          CCW1_PR(char O_X,char O_Y,char code_1);  /* 汉字写入函数(文本方式) */
  15          CCW2_PR(char O_X,char O_Y,char code_1);  /* 汉字写入函数(图形方式) */
  16          W_DOT(int O_X,int O_Y );  /* 绘点函数 */
  17          CW_PR(O_X,O_Y);  /* 西文写入函数 */
  18          /*-------------------240128的SYSTEM SET 参数-------------------------------*/
  19          unsigned char SYSTAB[8]={0x30,0x87,0x07,0x1e,0x21,0x80,0x1f,0x00};
  20          unsigned char SCRTAB[10]={0x00,0x00,0x80,0xf0,0x01,0x80,0x00,0x00,0x00,0x00};
  21          /* 在此可以观察文本方式下的字符及光标的显示效果(写入内容为"Sevicer tel:") */
  22          unsigned char CTAB1[12]={0x53,0x65,0x76,0x69,0x63,0x65,0x72,0x20,0x54,0x45,0x4c,0x3a};
  23          /* 文本方式下的汉字显示方法
  24           在文本方式下显示汉字, 需要在SED1335 等显示RAM 内建立一个自定义字符库
  25           CGRAM,然后通过在相应的单元写入相应的字符代码来实现汉字的显示.
  26           SED1335 等的字符代码对应的是8x8 点阵的字符块, 而一个汉字需要四个8x8
  27           点阵的字符块组合显示, 所以在建立汉字的CGRAM 时, 需要四个字符代码管理一个
  28           汉字, 一般是按左上部, 左下部, 右上部和右下部四部分分配代码. 比如在演示程
  29           序中建立 "清华" 两个汉字的CGRAM,那么这两个汉字的代码为80H(81H,82H,83H)和
  30           84H(85H,86H,87H). */
  31          code unsigned char CGTAB[4][32]={0x00,0x40,0x37,0x10,0x83,0x60,0x2F,0x08,    /* 清 */
  32                                           0x13,0x22,0xE3,0x22,0x23,0x22,0x22,0x22,
  33                                           0x40,0x48,0xFC,0x40,0xF8,0x40,0xFE,0x08,
  34                                           0xFC,0x08,0xF8,0x08,0xF8,0x08,0x28,0x10,
  35                                           0x04,0x04,0x08,0x08,0x18,0x29,0x4A,0x08,    /* 华 */
  36                                           0x09,0x01,0xFF,0x01,0x01,0x01,0x01,0x01,
  37                                           0x40,0x48,0x58,0x60,0xC0,0x40,0x44,0x44,
  38                                           0x3C,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,
  39                                           0x04,0xFF,0x05,0x41,0x33,0x14,0x01,0xF6,    /* 蓬 */
  40                                           0x1B,0x10,0x13,0x10,0x17,0x10,0x28,0x47,
  41                                           0x44,0xFE,0x40,0xF8,0x10,0xE0,0x18,0x46,
  42                                           0xF8,0x40,0xF8,0x40,0xFC,0x40,0x46,0xFC,
  43                                           0x00,0x43,0x30,0x10,0x00,0x07,0xF1,0x11,    /* 远 */
  44                                           0x11,0x11,0x12,0x12,0x14,0x28,0x47,0x00,
  45                                           0x10,0xF8,0x00,0x00,0x08,0xFC,0x20,0x20,
  46                                           0x20,0x24,0x24,0x1C,0x00,0x06,0xFC,0x00  };
  47          /**********************/
  48          /*     演示主程序     */
  49          /**********************/
  50          void main()
  51             {
  52   1           unsigned char i,j,code_1;
  53   1           unsigned int k,O_X,O_Y;
  54   1           INT_1();   /* 调初始化函数 */
*** WARNING 206 IN LINE 54 OF F:\C_SOFT\SED1335\DEMO.C: 'INT_1': missing function-prototype
  55   1           k=0;
  56   1           for(j=0;j<128;j++)   /* 绘点显示 */
  57   1             {
  58   2               O_X=k;
C51 COMPILER V4.01,  DEMO                                                                  15/10/01  14:15:50  PAGE 2   

  59   2               O_Y=j+0x10;
  60   2               W_DOT(O_X,O_Y);  /* 调绘点函数  */
  61   2               k++;
  62   2               if(k>240)break;
  63   2             }
  64   1            for(j=126;j>0;j--)
  65   1             {
  66   2               O_X=k;
  67   2               O_Y=j+0x10;
  68   2               W_DOT(O_X,O_Y);  /* 调绘点函数  */
  69   2               k++;
  70   2               if(k>240)break;
  71   2             }
  72   1      
  73   1           code_1=0x00;     /* 中文显示(图形方式) */
  74   1           O_X=0x10+0x02;
  75   1           O_Y=0x00;
  76   1           CCW2_PR(O_X,O_Y,code_1);   /* 调中文显示函数(图形方式)  */
  77   1           code_1=0x01;
  78   1           O_X=0x10+0x19;
  79   1           O_Y=0x00;
  80   1           CCW2_PR(O_X,O_Y,code_1);  /* 调中文显示函数(图形方式)  */
  81   1           code_1=0x02;
  82   1           O_X=0x10+0x02;
  83   1           O_Y=0x6f;
  84   1           CCW2_PR(O_X,O_Y,code_1);  /* 调中文显示函数(图形方式)  */
  85   1           code_1=0x03;
  86   1           O_X=0x10+0x19;
  87   1           O_Y=0x6f;
  88   1           CCW2_PR(O_X,O_Y,code_1);  /* 调中文显示函数(图形方式)  */
  89   1      
  90   1      /*------- 中文显示(文本方式)----------- */
  91   1           CGRAM();     /* 调CGRAM子程序 */
*** WARNING 206 IN LINE 91 OF F:\C_SOFT\SED1335\DEMO.C: 'CGRAM': missing function-prototype
  92   1           code_1=0x80;  /* 取字模 */
  93   1           O_X=0x00;
  94   1           O_Y=0x02;
  95   1           CCW1_PR(O_X,O_Y,code_1);  /* 调中文显示函数(文本方式)  */
  96   1           code_1=0x84;  /* 取字模 */
  97   1           O_X=0x1c;
  98   1           O_Y=0x04;
  99   1           CCW1_PR(O_X,O_Y,code_1);  /* 调中文显示函数(文本方式)  */
 100   1           code_1=0x88;  /* 取字模 */
 101   1           O_X=0x00;
 102   1           O_Y=0x0e;
 103   1           CCW1_PR(O_X,O_Y,code_1);  /* 调中文显示函数(文本方式)  */
 104   1           code_1=0x8c;  /* 取字模 */
 105   1           O_X=0x1c;
 106   1           O_Y=0x0e;
 107   1           CCW1_PR(O_X,O_Y,code_1);  /* 调中文显示函数(文本方式)  */
 108   1      
 109   1      /*------------西文显示-------------*/
 110   1           wcadd1=0x5d;  /* 设光标形状 */
 111   1           wdadd1=0x07;
 112   1           wdadd1=0x03;
 113   1           wcadd1=0x5b;  /* OVLAY代码 */
 114   1           wdadd1=0x01;
 115   1           wcadd1=0x59;  /* DISP ON\OFF代码 */
 116   1           wdadd1=0x56;
 117   1           O_X=0;   /*X轴方向取值0~29(十进制)*/
 118   1           O_Y=0;  /*Y轴方向取值0~15(十进制)*/
 119   1           CW_PR(O_X,O_Y);  /* 调西文写入函数 */
 120   1         }
 121          /********************/
 122          /*   初始化函数   */
 123          /********************/
C51 COMPILER V4.01,  DEMO                                                                  15/10/01  14:15:50  PAGE 3   

 124          INT_1()
 125             {
 126   1           unsigned char i;
 127   1           wcadd1=0x40;   /* SYSTEM SET代码 */
 128   1           for(i=0;i<8;i++)
 129   1              {
 130   2                wdadd1=SYSTAB[i];  /* 写入参数 */
 131   2              }
 132   1            wcadd1=0x44;   /* SCROLL代码 */
 133   1            for(i=0;i<10;i++)
 134   1              {
 135   2                wdadd1=SCRTAB[i];   /* 写入参数 */
 136   2              }
 137   1            wcadd1=0x5a;   /* HDOT SCR 代码 */
 138   1            wdadd1=0x00;   /* 设置参数P1 */
 139   1            wcadd1=0x5b;   /* OVLAY 代码 */
 140   1            wdadd1=0x00;   /* 设置参数:显示一,三区为文本属性 */
 141   1            CLEAR();       /* 调清屏函数 */
*** WARNING 206 IN LINE 141 OF F:\C_SOFT\SED1335\DEMO.C: 'CLEAR': missing function-prototype
 142   1            wcadd1=0x59;   /* 显示状态设置 */
 143   1            wdadd1=0x54;   /* 设置参数:显示一~四区开显示 */
 144   1        }
 145          /*********************/
 146          /*    清屏函数     */
 147          /*********************/
 148          CLEAR()
 149            {
 150   1          unsigned int i,j;
 151   1          wcadd1=0x4c;   /* CSRDIR 代码 */
 152   1          wcadd1=0x46;   /* CSRW 代码 */
 153   1          wdadd1=0x00;   /* 设置参数光标指针低8位 */
 154   1          wdadd1=0x00;   /* 设置参数光标指针高8位 */
 155   1          wcadd1=0x42;   /* MWRITE 代码 */
 156   1          for(j=0;j<2195;j++)
 157   1            {
 158   2              for(i=0;i<30;i++)
 159   2                {
 160   3                  wdadd1=0x00;   /* 写入数据 */
 161   3                }
 162   2            }
 163   1        }
 164          /********************/
 165          /*   CGRAM函数    */
 166          /********************/
 167          CGRAM()
 168            {
 169   1         unsigned char i,j;
 170   1         wcadd1=0x5c;  /* CGRAMADR 代码 */
 171   1         wdadd1=0x00;  /* 设置SAG=0x3000 */
 172   1         wdadd1=0x30;
 173   1         wcadd1=0x46;  /* CSRW 代码 */
 174   1         wdadd1=0x00;  /* 设置CSR=0x3400(字符代码=80H) */
 175   1         wdadd1=0x34;
 176   1         wcadd1=0x4c;  /* CSRDIR 代码 */
 177   1         wcadd1=0x42;  /* MWRITE 代码 */
 178   1         for(j=0;j<4;j++)
 179   1           {
 180   2         for(i=0;i<32;i++)
 181   2            {
 182   3             wdadd1=CGTAB[j][i];  /* 写入字模数据 */
 183   3             }
 184   2           }
 185   1        }
 186          /*************************/
 187          /*  写汉字函数(文本方式) */
 188          /*************************/
C51 COMPILER V4.01,  DEMO                                                                  15/10/01  14:15:50  PAGE 4   

 189          CCW1_PR(char O_X,char O_Y,code_1)
 190            {
*** WARNING 235 IN LINE 190 OF F:\C_SOFT\SED1335\DEMO.C: parameter 3: different types
 191   1          unsigned int i,j;
 192   1          i=PARA;
 193   1          j=i*O_Y+O_X;
 194   1          wcadd1=0x4f;      /* CSRDIR 代码(下移) */
 195   1          wcadd1=0x46;      /* CSRW 代码 */
 196   1          wdadd1=j%256;     /* 设置光标地址 */
 197   1          wdadd1=j/256;
 198   1          wcadd1=0x42;      /* MWRITE 代码 */
 199   1          wdadd1=code_1;    /* 写入汉字代码 */
 200   1          wdadd1=code_1+1;  /* 写入汉字代码 */
 201   1          j++;
 202   1          wcadd1=0x46;      /* CSRW 代码 */
 203   1          wdadd1=j%256;     /* 设置光标地址 */
 204   1          wdadd1=j/256;
 205   1          wcadd1=0x42;      /* MWRITE 代码 */
 206   1          wdadd1=code_1+2;  /* 写入汉字代码 */
 207   1          wdadd1=code_1+3;  /* 写入汉字代码 */
 208   1        }
 209          /************************/
 210          /*  写汉字函数(图形方式)*/
 211          /************************/

⌨️ 快捷键说明

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