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

📄 新建 文本文档.c

📁 单片机通信程序
💻 C
字号:
#define uchar unsigned char //定义一下方便使用
#define uint  unsigned int
#define ulong unsigned long
#include<intrins.h>
#include <reg52.h>                           
#include <absacc.h>
#define CW XBYTE[0xf9fc]   //00               
#define CR XBYTE[0xf9fe]   //10
#define DW XBYTE[0xf9fd]   //01
#define DR XBYTE[0xf9ff]   //11
#define uchar unsigned char
#define uint unsigned int
uchar key;         //按键特征值变量 
uchar JianZhi;     //液晶显示特征值 
uchar INT1flag;    //液晶显示标志位
bit flag,f;          //读忙标志位
//================================	
void delay(unsigned int i) //延时子程序
	{
		while(--i);
	}

//=======================================   
unsigned char ReadLcdCode(void)//读液晶命令口子程序
	{
	 	unsigned char a;
	 	delay(100);
	 	a=CR;
	 	return (a);   	
	}

//=======================================   
void readbf(void)                   //读液晶忙子程序
	{   
		while(flag)
		{
			flag=(bit)(ReadLcdCode()&0x80);
		}
	}

//=======================================    
void WriteLcdCode(unsigned char a)  //写液晶命令子程序
	{
	 	delay(20);
	 	CW=a;
	 	delay(20);   	
	}

//=======================================    
void WriteLcdData(unsigned char a)  //写液晶数据子程序
	{   
	 	delay(20);
	 	DW=a;
	 	delay(20); 
    } 
 
//======================================= 
void inttilcs(void)    //液晶初始化子程序
{   
    WriteLcdCode(0x38);
	delay(500);                                              //关键500
	readbf();                                                //没有也没关系
	WriteLcdCode(0x14);
	readbf();
	delay(500);                                              //不能少
	WriteLcdCode(0x0C);
	readbf();
	delay(500);
	WriteLcdCode(0x06);
}                              

 //=======================================  
 void displayOneChar(unsigned char X, unsigned char Y, unsigned char DData)
 {
 Y&=0x1;
 X&=0xF; 
 if(Y) X|=0x40; 
 X|=0x80; 
 WriteLcdCode(X); 
 WriteLcdData(DData);
}

void displayListChar(unsigned char X, bit Y, unsigned char *DData)
  {
 unsigned char ListLength;
 ListLength = 0;
 Y&=0x1;
 X&=0xF; 
 while(DData[ListLength]!='\0') 
 {
    displayOneChar(X, Y, DData[ListLength]);
    ListLength++;
    X++;
	if(X==0xf) 
	{ if(Y==1) 
	  {
	   WriteLcdCode(0x01); 
	   }
	  X=0;
 	  Y=~Y;
	 }
	 
 }
 }

⌨️ 快捷键说明

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