lesson 8.c

来自「有51单片机C语言基础后在较短时间内学会51单片机C。」· C语言 代码 · 共 69 行

C
69
字号
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit rs=P3^0;
sbit en=P3^1;
void delay(uint z);		  //延时声明
void write_cmd(uchar cmd);	 //写命令声明
void write_data(uchar data1);  //写数据声明
void initial();	 			  //初始化声明
uchar table1[]="I like MCU!";
uchar table2[]="How are you!";

void main()
{
	uchar i;
	initial();
    for(i=0;i<11;i++)
	{
		write_data(table1[i]);
		delay(20);	  //加大延时实现动态显示
	}
	//write_cmd(0x01);	//清屏
	write_cmd(0xd0);    //数据指针设置
	for(i=0;i<12;i++)
	{
		write_data(table2[i]);
		delay(20);		//加大延时实现动态显示
	}
	for(i=0;i<16;i++)
	{
		write_cmd(0x1c); //0x18为右移动	 0x1c为左移动
		delay(200);
	}
	while(1);
}

void initial()
{
	en=0;
	write_cmd(0x38);	// 16X2	5X8显示
	write_cmd(0x0f);	//开显示 光标 闪烁
	write_cmd(0x06);	//地址指针自动加一,不移动
	write_cmd(0x01);	//清屏
	write_cmd(0x90);    //数据指针设置
}

void write_cmd(uchar cmd_data)
{
	rs=0;
	P2=cmd_data;	delay(1);	   //P2为数据口
	en=1;	delay(1);
	en=0;
}

void write_data(uchar data1)
{
	rs=1;
	P2=data1;	delay(1);	  //P2为数据口
	en=1;	delay(1);
	en=0;
}
void delay(uint z)
{
	uint x,y;
	for(x=z;x>0;x--)
		for(y=110;y>0;y--);
}

⌨️ 快捷键说明

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