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

📄 drivert6963.lst

📁 基于MCS-51的电子指南针完整程序包 如果需要原理图的
💻 LST
📖 第 1 页 / 共 4 页
字号:
 241          **函数功能:                                                                                 **
 242          **入口参数:                                                                                 **
 243          **出口参数:                                                                                 **
 244          **具体资源:                                                                                 **
 245          **调用程序:                                                                                 **
 246          **备注:                                                                                     **
 247          **********************************************************************************************/ 
 248          void WCCharData(unsigned char CMD,unsigned char DAT)
 249          {
 250   1              LowWriteData(DAT);
 251   1              LowWriteCmd(CMD);
 252   1      }
 253          
 254          
 255          /**********************************************************************************************
 256          **函数名称:                                                                                 **
 257          **函数功能:                                                                                 **
 258          **入口参数:                                                                                 **
 259          **出口参数:                                                                                 **
 260          **具体资源:                                                                                 **
 261          **调用程序:                                                                                 **
 262          **备注:                                                                                     **
 263          **********************************************************************************************/
 264          void WCNoData(unsigned char CMD)
 265          {
 266   1          LowWriteCmd(CMD);
 267   1      }
 268          
 269          
 270          /**********************************************************************************************
 271          **函数名称:                                                                                 **
 272          **函数功能:                                                                                 **
 273          **入口参数:                                                                                 **
 274          **出口参数:                                                                                 **
 275          **具体资源:                                                                                 **
 276          **调用程序:                                                                                 **
 277          **备注:                                                                                     **
 278          **********************************************************************************************/
 279          void WDCharData(unsigned char DAT)
 280          {
 281   1          LowWriteData(DAT);
 282   1      }
 283          
 284          
 285          /**********************************************************************************************
 286          **函数名称:                                                                                 **
 287          **函数功能:                                                                                 **
 288          **入口参数:                                                                                 **
 289          **出口参数:                                                                                 **
 290          **具体资源:                                                                                 **
 291          **调用程序:                                                                                 **
 292          **备注:                                                                                     **
 293          **********************************************************************************************/ 
 294          void LCMReset(void)
 295          {
 296   1          RST_LCM = 1;
 297   1              RST_LCM = 0;
 298   1              _nop_();_nop_();_nop_();_nop_(); //Time delay enought for LCM RESET
 299   1              _nop_();_nop_();_nop_();_nop_();
 300   1              _nop_();_nop_();_nop_();_nop_();
 301   1              RST_LCM = 1;
C51 COMPILER V8.08   DRIVERT6963                                                           06/18/2008 01:56:31 PAGE 6   

 302   1      }
 303          
 304          
 305          /**********************************************************************************************
 306          **函数名称:                                                                                 **
 307          **函数功能:                                                                                 **
 308          **入口参数:                                                                                 **
 309          **出口参数:                                                                                 **
 310          **具体资源:                                                                                 **
 311          **调用程序:                                                                                 **
 312          **备注:                                                                                     **
 313          **********************************************************************************************/
 314          void FontStyle(unsigned char Style)
 315          {
 316   1          if(Style == 0xff)
 317   1          {
 318   2                  FS_LCM = 1;  //Choose 5*8 pixel
 319   2              }
 320   1              else
 321   1          {
 322   2                  FS_LCM = 0;  //Choos 8*8 pixel
 323   2              }
 324   1      }
 325          
 326          
 327          /**********************************************************************************************
 328          **函数名称:                                                                                 **
 329          **函数功能:                                                                                 **
 330          **入口参数:                                                                                 **
 331          **出口参数:                                                                                 **
 332          **具体资源:                                                                                 **
 333          **调用程序:                                                                                 **
 334          **备注:                                                                                     **
 335          **********************************************************************************************/
 336          void ClearScreen(unsigned char Mod)
 337          {
 338   1              unsigned int Counter = 0x0000;
 339   1      
 340   1              WCIntData(AddrPointer, 0x0000);                 
 341   1              WCNoData(AutoWrite);
 342   1      
 343   1              for (Counter=0; Counter < 0x2000; Counter++) //擦除8K空间
 344   1              {
 345   2                      AutoChk();
 346   2                      WDCharData(Mod);
 347   2              }
 348   1              WCNoData(AutoReset);                      
 349   1      }
 350          
 351          
 352          /**********************************************************************************************
 353          函数名称: void Picture(unsigned int Addr, unsigned char Tier, 
 354                                  unsigned char Column, unsigned char *Dat)
 355          函数功能: 描图
 356          入口参数: 显示区坐标X,Y,图片的长,图片的宽,图片数据首地址
 357          出口参数:
 358          具体资源:
 359          调用程序:
 360          备注:    1.由于显示字节的制约且简化显示函数,图片的X坐标只能是以字节的整数倍。
 361                    2.图片不能溢出显示屏,以免造成图片回显到显示屏顶部,显示函数没有裁剪图片。
 362                              取模图片的时候注意图片的大小。
 363          **********************************************************************************************/
C51 COMPILER V8.08   DRIVERT6963                                                           06/18/2008 01:56:31 PAGE 7   

 364          void Picture(unsigned char x, unsigned char y, unsigned char Column, unsigned char Tier, unsigned char *Da
             -t)
 365          {
 366   1              unsigned char Counter, i, itemp;
 367   1          unsigned int  Address, AddrTmp;
 368   1      
 369   1              itemp = Column/8;
 370   1          AddrTmp = x + y*0x14  + 0x0800;  //计算地址
 371   1      
 372   1              for (Counter = 0x00; Counter < Tier; Counter++)
 373   1          {
 374   2                  Address = AddrTmp + Counter*0x14;
 375   2                      
 376   2                      WCIntData(AddrPointer, Address);
 377   2                      WCNoData(AutoWrite);
 378   2                      AutoChk();
 379   2                  for (i = itemp; i > 0; i--)
 380   2              {       
 381   3                              WDCharData(*(Dat++));
 382   3                      }
 383   2                      WCNoData(AutoReset);
 384   2              }
 385   1      }
 386          
 387          
 388          /**********************************************************************************************
 389          函数名称:       void WriteCG(unsigned int Address, unsigned char dat)
 390          函数功能:       写英文字母
 391          入口参数:       地址,和英文字幕的地址,注意这里不是ASIC表内的地址。
 392          出口参数:
 393          具体资源:
 394          调用程序:
 395          备注:
 396          **********************************************************************************************/
 397          void WriteCG(unsigned int Address, unsigned char dat)
 398          {
 399   1              WCIntData(AddrPointer, Address);          //设置显示地址
 400   1              WDCharData(dat);
 401   1              WCNoData(WriteNoADP);
 402   1      }
 403          
 404          
 405          /**********************************************************************************************
 406          函数名称:      void WriteCH(unsigned int Address, unsigned char *temp)
 407          函数功能:      写一个汉字(没有采用CGROM的方式,采用直接在图形区域写值)
 408          入口参数:      汉字左上角地址,及汉字数组的首地址
 409          出口参数:
 410          具体资源:
 411          调用程序:
 412          备注:
 413          **********************************************************************************************/ 
 414          void WriteCH(unsigned int Address, unsigned char *temp)
 415          {
 416   1              unsigned char i, j;
 417   1      
 418   1              for (j=0; j<16; j++)
 419   1          {
 420   2                      for (i=0; i<2; i++)
 421   2              {
 422   3                              WriteCG(Address+i, *(temp++));
 423   3                      }
 424   2                      Address += 0x14;  //这个值和液晶屏点阵有关。
C51 COMPILER V8.08   DRIVERT6963                                                           06/18/2008 01:56:31 PAGE 8   

 425   2              }
 426   1      }
 427          
 428          
 429          /**********************************************************************************************
 430          函数名称:       void InitScreen(void)
 431          函数功能:       初始化LCM
 432          入口参数:
 433          出口参数:
 434          具体资源:
 435          调用程序:
 436          备注:
 437          **********************************************************************************************/
 438          void InitScreen(void)
 439          {
 440   1              LCMReset();                              //模块上电复位
 441   1              FontStyle(0x00);                                     //8*8点阵
 442   1              WCNoData(DisplayOff);                //关显示
 443   1      
 444   1              WCIntData(TextHomeAddr,0x0000);      //设置文本显示首地址
 445   1              WCIntData(TextArea,0x0014);          //设置文本显示宽度
 446   1      
 447   1              WCIntData(GraphicHomeAddr,0x0800);   //设置图形显示首地址
 448   1              WCIntData(GraphicArea,0x0014);       //设置图形显示宽度
 449   1      
 450   1              WCNoData(ORModeIn);                  //设置文本图形显示为‘OR’方式
 451   1              WCNoData(0x9C);                      //图形开,文本开,光标关
 452   1              WCIntData(CursorPointer, 0x011D);    //设置光标初始位置
 453   1              WCNoData(CursorL1);
 454   1              ClearScreen(0x00);                   //清除所有8K RAM
 455   1      }
 456          
 457          
 458          /**********************************************************************************************
 459          函数名称:       void EasyCH(unsigned char Tier, unsigned char Column, unsigned char *temp)
 460          函数功能:       以行列的形式给出汉字坐标
 461          入口参数:       汉字的坐标(行,列) 以及汉字点阵库地址
 462          出口参数:
 463          具体资源:
 464          调用程序:
 465          备注:
 466          **********************************************************************************************/
 467          void EasyCH(unsigned char Tier, unsigned char Column, unsigned char *temp)
 468          {
 469   1          unsigned char i, j;
 470   1              unsigned int  Address;
 471   1      
 472   1              Address = (Column *0x02) + (Tier * 0xA0) + 0x0800;  //计算地址
 473   1              
 474   1              for (j=0; j<16; j++)
 475   1          {
 476   2                      for (i=0; i<2; i++)
 477   2              {
 478   3                              WriteCG(Address+i, *(temp++));
 479   3                      }
 480   2                      Address += 0x14;
 481   2              }
 482   1      }
 483          
 484          
 485          /**********************************************************************************************
 486          函数名称:       void BitSet(unsigned char CMD);
C51 COMPILER V8.08   DRIVERT6963                                                           06/18/2008 01:56:31 PAGE 9   

 487          函数功能:       置位屏幕上一点
 488          入口参数:       该点的字节地址,第几位
 489          出口参数:
 490          具体资源:

⌨️ 快捷键说明

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