1602.c

来自「1602显示程序(51版)」· C语言 代码 · 共 86 行

C
86
字号
#include <reg51.h>
#include <intrins.h>
sbit RS=P2^0;
sbit RW=P2^1;
sbit EN=P2^2;
#define data  P3
void write(char,char);
char bp(void);
void inilcd(void);
void local(char);
void delay1ms(char);
char disp[]={"how are you!"};
main()
{
	unsigned char i;
	inilcd();
	delay1ms(10);
	local(0x01);
	i=0;
	while(disp[i]!='\0')
	{
		write(0,disp[i]);
		i++;
	}
}
void write(char m,char n)
{
	while(bp());
	RS=m;
	RW=0;
	EN=0;
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	data=n;
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	EN=1;
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	EN=0;
}
char bp(void)
{
	char result;
	RS=0;
	RW=1;
	EN=1;
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	result=(0x80&data);
	_nop_();
	_nop_();
	EN=0;
	return result;
}
void local(char localdata)
{
	write(1,localdata|0x80);
}
void inilcd(void)
{
	write(1,0x38);
	delay1ms(1);
	write(1,0x0c);
	delay1ms(1);
	write(1,0x06);
	delay1ms(1);
	write(1,0x01);
	delay1ms(1);
}
void delay1ms(char time)
{
	int i,j;
	for(i=0;i++;i<time)
		for(j=0;j++;j<120);
}

⌨️ 快捷键说明

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