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

📄 xianshi.txt

📁 1602液晶显示指定字符
💻 TXT
字号:
#include<pic.h>
__CONFIG(0x1832);
//芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡
//LCD控制线宏定义
#define rs RA5	
#define rw RA4
#define e  RA3		
char web[ ] = {"WWW.TXMCU.COM"};
char tel[ ] = {"  0451-87572303 " };
 
void init();                   //申明I/O口初始化函数
void lcd_init();               //申明LCD初始化函数
void write(char x);            //申明显示1字节数据函数
void lcd_enable();             //申明LCD显示设置函数
void delay();                  //申明延时函数
void writelcd(char *pt);	   //声明LCD写字符串函数

void main()
{
	init();                //调用I/O口初始化函数
	lcd_init();            //调用LCD初始化函数	
	while (1)
	{
		writelcd(web);			//调用显示公司web地址函数
        PORTD = 0XC0;           //设置第2行显示地址
		lcd_enable();          	//调用LCD显示设置函数
		writelcd(tel);			//调用显示公司tel函数
	}
}
void init()
{
	ADCON1 = 0X07;               //设置A口为普通I/O口
     RA1=1;
	TRISA = 0X00;                //设置A口为输出
	TRISD = 0X00;                //设置D口为输出
}
void lcd_init()
{
	PORTD = 0X1;                 //清除显示
	lcd_enable();
	PORTD = 0X38;                //8位2行5*7点阵
	lcd_enable();
	PORTD = 0X0e;                //显示开,光标开,闪烁
	lcd_enable();
	PORTD = 0X06;                //文字不动,光标右移
	lcd_enable();
	PORTD = 0X80;                //公司web显示地址
	lcd_enable();
}

/****************************************************************************
* 名    称:write() 
* 功    能:写一个字节数据到LCD
* 入口参数:char x 字符
* 出口参数:
* 说    明:
****************************************************************************/
void write(char x)
{
	PORTD = x;                   //待显示数据送PORTD口
	rs = 1;                      //该字节数据为数据,而不是命令
	rw = 0;                      //此次操作为写,而不是读
	e = 0;                       //拉低使能信号
	delay();                   	 //保持使能信号为低一段时间
	e = 1;                       //拉高使能信号,建立LCD操作所需要的上升沿
}

/****************************************************************************
* 名    称:lcd_enable() 
* 功    能:LCD显示设置
* 入口参数:
* 出口参数:
* 说    明:
****************************************************************************/
void lcd_enable()
{
	rs = 0;                     //该字节数据为命令,而不是数据
	rw = 0;                     //此次操作为写,而不是读
	e = 0;                      //拉低使能信号
	delay();                  	//保持使能信号为低一段时间
	e = 1;                      //拉高使能信号,建立LCD操作所需要的上升沿
}
void delay()
{
	int i;
	for (i = 0;i < 5000;i++);
}

/****************************************************************************
* 名    称: writelcd()
* 功    能: 在LCD上显示字符串
* 入口参数:char *pt 字符串的首地址
* 出口参数:
* 说    明:
****************************************************************************/
void writelcd(char *pt)
{
    while(*pt)
        write(*pt++);
}

⌨️ 快捷键说明

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