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

📄 ks0713.lst

📁 血压手臂控制代码包括 电磁阀控制 液晶屏显示等等
💻 LST
📖 第 1 页 / 共 4 页
字号:
 211   1          for (i = 0;i != 0xff;i++)
 212   1          for (j = 0;j != 0xff;j++);
 213   1      }
 214          /******************************************************************************************
 215          * 函数名称    :delay
 216          * 功能描述    :
 217          * 参数        :  参数名称:    输入/输出?     类型            描述
 218          * 
 219          * 返回值      :
 220          * 作者        :
 221          * 创建日期    :2006-12-19
 222          * 全局变量    :
 223          * 全局静态变量:
 224          * 局部静态变量:
 225          *----------------------------------------修改历史------------------------------------------
 226          * 当前版本    :                         修改人:                  修改日期:
 227          * 修改说明    :
 228          ******************************************************************************************/
 229          void delay(int num)//延时函数
C51 COMPILER V7.50   KS0713                                                                07/26/2007 13:34:29 PAGE 5   

 230          {
 231   1                      while(num--) ;
 232   1      }
 233          /******************************************************************************************
 234          * 函数名称    :lcdwaitidle
 235          * 功能描述    :
 236          * 参数        :  参数名称:    输入/输出?     类型            描述
 237          * 
 238          * 返回值      :
 239          * 作者        :
 240          * 创建日期    :2006-12-19
 241          * 全局变量    :
 242          * 全局静态变量:
 243          * 局部静态变量:
 244          *----------------------------------------修改历史------------------------------------------
 245          * 当前版本    :                         修改人:                  修改日期:
 246          * 修改说明    :
 247          ******************************************************************************************/
 248          void lcdwaitidle(void)
 249          {  
 250   1                      P0 = 0xff;
 251   1              LCD_A0 = 0;
 252   1              LCD_CS = 0;
 253   1              LCD_RD = 0;
 254   1              while((P0&0x80)==0x80);
 255   1              LCD_RD = 1;
 256   1              LCD_CS = 1;
 257   1      }
 258          /******************************************************************************************
 259          * 函数名称    :lcdwrcommand
 260          * 功能描述    :
 261          * 参数        :  参数名称:    输入/输出?     类型            描述
 262          * 
 263          * 返回值      :
 264          * 作者        :
 265          * 创建日期    :2006-12-19
 266          * 全局变量    :
 267          * 全局静态变量:
 268          * 局部静态变量:
 269          *----------------------------------------修改历史------------------------------------------
 270          * 当前版本    :                         修改人:                  修改日期:
 271          * 修改说明    :
 272          ******************************************************************************************/
 273          void lcdwrcommand(uchar cmdcode)
 274          {  
 275   1                      lcdwaitidle();
 276   1              P0 = cmdcode;
 277   1              LCD_A0 = 0;
 278   1              _nop_();
 279   1              _nop_();
 280   1              _nop_();
 281   1              _nop_();
 282   1              _nop_();
 283   1              LCD_CS = 0;
 284   1              LCD_WR = 0;
 285   1              _nop_();
 286   1              _nop_();
 287   1              _nop_();
 288   1              _nop_();
 289   1              _nop_();
 290   1              LCD_WR = 1;
 291   1              LCD_CS = 1;
C51 COMPILER V7.50   KS0713                                                                07/26/2007 13:34:29 PAGE 6   

 292   1      }
 293          
 294          /******************************************************************************************
 295          * 函数名称    :lcdwrdata
 296          * 功能描述    :
 297          * 参数        :  参数名称:    输入/输出?     类型            描述
 298          * 
 299          * 返回值      :
 300          * 作者        :
 301          * 创建日期    :2006-12-19
 302          * 全局变量    :
 303          * 全局静态变量:
 304          * 局部静态变量:
 305          *----------------------------------------修改历史------------------------------------------
 306          * 当前版本    :                         修改人:                  修改日期:
 307          * 修改说明    :
 308          ******************************************************************************************/
 309          void lcdwrdata(uchar dispdata)
 310          {  
 311   1                      lcdwaitidle();
 312   1              P0 = dispdata;
 313   1              LCD_A0 = 1;
 314   1              _nop_();
 315   1              _nop_();
 316   1              _nop_();
 317   1              _nop_();
 318   1              _nop_();
 319   1              LCD_CS = 0;
 320   1              LCD_WR = 0;
 321   1              _nop_();
 322   1              _nop_();
 323   1              _nop_();
 324   1              _nop_();
 325   1              _nop_();
 326   1              LCD_WR = 1;
 327   1              LCD_CS = 1;
 328   1      }
 329          
 330          /******************************************************************************************
 331          * 函数名称    :lcdclear
 332          * 功能描述    :清屏
 333          * 参数        :  参数名称:    输入/输出?     类型            描述
 334          * 
 335          * 返回值      :
 336          * 作者        :
 337          * 创建日期    :2006-12-19
 338          * 全局变量    :
 339          * 全局静态变量:
 340          * 局部静态变量:
 341          *----------------------------------------修改历史------------------------------------------
 342          * 当前版本    :                         修改人:                  修改日期:
 343          * 修改说明    :
 344          ******************************************************************************************/
 345          void lcdclear(uchar dat1,uchar dat2)/*写测试数据到LCD全屏*/
 346          {
 347   1                      uchar i,j;
 348   1          for(i = 0xb0;i<0xb8;i++)
 349   1          { 
 350   2              lcdwrcommand(i); //写页地址
 351   2              lcdwrcommand(0x10); //写初始列地址
 352   2              lcdwrcommand(0x02);
 353   2              for(j = 0x00;j<0x41;j++)
C51 COMPILER V7.50   KS0713                                                                07/26/2007 13:34:29 PAGE 7   

 354   2              {
 355   3                  lcdwrdata(dat1); //写显示数据
 356   3                  lcdwrdata(dat2);
 357   3              }
 358   2          }
 359   1      }
 360          /******************************************************************************************
 361          * 函数名称    :initlcm
 362          * 功能描述    :初始化液晶
 363          * 参数        :  参数名称:    输入/输出?     类型            描述
 364          * 
 365          * 返回值      :
 366          * 作者        :
 367          * 创建日期    :2006-12-19
 368          * 全局变量    :
 369          * 全局静态变量:
 370          * 局部静态变量:
 371          *----------------------------------------修改历史------------------------------------------
 372          * 当前版本    :                         修改人:                  修改日期:
 373          * 修改说明    :
 374          ******************************************************************************************/
 375          void initlcm(void)   
 376          {    
 377   1                LCD_RST = 0; //硬复位
 378   1          delay1();
 379   1          LCD_RST = 1;
 380   1          lcdwrcommand(0xe2); /*软件复位*/
 381   1          delay1();
 382   1          lcdwrcommand(0xa2); /*LCD BIAS=1/9*/
 383   1          lcdwrcommand(0xa0); /*列地址移动方向:ADC=0(SEG1->SEG132)*/
 384   1          lcdwrcommand(0xc8); /*行扫描方向:SHL=1(COM64->COM1)*/
 385   1          delay1();
 386   1      //   lcdwrcommand(0xa3); //设定LCD占空比为1/9 
 387   1      
 388   1          lcdwrcommand(0x2f); /*电源控制模式:VC,VR,VF=111*/
 389   1          delay1();
 390   1          lcdwrcommand(0x26); /*内部调整电阻比率:R2,R1,R0=111*/
 391   1          delay1();
 392   1          lcdwrcommand(0x81); /*对比度寄存器模式*/
 393   1          lcdwrcommand(0x16); /*对比度寄存器值  修改这个值就可以调节对比度了   */
 394   1          lcdwrcommand(0x40); /*起始行*/
 395   1          lcdwrcommand(0xe0); /*写入数据时列地址自动加1,但读时不变*/
 396   1          lcdwrcommand(0xaf); /*开显示*/
 397   1      
 398   1      }
 399          /******************************************************************************************
 400          * 函数名称    :dishz
 401          * 功能描述    :显示汉字
 402          * 参数        :  参数名称:    输入/输出?     类型            描述
 403          *            x_add 页地址 y_add 列地址 *p 字模数据地址
 404          * 返回值      :
 405          * 作者        :
 406          * 创建日期    :2006-12-19
 407          * 全局变量    :
 408          * 全局静态变量:
 409          * 局部静态变量:
 410          *----------------------------------------修改历史------------------------------------------
 411          * 当前版本    :                         修改人:                  修改日期:
 412          * 修改说明    :
 413          ******************************************************************************************/
 414          void dishz(uchar x_add,uchar y_add,uchar code *p)
 415          {
C51 COMPILER V7.50   KS0713                                                                07/26/2007 13:34:29 PAGE 8   

 416   1          uchar i,pag,colh,coll;
 417   1          pag = x_add*2+0xb0;
 418   1          colh = y_add>>4;     //取y_add的高4位
 419   1          colh = colh | 0xf0;
 420   1          colh = colh & 0x1f;
 421   1          coll = y_add & 0x0f; //取y_add的低4位
 422   1          lcdwrcommand(colh);
 423   1          lcdwrcommand(coll);
 424   1          lcdwrcommand(pag);
 425   1          for (i=0;i<32;i++)
 426   1          { 
 427   2              if (i == 16)
 428   2              { 
 429   3                  lcdwrcommand(pag+1);
 430   3                  lcdwrcommand(colh);
 431   3                  lcdwrcommand(coll);
 432   3              }
 433   2              lcdwrdata(*p++);
 434   2          }
 435   1      }
 436          
 437          /******************************************************************************************
 438          * 函数名称    :dispdigit
 439          * 功能描述    :显示字符

⌨️ 快捷键说明

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