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

📄 lcd12864io.lst

📁 智能浇灌系统源代码
💻 LST
📖 第 1 页 / 共 2 页
字号:
 198          0x00,0x10,0x10,0x10,0x11,0x1E,0x14,0xF0,0x10,0x18,0x17,0x12,0x18,0x10,0x00,0x00,
 199          
 200          0x01,0x81,0x41,0x21,0x11,0x09,0x05,0x03,0x05,0x09,0x31,0x61,0xC1,0x41,0x01,0x00,/*"关",8*/
 201          
 202          
 203          
 204          0x10,0x60,0x01,0xC6,0x00,0x80,0x84,0x44,0x5F,0x24,0x64,0x94,0x84,0xE4,0x00,0x00,
 205          
 206          0x04,0xFC,0x03,0x00,0x42,0x42,0x32,0x0E,0x02,0x02,0x3E,0x42,0x42,0x42,0x78,0x00,/*"浇",9*/
 207          
 208          
 209          
 210          0x08,0x31,0x82,0x78,0x02,0x3A,0xEA,0xAF,0xBA,0xC2,0xBA,0xAF,0xAA,0xBA,0x02,0x00,
 211          
 212          0x04,0x04,0x7F,0x00,0x02,0x01,0x7F,0x2A,0x2A,0x2A,0x3F,0x2A,0x2A,0x2A,0x20,0x00,/*"灌",10*/
 213          
 214          
 215          
 216          0x00,0xFC,0x44,0x44,0x44,0xFC,0x10,0x90,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x00,
 217          
 218          0x00,0x07,0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,/*"时",11*/
 219          
 220          
 221          0x00,0xF8,0x01,0x06,0x00,0xF0,0x92,0x92,0x92,0x92,0xF2,0x02,0x02,0xFE,0x00,0x00,
 222          
 223          0x00,0xFF,0x00,0x00,0x00,0x07,0x04,0x04,0x04,0x04,0x07,0x40,0x80,0x7F,0x00,0x00,/*"间",12*/
 224          
 225          
 226          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 227          
 228          0x00,0x00,0x36,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*":",13*/
 229          
 230          0x80,0x40,0x20,0x98,0x87,0x82,0x80,0x80,0x83,0x84,0x98,0x30,0x60,0xC0,0x40,0x00,
 231          0x00,0x80,0x40,0x20,0x10,0x0F,0x00,0x00,0x20,0x40,0x3F,0x00,0x00,0x00,0x00,0x00,/*"分",14*/
 232          
 233          0x12,0x12,0xD2,0xFE,0x91,0x11,0xC0,0x38,0x10,0x00,0xFF,0x00,0x08,0x10,0x60,0x00,
 234          0x04,0x03,0x00,0xFF,0x00,0x83,0x80,0x40,0x40,0x20,0x23,0x10,0x08,0x04,0x03,0x00,/*"秒",15*/
 235          
 236          
 237          0x00,0xF0,0xF8,0x0C,0x04,0x04,0x04,0x04,0x0C,0xF8,0xF0,0x00,0x00,0x00,0x01,0x03,
 238          0x02,0x02,0x02,0x02,0x03,0x01,0x00,0x00,/*"0",16*/
 239          
 240          
 241          
C51 COMPILER V6.23a  LCD12864IO                                                            09/21/2011 09:31:57 PAGE 5   

 242          
 243          
 244          
 245          
 246          
 247          
 248          
 249          
 250          };
 251          
 252          
 253          
 254          
 255          
 256          
 257          
 258          
 259          
 260          
 261          
 262          //以filldata充填液晶屏
 263          void  LCD_DispFill(uchar filldata) 
 264          {  uchar  x, y;
 265   1         LCD_WrCmd(CS1,LCD_STARTROW); //设置左半屏显示起始行为0
 266   1         LCD_WrCmd(CS2,LCD_STARTROW); //设置右半屏显示起始行为0
 267   1         for(y=0; y<8; y++)           //循环充填8页
 268   1         {  LCD_WrCmd(CS1,LCD_ADDRSTRY+y);    // 设置左半屏页地址
 269   2            LCD_WrCmd(CS1,LCD_ADDRSTRX);          // 设置左半屏列地址
 270   2            LCD_WrCmd(CS2,LCD_ADDRSTRY+y);    // 设置右半屏页地址
 271   2            LCD_WrCmd(CS2,LCD_ADDRSTRX);              // 设置右半屏列地址
 272   2            for(x=0; x<64; x++)               //充填每页的64个单元(列)
 273   2             { LCD_WrDat(CS1,filldata);
 274   3               LCD_WrDat(CS2,filldata);
 275   3      }
 276   2         }
 277   1      }
 278          
 279          //液晶模块初始化
 280          void  LCD_DispIni(void)                 
 281          {  uint  i;
 282   1         LCD_RST = 0;                                 // 复位驱动芯片
 283   1         for(i=0; i<500; i++);
 284   1         LCD_RST = 1;    
 285   1         LCD_WrCmd(CS1,LCD_DISPON);           // 打开显示
 286   1         LCD_WrCmd(CS1,LCD_STARTROW);         // 设置显示起始行为0
 287   1         LCD_WrCmd(CS2,LCD_DISPON);   
 288   1         LCD_WrCmd(CS2,LCD_STARTROW);         
 289   1         LCD_DispFill(00);                    // 清屏
 290   1         LCD_WrCmd(CS1,LCD_ADDRSTRY+0);       // 设置页(字符行)地址
 291   1         LCD_WrCmd(CS1,LCD_ADDRSTRX+0);       // 设置列地址
 292   1         LCD_WrCmd(CS2,LCD_ADDRSTRY+0);
 293   1         LCD_WrCmd(CS2,LCD_ADDRSTRX+0);
 294   1      }
 295          
 296          
 297                
 298          //在液晶屏的cy(0-3)行、cx(0-7)列显示汉字字符dispdata   
 299          void LCD_DispHZ(uchar cy, uchar cx, uchar dispdata) 
 300          {  uchar  code  *pdat;
 301   1         uchar  i,s,page;
 302   1         bit  port;
 303   1         cy = cy&0x03;                // 参数过滤
C51 COMPILER V6.23a  LCD12864IO                                                            09/21/2011 09:31:57 PAGE 6   

 304   1         cx = cx&0x07;
 305   1         pdat = &HZTAB[dispdata*32];
 306   1         if( (cx&0x04) == 0 ) // 如果在左半屏显示
 307   1           { port=0;
 308   2             s = cx<<4;         // 求出该汉字在屏幕上的起始列
 309   2           }
 310   1         else //在右半屏上显示
 311   1           { port=1;
 312   2             s = (cx<<4)-64;   // 求出该汉字在屏幕上的起始列
 313   2           }
 314   1         for(page=0;page<2;page++)            //每个汉字2页
 315   1            {  LCD_WrCmd(port,LCD_ADDRSTRX+s);        // 设置当前列地址
 316   2               LCD_WrCmd(port,LCD_ADDRSTRY+(cy<<1)+page);     // 设置当前页地址
 317   2               for(i=0; i<5; i++);
 318   2               for(i=0; i<16; i++)            //每个汉字16列
 319   2              {  LCD_WrDat(port,*pdat);       // 发送数据     
 320   3                pdat++;
 321   3              }
 322   2               for(i=0; i<5; i++);
 323   2      }
 324   1      }
 325          
 326          //在液晶屏的cy(0-3)行、cx(0-7)列显示汉字字符串disp_str 
 327          void  LCD_DispHZStr(uchar cy, uchar cx, uchar *disp_str)
 328          {  while( *disp_str!=0x55)
 329   1         {  cy = cy&0x03;             // 参数过滤
 330   2            cx = cx&0x07;     
 331   2            LCD_DispHZ(cy, cx, *disp_str);    // 显示汉字
 332   2            disp_str++;               // 指向下一汉字
 333   2            cx++;                             //列号加1
 334   2            if(cx>7)                  
 335   2              { cy++;           // 指向下一显示行
 336   3      cx=0; 
 337   3                }
 338   2      }
 339   1      }
 340          void LCD_DispChar(char cy, char cx, char dispdata) 
 341          {  uchar  code  *pch;
 342   1         uchar  i;
 343   1         bit port;
 344   1         cy = cy&0x07;                // 参数过滤
 345   1         cx = cx&0x0f;
 346   1         pch = &ASCII_TAB[(dispdata-0X20)*5];     //指向字符起始列的点阵码
 347   1         if( (cx&0x08) == 0 )         // 列号cx<8,在左半屏显示
 348   1             {  port=CS1;
 349   2                i=cx<<3;
 350   2             }
 351   1         else 
 352   1             {  port=CS2;
 353   2                i = (cx&0x07)<<3;
 354   2             }
 355   1         LCD_WrCmd(port,LCD_ADDRSTRX+i);      // 设置当前列地址
 356   1         LCD_WrCmd(port,LCD_ADDRSTRY+cy);     // 设置当前页地址
 357   1         for(i=0; i<5; i++);           //延时
 358   1        
 359   1             LCD_WrDat(port,0x00);    // 显示一列空格
 360   1         
 361   1         for(i=0; i<5; i++)            //送出字符的5列点阵码
 362   1            { 
 363   2                  LCD_WrDat(port,*pch);
 364   2              
 365   2              pch++;
C51 COMPILER V6.23a  LCD12864IO                                                            09/21/2011 09:31:57 PAGE 7   

 366   2            }
 367   1         
 368   1             LCD_WrDat(port,0x00);    // 显示一列空格
 369   1         
 370   1            for(i=0; i<5; i++);
 371   1         
 372   1             LCD_WrDat(port,0x00);    // 显示一列空格
 373   1         
 374   1      }
 375          //字符串输出函数相应地改为:
 376          void  LCD_DispStr(char cy, char cx, char *disp_str) 
 377          {  while( *disp_str != '\0')
 378   1         {  cy = cy&0x07;                     // 参数过滤
 379   2            cx = cx&0x0f;     
 380   2            LCD_DispChar(cy, cx, *disp_str);  // 显示字符
 381   2            disp_str++;                               // 指向下一字符数据
 382   2            cx++;
 383   2            if(cx>15) cy++;               // 指向下一显示行
 384   2         }
 385   1      }
 386          
 387          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    583    ----
   CONSTANT SIZE    =   1016    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      14
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       4
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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