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

📄 lcd.lst

📁 C51对C6963C的驱动编程,包含具体的连接定义和汉字字库,我已经完全显示成功
💻 LST
📖 第 1 页 / 共 2 页
字号:
 232   2      StartAddr=StartAddr+ ColumnChar;
 233   2      }
 234   1      }
 235          
 236          /*----------------------------------------------------------------------------------------------------*/
 237          //反显一个汉字
 238          //lin:行位置。(范围0-15)
 239          //column: 列位置,(范围0-29)
 240          void ReverseShowHZ(unchar lin,unchar column)
 241          {
C51 COMPILER V7.02b   LCD                                                                  08/02/2005 17:51:31 PAGE 5   

 242   1      ReverseShowChar(lin,column);
 243   1      ReverseShowChar(lin,column+1);
 244   1      }
 245          
 246          /*----------------------------------------------------------------------------------------------------*/
 247          //反显一行汉字
 248          //lin:行位置。(范围0-15)
 249          //column: 列位置,(范围0-29)
 250          void ReverseShowLine(unchar lin)
 251          {
 252   1      unchar column;
 253   1      if (lin>3)  return;
 254   1      for(column=0; column< ColumnChar; column++) ReverseShowChar(lin,column);
 255   1      }
 256          
 257          /*---------------------------------------------------------------------------------------------------*/
 258          //清屏
 259          void ClearScreen()
 260          {
 261   1      unsigned int i;
 262   1      ///////// 清显示 RAM 区 0000h--2000h (8k)
 263   1      OutPortCom3(0x00,0x00,0x24); //设置指针地址0000H
 264   1      
 265   1      OutPortCom1(0xb0); //设置自动写状态
 266   1      for(i=0;i<8200;i++) {AutoWCheck();OutPortData(0x00);} // data=0;
 267   1      AutoWCheck();//是否需要??
 268   1      OutPortCom1(0xb2); // 自动写结束
 269   1      }
 270          
 271          /*---------------------------------------------------------------------------------------------------*/
 272          //初始化LCD
 273          //需要手动设置
 274          void InitLCD()
 275          {
 276   1      ce=0;
 277   1      cd=1;
 278   1      //wr=1;
 279   1      //rd=1;
 280   1      OutPortCom3( 0x00,0x00,0x42 ); //设置图形显示区域首地址GraphAddr
 281   1      OutPortCom3( 0x10,0x00,0x43); //设置图形显示区域宽度:10H
 282   1      
 283   1      OutPortCom1(0xa7); //设置光标形状 cursor size 8x8
 284   1      OutPortCom1(0x80); //设置显示方式: CGROM方式 文本\图形 "或"
 285   1      OutPortCom1(0x9c); //设置显示开关: 1001 1000 只开图形显示
 286   1      
 287   1      ClearScreen();
 288   1      }
 289          
 290          /********************************/
 291          /*  自己定义的中文字库  */
 292          /********************************/
 293          
 294          unchar code HZTable[ ][32]={
 295          /*  电   0x00 --*/
 296                  {0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,
 297                   0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,
 298                   0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,
 299                   0x01,0x02,0x01,0x02,0x00,0xFE,0x00,0x00},
 300          /*  压   0x01 --*/
 301                  {0x00,0x00,0x3F,0xFE,0x20,0x00,0x20,0x80,
 302                   0x20,0x80,0x20,0x88,0x2F,0xFC,0x20,0x80,
 303                   0x20,0xA0,0x20,0x90,0x20,0x98,0x40,0x90,
C51 COMPILER V7.02b   LCD                                                                  08/02/2005 17:51:31 PAGE 6   

 304                   0x40,0x80,0xBF,0xFE,0x00,0x00,0x00,0x00},
 305          /*  功   0x02 --*/
 306                  {0x00,0x20,0x00,0x20,0x7F,0x20,0x08,0x20,
 307                   0x0B,0xFC,0x08,0x24,0x08,0x24,0x08,0x44,
 308                   0x09,0x44,0x0E,0x44,0xF0,0x84,0x40,0x84,
 309                   0x01,0x04,0x02,0x78,0x04,0x10,0x00,0x00},
 310          /*  率   0x03 --*/
 311                  {0x02,0x00,0x01,0x00,0x7F,0xFE,0x41,0x00,
 312                   0x22,0x28,0x17,0xD0,0x04,0x80,0x11,0x10,
 313                   0x22,0x48,0x47,0xC4,0x01,0x20,0xFF,0xFE,
 314                   0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00},
 315          /*  有   0x04 --*/
 316                  {0x01,0x00,0x01,0x00,0x7F,0xFE,0x02,0x00,
 317                   0x04,0x00,0x0F,0xF0,0x18,0x10,0x28,0x10,
 318                   0x4F,0xF0,0x88,0x10,0x08,0x10,0x0F,0xF0,
 319                   0x08,0x10,0x08,0x90,0x08,0x70,0x08,0x20},
 320          /*  效   0x05 --*/
 321                  {0x10,0x20,0x08,0x30,0x08,0x20,0x7F,0x20,
 322                   0x14,0x7E,0x12,0x44,0x21,0xC4,0x22,0x44,
 323                   0x62,0x28,0x14,0x28,0x08,0x10,0x0C,0x10,
 324                   0x12,0x28,0x20,0xCE,0xC3,0x04,0x00,0x00},
 325          /*  值   0x06 --*/
 326                  {0x10,0x40,0x18,0x60,0x17,0xFC,0x10,0x40,
 327                   0x20,0x80,0x33,0xF8,0x62,0x08,0xA3,0xF8,
 328                   0x22,0x08,0x23,0xF8,0x22,0x08,0x23,0xF8,
 329                   0x22,0x08,0x22,0x08,0x2F,0xFE,0x20,0x00},
 330          /*  三   0x07 --*/
 331                  {0x00,0x00,0x00,0x00,0x7F,0xFC,0x00,0x00,
 332                   0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF8,
 333                   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 334                   0x00,0x00,0x7F,0xFE,0x00,0x00,0x00,0x00},
 335          /*  相   0x08 --*/
 336                  {0x10,0x00,0x10,0xFC,0x10,0x84,0x10,0x84,
 337                   0xFE,0x84,0x18,0xFC,0x34,0x84,0x32,0x84,
 338                   0x52,0x84,0x50,0xFC,0x90,0x84,0x10,0x84,
 339                   0x10,0x84,0x10,0x84,0x10,0xFC,0x10,0x84},
 340          /*  流   0x09 --*/
 341                  {0x20,0x80,0x10,0x40,0x17,0xFE,0x00,0x40,
 342                   0x80,0x80,0x49,0x10,0x4B,0xF8,0x10,0x08,
 343                   0x12,0x50,0x12,0x50,0xE2,0x50,0x22,0x50,
 344                   0x24,0x52,0x24,0x52,0x28,0x4E,0x20,0x00},
 345          /*  量   0x0a --*/
 346                  {0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x10,0x10,
 347                   0x1F,0xF0,0x00,0x00,0xFF,0xFE,0x11,0x10,
 348                   0x1F,0xF0,0x11,0x10,0x1F,0xF0,0x01,0x00,
 349                   0x1F,0xF8,0x01,0x00,0xFF,0xFE,0x00,0x00},
 350          /*  因   0x0b --*/
 351                  {0x00,0x00,0x7F,0xFC,0x41,0x04,0x41,0x04,
 352                   0x41,0x04,0x5F,0xF4,0x41,0x04,0x43,0x04,
 353                   0x42,0x84,0x46,0x44,0x44,0x24,0x48,0x34,
 354                   0x50,0x24,0x40,0x04,0x7F,0xFC,0x40,0x04},
 355          /*  数   0x0c --*/
 356                  {0x08,0x20,0x49,0x30,0x2A,0x20,0x1C,0x20,
 357                   0xFF,0x7E,0x1C,0x44,0x2B,0x44,0x48,0xC4,
 358                   0x08,0x28,0xFF,0x28,0x12,0x10,0x34,0x10,
 359                   0x0C,0x28,0x32,0x4E,0xC0,0x84,0x00,0x00}
 360          };
 361          
 362          /****************************************/
 363          /* 边准的ASCII字库8列*16行  */
 364          /****************************************/
 365          
C51 COMPILER V7.02b   LCD                                                                  08/02/2005 17:51:31 PAGE 7   

 366          unchar code ASCII816[ ][16]={
 367          /*-文字: --0x20 */
 368           {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
 369          /*-文字:(--0x21 */
 370           {0x00,0x02,0x04,0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x08,0x08,0x04,0x02,0x00},
 371          /*-文字:)--0x22 */
 372           {0x00,0x40,0x20,0x10,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x10,0x10,0x20,0x40,0x00},
 373          /*-文字:.--0x23 */
 374           {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00},
 375          /*-文字:0--0x24 */
 376           {0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00},
 377          /*-文字:1--0x25 */
 378           {0x00,0x00,0x00,0x10,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00},
 379          /*-文字:2--0x26 */
 380           {0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x04,0x04,0x08,0x10,0x20,0x42,0x7E,0x00,0x00},
 381          /*-文字:3--0x27 */
 382           {0x00,0x00,0x00,0x3C,0x42,0x42,0x04,0x18,0x04,0x02,0x02,0x42,0x44,0x38,0x00,0x00},
 383          /*-文字:4--0x28 */
 384           {0x00,0x00,0x00,0x04,0x0C,0x14,0x24,0x24,0x44,0x44,0x7E,0x04,0x04,0x1E,0x00,0x00},
 385          /*-文字:5--0x29 */
 386           {0x00,0x00,0x00,0x7E,0x40,0x40,0x40,0x58,0x64,0x02,0x02,0x42,0x44,0x38,0x00,0x00},
 387          /*-文字:6--0x2a */
 388           {0x00,0x00,0x00,0x1C,0x24,0x40,0x40,0x58,0x64,0x42,0x42,0x42,0x24,0x18,0x00,0x00},
 389          /*-文字:7--0x2b */
 390           {0x00,0x00,0x00,0x7E,0x44,0x44,0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00},
 391          /*-文字:8--0x2c */
 392           {0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x24,0x18,0x24,0x42,0x42,0x42,0x3C,0x00,0x00},
 393          /*-文字:9--0x2d */
 394           {0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x26,0x1A,0x02,0x02,0x24,0x38,0x00,0x00},
 395          /*-文字:A--0x2e */
 396           {0x00,0x00,0x00,0x10,0x10,0x18,0x28,0x28,0x24,0x3C,0x44,0x42,0x42,0xE7,0x00,0x00},
 397          /*-文字:B--0x2f */
 398           {0x00,0x00,0x00,0xF8,0x44,0x44,0x44,0x78,0x44,0x42,0x42,0x42,0x44,0xF8,0x00,0x00},
 399          /*-文字:C--0x30 */
 400           {0x00,0x00,0x00,0x3E,0x42,0x42,0x80,0x80,0x80,0x80,0x80,0x42,0x44,0x38,0x00,0x00},
 401          /*-文字:D--0x31 */
 402           {0x00,0x00,0x00,0xF8,0x44,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x44,0xF8,0x00,0x00},
 403          /*-文字:H--0x32 */
 404           {0x00,0x00,0x00,0xE7,0x42,0x42,0x42,0x42,0x7E,0x42,0x42,0x42,0x42,0xE7,0x00,0x00},
 405          /*-文字:I--0x33 */
 406           {0x00,0x00,0x00,0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00},
 407          /*-文字:T--0x34 */
 408           {0x00,0x00,0x00,0xFE,0x92,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00},
 409          /*-文字:V--0x35 */
 410           {0x00,0x00,0x00,0xE7,0x42,0x42,0x44,0x24,0x24,0x28,0x28,0x18,0x10,0x10,0x00,0x00},
 411          /*-文字:W--0x36 */
 412           {0x00,0x00,0x00,0xD6,0x92,0x92,0x92,0x92,0xAA,0xAA,0x6C,0x44,0x44,0x44,0x00,0x00},
 413          };
 414          
 415          /*---------------------------------------------------------------------------------------------------*/
 416          //测试程序
 417          void main(void)
 418          { 
 419   1      //ce=0;
 420   1      /*
 421   1      unchar code STR1[]=
 422   1        {
 423   1        0x84,0x82,0x80,0x8a,
 424   1        0x21,0x36,0x22
 425   1        };
 426   1      unchar code STR2[]=
 427   1        {
C51 COMPILER V7.02b   LCD                                                                  08/02/2005 17:51:31 PAGE 8   

 428   1        0x2e
 429   1        };
 430   1      unchar code STR3[]=
 431   1        {
 432   1        0x2f
 433   1        };
 434   1      unchar code STR4[]=
 435   1        {
 436   1        0x30
 437   1        };*/
 438   1      
 439   1      ES=0;
 440   1      InitLCD();
 441   1      P1_0=0;
 442   1      ShowChar(0,0,17);
 443   1      //ShowHZ(12,20,0x3);
 444   1      P1_2=0;
 445   1      //ShowChar(2,3,&string);
 446   1      //ShowLine(0,2,&string,7);
 447   1      //ShowLine(0,2,STR1,7);
 448   1      //ShowLine(1,0,STR2,1);
 449   1      //ShowLine(2,0,STR3,1);
 450   1      //ShowLine(3,0,STR4,1);
 451   1      //ReverseShowLine(0);
 452   1      //while(1){};
 453   1      } 
 454          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    725    ----
   CONSTANT SIZE    =    784    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      24
   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 + -