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

📄 lcd1602.c.txt

📁 LCD1602 移出显示字符串
💻 TXT
字号:
*********************************************************************************

为了程序代码移植方便,我重新编写了 LCD1602 演示程序。希望对大家学习编程有所帮助。

*********************************************************************************

功能:

    逐字移出显示“ WELCOME TO WWW.WILLAR.COM ”字符串,延时2秒,然后再反方向逐字

删除所显示的字符串。在每个过程完成后,蜂鸣器响一声。

*********************************************************************************

/*******************************************************************
*                                                                  *
* ME500单片机开发系统演示程序 -  LCD1602 移出显示字符串            *
*                                                                  *
*                                                                  *
* 版本: V1.0 (2007/11/01)                                         *
* 作者: gguoqing                                                  *
* 网站: www.willar.com(伟纳电子)                                  *
* 邮箱: gguoqing@willar.com                                       *
*                                                                  *
*【版权】Copyright(C)伟纳电子 www.willar.com  All Rights Reserved  *
*【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!        *
*                                                                  *
********************************************************************
*                                                                  *
* 功能描述:                                                       *
* 逐字移出显示字符串,然后反方向逐字删除所显示的字符串。           * 
*                                                                  *
*******************************************************************/
#include <reg52.h>
#include <intrins.h>
#include <lcd.h>

#define uchar unsigned char
#define uint  unsigned int

sbit  BEEP = P3^7;

uchar code  cdis1[ ] = {"   WELCOME TO   "};
uchar code  cdis2[ ] = {" WWW.WILLAR.COM "};

/**********************************************************

x*0.14MS延时函数

**********************************************************/
void delay(uchar x)    
{
  uchar j;
  while(x--)
  {
    for (j=0; j<13; j++) {;}
  }
}

/**********************************************************

蜂鸣器驱动子函数

**********************************************************/
void beep()
{
  uchar i;
  for (i=0;i<180;i++)
  {
    delay(5);
    BEEP=!BEEP;                //BEEP取反
  } 
  BEEP=1;                      //关闭蜂鸣器
}

/**********************************************************

主函数

**********************************************************/
main()
{
  uchar m;
  
  lcd_init();                  //初始化LCD             
  while(1)
  {
    lcd_pos(0x00);             //设置显示位置为第一行
    for(m=0;m<16;m++)
    {
      lcd_wdat(cdis1[m]);
      delayms(200);  
    }

    lcd_pos(0x40);             //设置显示位置为第二行
    for(m=0;m<16;m++)
    {
      lcd_wdat(cdis2[m]);
      delayms(200); 
    }
    beep();
    delayms(2000); 

    for(m=15;m!=0xff;m--)
    {
      lcd_pos(0x40+m);         //设置删除位置为第二行
      lcd_wdat(0x20);
      delayms(100); 
    }

    for(m=15;m!=0xff;m--)
    {
      lcd_pos(0x00+m);        //设置删除位置为第一行
      lcd_wdat(0x20);
      delayms(100); 
    }
    beep();
    delayms(500); 
  }
} //end main

/**********************************************************/

⌨️ 快捷键说明

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