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

📄 main.lst

📁 汉显液晶模块的c程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 164   1              putbyte(0x1b);
 165   1              putbyte(0x48);
 166   1              putbyte(10);//在这里修改你需要返回几个汉字
 167   1              putbyte(page);
 168   1              putstring(pinyin);
 169   1              putbyte(0x00);  
 170   1              while(1)
 171   1              {
 172   2                      if(inbufsign)//串口接收到了数据
 173   2                      {
 174   3                              if(getbyte()==0x1b)
 175   3                              {
 176   4                                      for(i=0;;i++)
 177   4                                      {
 178   5                                              ch=getbyte();
 179   5                                              *(hz+i)=ch;
C51 COMPILER V6.23a  MAIN                                                                  11/24/2002 12:03:54 PAGE 4   

 180   5                                              if(ch==0)break;                 
 181   5                                      }
 182   4                                      return;
 183   4                              }
 184   3                              
 185   3                      }
 186   2                      n++; //超时计时加一
 187   2                      if(n>100000) 
 188   2                              return;//超时返回
 189   2              }               
 190   1      }
 191          
 192          void delay(void)
 193          {
 194   1              ulong n;
 195   1              uchar i;
 196   1              for(i=0;i<2;i++)
 197   1                      for(n=0;n<60000;n++);
 198   1      }
 199          
 200          //定义一个图片
 201          uchar code pic[]={
 202          0x48, 0x1c, //这两个字节是图形块的长和宽,下面的才是图形数据
 203          0x00, 0x4E, 0x20, 0x00, 0x00, 0xF0, 0x40, 0x00, 0x00, 0x00, 0x7B, 0xE0, 0x01, 0x01, 0xF8, 0xC0, 
 204          0x00, 0x00, 0x01, 0xFF, 0x7C, 0xFF, 0xF1, 0xFD, 0xC0, 0x00, 0x00, 0x00, 0x7F, 0xC6, 0xFF, 0xC1, 
 205          0x9F, 0xC3, 0xF8, 0x00, 0x00, 0x7F, 0xFC, 0xFF, 0xF3, 0x0F, 0xBF, 0xC0, 0x00, 0x00, 0x7F, 0xE6, 
 206          0x1F, 0xFE, 0x01, 0xFE, 0x00, 0x00, 0x00, 0x77, 0xFC, 0x07, 0xE7, 0x07, 0xFF, 0xC0, 0x00, 0x00, 
 207          0x77, 0xFB, 0x07, 0xFB, 0x87, 0xBF, 0x00, 0x00, 0x00, 0x67, 0xFF, 0xF7, 0xA7, 0x7E, 0x00, 0x00, 
 208          0x00, 0x00, 0x67, 0xFF, 0xF7, 0xFE, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x67, 0xFF, 0xEF, 0xE1, 0xFF, 
 209          0x98, 0x00, 0x00, 0x00, 0x63, 0xFF, 0xEF, 0xFF, 0xFF, 0xB8, 0x00, 0x44, 0x00, 0x03, 0xFF, 0xEF, 
 210          0xFF, 0xFF, 0xFC, 0x08, 0xC6, 0x04, 0x01, 0xFF, 0xEF, 0xFF, 0xFF, 0xF4, 0x04, 0x8E, 0x0C, 0x43, 
 211          0xFE, 0x6F, 0xFF, 0xFF, 0xE6, 0x05, 0x9F, 0x98, 0x43, 0xFF, 0x8F, 0xFF, 0xFB, 0xC3, 0xC7, 0x9F, 
 212          0x99, 0xE7, 0x7F, 0xFF, 0xFF, 0xFD, 0xC1, 0xE7, 0xFF, 0xD9, 0xE6, 0xFD, 0xFF, 0xFF, 0xDF, 0xF0, 
 213          0x0F, 0xFF, 0xFF, 0xA7, 0xE1, 0x9F, 0xFF, 0x0F, 0xF8, 0x5B, 0xFF, 0xEE, 0x8F, 0x81, 0x87, 0xE0, 
 214          0x00, 0x0C, 0x00, 0x00, 0x00, 0x1E, 0x01, 0x8F, 0x80, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x3C, 0x01, 
 215          0x9E, 0xF3, 0xC4, 0x15, 0xE2, 0x08, 0x00, 0xF8, 0x00, 0xF8, 0x91, 0x24, 0xFC, 0x02, 0x08, 0x03, 
 216          0x98, 0x00, 0xE0, 0x93, 0xD4, 0x90, 0x77, 0x88, 0x7E, 0x30, 0x01, 0x80, 0xF8, 0x94, 0xEA, 0x22, 
 217          0x88, 0x38, 0x30, 0x07, 0x00, 0x0B, 0xD4, 0xAC, 0x2A, 0x80, 0x00, 0x60, 0x3C, 0x01, 0xE8, 0x84, 
 218          0xAC, 0x36, 0x88, 0x00, 0x40, 0x38, 0x00, 0x1B, 0xED, 0x76, 0x6D, 0x80
 219          };
 220          
 221          void main(void)
 222          {
 223   1              char i,j;
 224   1              uchar code string_num[]="7426";
 225   1      
 226   1              uchar pinyin_buf[6][8];
 227   1              serial_init();
 228   1              delay();
 229   1      
 230   1      
 231   1              while(1)
 232   1              {
 233   2      
 234   2                      lcd_cls();
 235   2                      lcd_string(0,"您好!欢迎使用汉显液晶模块!");
 236   2                      delay();
 237   2      
 238   2                      lcd_string(1,"反显效果");
 239   2                      delay();
 240   2      
 241   2                      lcd_cls();
C51 COMPILER V6.23a  MAIN                                                                  11/24/2002 12:03:54 PAGE 5   

 242   2                      lcd_string(0,"现在打开光标闪烁:");
 243   2                      lcd_showcursor(0x01);
 244   2                      delay();
 245   2      
 246   2                      lcd_cls();
 247   2                      lcd_string(0,"现在将光标移到(8,3)位置:");
 248   2                      lcd_cursor(8, 3);
 249   2                      delay();
 250   2      
 251   2                      lcd_string(0,"您好!");
 252   2                      delay();
 253   2      
 254   2                      lcd_cls();
 255   2                      lcd_string(0,"现在关闭光标闪烁:");
 256   2                      lcd_showcursor(0x00);
 257   2                      delay();
 258   2      
 259   2                      lcd_cls();
 260   2                      lcd_string(0,"在(20,40)位置画一个点:");
 261   2                      lcd_dot(1,20,40); 
 262   2                      delay();
 263   2      
 264   2                      lcd_cursor(0, 0);
 265   2                      lcd_string(0,"再以直径为15画一个圆: ");
 266   2                      lcd_circle(1,20,40,15);
 267   2                      delay();
 268   2      
 269   2                      lcd_cursor(0, 0);
 270   2                      lcd_string(0,"再画两条线,一条实线,一条虚线:");
 271   2                      lcd_line(1,10,5,100,60);
 272   2                      lcd_line(2,10,55,100,10);
 273   2                      delay();
 274   2      
 275   2                      lcd_cls();
 276   2                      lcd_string(0,"画一个图片'马到成功'");
 277   2                      lcd_picture(0,30,20,pic);
 278   2                      delay();
 279   2      
 280   2                      lcd_cls();
 281   2                      lcd_string(0,"现在取'7426'的拼音串");
 282   2                      while(inbufsign) getbyte();     //清空接收缓冲区
 283   2                      lcd_string(0,"返回的结果:");
 284   2                      j=lcd_num2pinyin(string_num, pinyin_buf);
 285   2      
 286   2                      lcd_cursor(0, 3);
 287   2                      for(i=0;i<j;i++)
 288   2                      {
 289   3                              if(i==0) lcd_string(1,pinyin_buf[i]);//默认反显第一个拼音
 290   3                              else lcd_string(0,pinyin_buf[i]);
 291   3                              lcd_string(0," ");
 292   3                      }
 293   2                      delay();
 294   2      
 295   2                      lcd_cls();
 296   2                      lcd_cursor(0, 0);
 297   2                      lcd_string(0,"反显第二个拼音:");//比如通过按键选到了第二个     
 298   2                      lcd_cursor(0, 3);
 299   2                      for(i=0;i<j;i++)
 300   2                      {
 301   3                              if(i==1) lcd_string(1,pinyin_buf[i]);//反显第一个拼音
 302   3                              else lcd_string(0,pinyin_buf[i]);
 303   3                              lcd_string(0," ");
C51 COMPILER V6.23a  MAIN                                                                  11/24/2002 12:03:54 PAGE 6   

 304   3                      }
 305   2                      delay();
 306   2      
 307   2                      lcd_cls();
 308   2                      lcd_string(0,"取这个拼音的汉字串:\r\n");
 309   2                      
 310   2                      while(inbufsign) getbyte();     //清空接收缓冲区
 311   2                      lcd_pinyin2hz(1, pinyin_buf[1],pinyin_buf);//借用拼音的缓冲区pinyin_buf放汉字串,以节省内存
*** WARNING C182 IN LINE 311 OF MAIN.C: pointer to different objects
 312   2                      lcd_cursor(0, 4);
 313   2                      lcd_string(0,pinyin_buf[0]);
 314   2                      delay();delay();delay();
 315   2              }
 316   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1217    ----
   CONSTANT SIZE    =    546    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----     109
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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