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

📄 10 1602.c

📁 很好的51单片机仿真模板。
💻 C
字号:
#include<reg52.h> 
#define uchar unsigned char    //宏定义 
#define uint unsigned int  //宏定义 
sbit rs=P3^5;  //液晶数据命令选择端 
sbit lcden=P3^4;     //液晶写数据控制端 
sbit dula=P2^6; 
sbit wela=P2^7; 
uchar table1[]="TX-1B MCU"; //要显示的字表 
uchar table2[]="WWW.TXMCU.COM"; //要显示的字表 
void delay(uint x)  //延时子函数 
{ 
	uint a,b; 
	for(a=x;a>0;a--) 
	for(b=10;b>0;b--);  
} 
 
void delay1(uint x)  //延时子函数 
{ 
	uint a,b; 
	for(a=x;a>0;a--) 
	for(b=100;b>0;b--);  
} 
 
void write_com(uchar com)  //写命令函数 
{ 
	P0=com; 
	rs=0; 
	lcden=0; 
	delay(10); 
	lcden=1; 
	delay(10); 
	lcden=0; 
} 
 
void write_date(uchar date) // 写数据函数 
{ 
	P0=date; 
	rs=1; 
	lcden=0; 
	delay(10); 
	lcden=1; 
	delay(10); 
	lcden=0; 
} 
 
void init()  //初始化函数 
{ 
	dula=0;  //关闭数码管显示 
	wela=0; 
	write_com(0x38);     //液晶显示方式设置 
	delay(20); 
	write_com(0x0f);   //光标设置 
	delay(20); 
	write_com(0x06);   //数据指针顺序设计 
	delay(20); 
	write_com(0x01);    //液晶屏幕清屏命令 
	delay(20);  
} 
 
void main()    //主函数 
{ 
	uchar a; 
	init();
	write_com(0x80+17);    //先写在液晶数据缓冲区第一行不能显示的地方 
	delay(20); 
	for(a=0;a<9;a++)   //依次把第一个表格中的字符全写入 
	{ 
		write_date(table1[a]); 
		delay(20);   
	} 
	
	write_com(0xc0+17);   //先写在液晶数据缓冲区第二行不能显示的地方 
	delay(50); 
	for(a=0;a<13;a++)  //依次把第二个表格中的字符全写入 
	{ 
		write_date(table2[a]); 
		delay(40);   
	} 
	
	for(a=0;a<16;a++)   //写 16 个 0x18 把字符从右边移入进来显示在液晶上 
	{      //0x18 命令是移动字符的指令 
		write_com(0x1c); //原来write_com(0x18);0x1c为左移 仿真的与实物相反
		delay1(200); 
	} 
	while(1); 
}  

⌨️ 快捷键说明

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