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

📄 12864.c

📁 51单片机程序
💻 C
字号:
//cs PE3  SDA PA0  SCLK PE2
//#include <mc9s12dg128.h>
#include<reg52.h>
#define uchar unsigned char 
#define uint unsigned int 
sbit SDA=P3^6;
sbit SCLK=P3^3;
sbit CS=P3^2;
sbit EN=P3^5;
//发送一个字节数据
void send(uchar a)
{
	uchar i,b;
	b=a;
	SCLK=0;
	for(i=0;i<=7;i++)
	{
		if((b&0x80)==0x00)SDA=0;
		else SDA=1;
		SCLK=1;
		SCLK=0;
		b<<=1;
	}
}
void sendtolcd(uchar shu,uchar c_d)
{
	uchar x,y;
	x=shu&0xf0;
	y=shu&0x0f;
	y<<=4;
	if(c_d==1)send(0xf8);
	else send(0xfa);
	send(x);
	send(y);
}
void lcd_init()
{
	EN=0;
	CS=1;
	sendtolcd(0x30,1);  //功能设定,基本指令
	sendtolcd(0x0c,1);  //显示开关
	sendtolcd(0x01,1);  //清屏
	sendtolcd(0x06,1);  //进入设定点
	sendtolcd(0x02,1);  //地址归位
}
void send_lcd(uchar *p,uchar num)
{
	uchar *str,i;
	str=p;
	for(i=0;i<num;i++)
	{
		sendtolcd(*p,0);
		p++;
	}
}
void set_xy(uchar x,uchar y)   //设定显示位置,x为行(1-4),y为列(1-8)
{
	uchar a;
	if((x==1))a=y-1;
		if((x==2))a=16+y-1;
	if((x==3))a=8+y-1;
	if((x==4))a=24+y-1;
	sendtolcd(0x80+a,1);
}
void send_xylcd(uchar x,uchar y,uchar *p,uchar num)
{
	set_xy(x,y);
	send_lcd(p,num);
}
void lcd(uchar *p)
{
  while(*p!='\0')
  {
   sendtolcd(*p,0);
   p++;
   }
}

⌨️ 快捷键说明

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