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

📄 main.c

📁 手把手教你单片机
💻 C
字号:
/*
 * 1602
*/

#include <reg52.h>
#include <intrins.h> 

typedef unsigned char uint8;

sbit RS = P1^0 ;
sbit RW = P1^1 ;
sbit EN = P1^5 ;
sbit BUSY = P0^7;


unsigned char code word1[]={"Welcome to"};
unsigned char code word2[]={"www.kingst.org"};


/**
 * 等待繁忙标志
*/
void wait(void)
{
	P0 = 0xFF;
	
	do
	{
		RS = 0;
		RW = 1;
		EN = 0;
		EN = 1;
	}while (BUSY == 1);
	EN = 0;
}

/**
 * 写数据
*/
void w_dat(uint8 dat)
{
	wait();
	EN = 0;
	P0 = dat;
	RS = 1;
	RW = 0;
	EN = 1;
	EN = 0;
}

/**
 * 写命令
*/
void w_cmd(uint8 cmd)
{
	wait();
	EN = 0;
	P0 = cmd;
	RS = 0;
	RW = 0;
	EN = 1;
	EN = 0;
}

/**
 * 发送字符串到LCD
*/
void w_string(uint8 addr_start, uint8 *p)
{
	w_cmd(addr_start);
	while (*p != '\0')
	{
		w_dat(*p++);
	}
}


/**
 * 初始化1602
*/
void Init_LCD1602(void)
{
	w_cmd(0x38);  // 16*2显示,5*7点阵,8位数据接口
	w_cmd(0x0C);  // 显示器开、光标开、光标允许闪烁
	w_cmd(0x06);  // 文字不动,光标自动右移
	w_cmd(0x01);  // 清屏
}


main()
{

	Init_LCD1602();
	
	w_string(0x80,word1);
	w_string(0xC0,word2);
	
	while (1);
} 

⌨️ 快捷键说明

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