📄 lcd1602.c.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 + -