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

📄 main.c

📁 液晶LCD1602的单片机的C语言程序的编写以及液晶模块使用详解
💻 C
字号:
/****************************************Copyright (c)**************************************************
**                               Guangzou ZLG-MCU Development Co.,LTD.
**                                      graduate school
**                                 http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name:			main.c
** Last modified Date:  2004-09-16
** Last Version:		1.0
** Descriptions:		The main() function example template
**
**------------------------------------------------------------------------------------------------------
** Created by:			Chenmingji
** Created date:		2004-09-16
** Version:				1.0
** Descriptions:		The original version
**
**------------------------------------------------------------------------------------------------------
** Modified by:         
** Modified date:
** Version:
** Descriptions:
**
********************************************************************************************************/
/****************************************************************************
* File: main.c
* 功能:向LCD输出HelloWorld
****************************************************************************/
#include  "config.h"
#include  "lcd.h"
uint8 lcdnum[]={"0123456789"};
uint8 txt[]={"HelloWorld"};
/****************************************************************************
* 名称:ChkBusy()
* 功能:检查总线是否忙
****************************************************************************/
void ChkBusy()
{
	IODIR=0x700;
	while(1)
	{
		IOCLR=rs;
		IOSET=rw;
		IOSET=en;
		if(!(IOPIN & busy))break;
		IOCLR=en;
	}
	IODIR=0x7ff;
}
/****************************************************************************
* 名称:WrOp()
* 功能:写函数
****************************************************************************/
void WrOp(uint8 dat)
{
	ChkBusy();
	IOCLR=rs;		//全部清零
	IOCLR=rw;
	IOCLR=0xff;		//先清零
	IOSET=dat;		//再送数
	IOSET=en;
	IOCLR=en;
}
/****************************************************************************
* 名称:WrDat()
* 功能:写数据函数
****************************************************************************/
void WrDat(uint8 dat)	
{
	ChkBusy();
	IOSET=rs;
	IOCLR=rw;
	IOCLR=0xff;		//先清零
	IOSET=dat;		//再送数
	IOSET=en;
	IOCLR=en;
}
/****************************************************************************
* 名称:lcd_init()
* 功能:lcd初始化函数
****************************************************************************/
void lcd_init(void)
{
	WrOp(TwoLine_8bit);			
	WrOp(CURSOR_RIGHT);			//光标加1
	WrOp(CURSOR_OFF);			//关显示
}
/****************************************************************************
* 名称:DisText()
* 功能:显示文本函数
****************************************************************************/
void DisText(uint8 *p)
{
	
	while(*p !='\0')WrDat(*(p++));
}
/*****************************

* 名称:gotoxy()
* 功能:设置地址函数


******************************/
void gotoxy(uint8 x,uint8 y)
{
	if(x==1)  
		WrOp(GOTO_LINE_1+y);
	else
    	WrOp(GOTO_LINE_2+y);
}




/****************************************************************************
* 名称:main()
* 功能:显示文本
****************************************************************************/

        int main (void)
{   lcd_init();
	IODIR=0x7ff;		//设置为输出
	IOCLR=0x7ff;
	gotoxy(2,5);
	DisText(txt);
	WrDat(lcdnum[6]);
	while(1);
    return 0;
}
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

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