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

📄 4x8c.lst

📁 带字库液晶驱动.ST7920的读写 带字库液晶驱动.ST7920的读写
💻 LST
📖 第 1 页 / 共 2 页
字号:
 184   3            wr_lcd (comm,y+j);
 185   3            wr_lcd (comm,x1+i);
 186   3            wr_lcd (comm,0x30);
 187   3            wr_lcd (dat,img[j*16+i*2]);
 188   3            wr_lcd (dat,img[j*16+i*2+1]);
 189   3          }
 190   2        }
 191   1        for(j=32;j<64;j++)
 192   1        {
 193   2          for(i=0;i<8;i++)
 194   2          {
 195   3            wr_lcd (comm,0x34);
 196   3            wr_lcd (comm,y+j-32);
 197   3            wr_lcd (comm,x2+i);
 198   3            wr_lcd (comm,0x30);
 199   3            wr_lcd (dat,img[j*16+i*2]);
 200   3            wr_lcd (dat,img[j*16+i*2+1]);
 201   3          }
 202   2        }
 203   1        wr_lcd (comm,0x36);
 204   1      }
 205          /*-------------下半屏显示图形--------------*/
 206          void img_disp1 (uchar code *img)
 207          {
 208   1        uchar i,j;
 209   1        for(j=0;j<32;j++)
 210   1        {
 211   2          for(i=0;i<8;i++)
 212   2          {
 213   3            wr_lcd (comm,0x34);
 214   3            wr_lcd (comm,y+j);
 215   3            wr_lcd (comm,x2+i);
 216   3            wr_lcd (comm,0x30);
 217   3            wr_lcd (dat,img[j*16+i*2]);
 218   3            wr_lcd (dat,img[j*16+i*2+1]);
 219   3          }
 220   2        }
 221   1        wr_lcd (comm,0x36);
 222   1      }
 223          /*--------------显示点阵----------------*/
 224          void lat_disp (uchar data1,uchar data2)
 225          {
 226   1        uchar i,j,k,x;
 227   1        x=x1;
 228   1        for(k=0;k<2;k++)
 229   1        {
 230   2          for(j=0;j<16;j++)
 231   2          {
 232   3            for(i=0;i<8;i++)
 233   3            {
 234   4              wr_lcd (comm,0x34);
 235   4              wr_lcd (comm,y+j*2);
 236   4              wr_lcd (comm,x+i);
 237   4              wr_lcd (comm,0x30);
 238   4              wr_lcd (dat,data1);
 239   4              wr_lcd (dat,data1);
 240   4            }
 241   3            for(i=0;i<8;i++)
C51 COMPILER V7.06   4X8C                                                                  06/28/2006 15:30:47 PAGE 5   

 242   3            {
 243   4              wr_lcd (comm,0x34);
 244   4              wr_lcd (comm,y+j*2+1);
 245   4              wr_lcd (comm,x+i);
 246   4              wr_lcd (comm,0x30);
 247   4              wr_lcd (dat,data2);
 248   4              wr_lcd (dat,data2);
 249   4            }
 250   3          }
 251   2          x=x2;
 252   2        }
 253   1        wr_lcd (comm,0x36);
 254   1      }
 255          /*-----------------------------------------------*/
 256          //当data1=0xff,data2=0xff时,在x0,y0处反白显示16xl*yl.
 257          void con_disp (uchar data1,uchar data2,uchar x0,uchar y0,uchar xl,uchar yl)
 258          {
 259   1        uchar i,j;
 260   1        for(j=0;j<yl;j++)
 261   1        {
 262   2          for(i=0;i<xl;i++)
 263   2          {
 264   3            wr_lcd (comm,0x34);
 265   3            wr_lcd (comm,y0+j);
 266   3            wr_lcd (comm,x0+i);
 267   3            wr_lcd (comm,0x30);
 268   3            wr_lcd (dat,data1);
 269   3            wr_lcd (dat,data2);
 270   3          }
 271   2        }
 272   1        wr_lcd (comm,0x36);
 273   1      }
 274          /*--------------清DDRAM------------------*/
 275          void clrram (void)
 276          {
 277   1        wr_lcd (comm,0x30);
 278   1        wr_lcd (comm,0x01);
 279   1        delay (180);
 280   1      }
 281          /*---------------------------------------*/
 282          void wr_lcd (uchar dat_comm,uchar content)
 283          {
 284   1        uchar a,i,j;
 285   1        delay (50);
 286   1        a=content;
 287   1        cs=1;
 288   1        sclk=0;
 289   1        std=1;
 290   1        for(i=0;i<5;i++)
 291   1        {
 292   2          sclk=1;
 293   2          sclk=0;
 294   2        }
 295   1        std=0;
 296   1        sclk=1;
 297   1        sclk=0;
 298   1        if(dat_comm)
 299   1          std=1;   //data
 300   1        else
 301   1          std=0;   //command
 302   1        sclk=1;
 303   1        sclk=0;
C51 COMPILER V7.06   4X8C                                                                  06/28/2006 15:30:47 PAGE 6   

 304   1        std=0;
 305   1        sclk=1;
 306   1        sclk=0;
 307   1        for(j=0;j<2;j++)
 308   1        {
 309   2          for(i=0;i<4;i++)
 310   2          {
 311   3            a=a<<1;
 312   3            std=CY;
 313   3            sclk=1;
 314   3            sclk=0;
 315   3          }
 316   2          std=0;
 317   2          for(i=0;i<4;i++)
 318   2          {
 319   3            sclk=1;
 320   3            sclk=0;
 321   3          }
 322   2        }
 323   1      }
 324          /*-----------------------------------*/
 325          void delay (uint us)   //delay time
 326          {
 327   1        while(us--);
 328   1      }
 329          void delay1 (uint ms)
 330          {
 331   1        uint i,j;
 332   1        for(i=0;i<ms;i++)
 333   1        for(j=0;j<15;j++)
 334   1        delay(1);
 335   1      }
 336          /*------------------主程序--------------------*/
 337          void main ()
 338          {
 339   1        SP=0x5f;
 340   1        init_lcd ();
 341   1        while (1)
 342   1        {
 343   2          lat_disp (0x00,0x00);
 344   2          chn_disp (tab1);
 345   2          con_disp (0xff,0xff,0x8c,0x80,2,16);
 346   2          delay1 (8000);
 347   2          clrram();
 348   2          lat_disp (0xcc,0xcc);
 349   2          delay1 (8000);
 350   2          lat_disp (0x00,0x00);
 351   2          chn_disp1 (tab31);
 352   2          img_disp1 (tab32);
 353   2          delay1 (8000);
 354   2          clrram();
 355   2          lat_disp (0xff,0x00);
 356   2          delay1 (8000);
 357   2          img_disp (tab5);
 358   2          delay1 (8000);
 359   2        }
 360   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1100    ----
   CONSTANT SIZE    =   1634    ----
C51 COMPILER V7.06   4X8C                                                                  06/28/2006 15:30:47 PAGE 7   

   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      34
   IDATA SIZE       =   ----    ----
   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 + -