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

📄 _main.c

📁 mp3设计原理图 设计思想 设计思路 设计步骤 明确清晰
💻 C
字号:
#include <reg51.h>
#include "intrins.h"

#define  uint unsigned int
#define  uchar unsigned char

#define TRUE  1
#define FALSE 0
#define nop _nop_()


#define PtData P1  //定义连接口线,
#define PtContr P3
sbit RS=PtContr^5;
sbit RW=PtContr^6;
sbit E=PtContr^7;

void InitialLcd();
void WriteLcdInstr(uchar);
void WriteLcdData(uchar);
void CheckLcdBusy();
uchar HexToDdram(uchar);
void PutChar(uchar x,uchar y,uchar c);
void PutStr(uchar x,uchar y,uchar *str);
void Delay(unsigned int);

 

main()
{
Delay(1000);
InitialLcd();
PutStr(2,0,"www.znmcu.cn");
PutStr(1,1,"4 Bits Mode!!!");
while(1);

}


//----------------LCD1602函数---------------------//
//---初始化
void InitialLcd()
{Delay(600);//延时应大于15ms,不同的晶振使需要修改,本程序再6M下调试通过
RS=0;
RW=0;nop;
E=0;nop;

E=1;nop;
PtData=0x20;//   
nop;
E=0;
Delay(200);//延时应大于4.1ms

E=1;nop;
PtData=0x20;//   
nop;
E=0;
Delay(5);//延时应大于100us

E=1;nop;
PtData=0x20;//  
nop;
E=0;//设置4位操作;

WriteLcdInstr(0x01);//清屏
WriteLcdInstr(0x28);//设置4位操作,1行显示,5x8
WriteLcdInstr(0x02);//光标归位
WriteLcdInstr(0x06);//AC自动加1,画面不动
WriteLcdInstr(0x0f);//0x0f:光标闪烁开;  

}
//---写指令
void WriteLcdInstr(uchar Temp)
{CheckLcdBusy();
RS=0;
RW=0;
E=0;nop;
E=1;nop;
PtData=Temp;
nop;
E=0;nop;
E=1;nop;
PtData=(Temp<<4);
nop;
E=0;nop;
}


//---写数据
void WriteLcdData(uchar Temp)
{
CheckLcdBusy();
RS=1;
RW=0;
E=0;nop;
E=1;nop;
PtData=Temp;
nop;
E=0;nop;
E=1;nop;
PtData=(Temp<<4);
nop;
E=0;nop;
}


//---查忙
void CheckLcdBusy()
{uchar Temp,t;
PtData=0xff;

RW=1;
RS=0;nop;
E=0;nop;
do
 {nop;
 E=1;nop;
 Temp=PtData;
 nop;nop;nop;
 E=0;nop;nop;

 E=1;nop;
 t=PtData;
 nop;nop;nop;
 E=0;nop;nop;

 Temp&=0x80;
 }while(Temp==0x80);
}

 

//---delay
void Delay(unsigned int N)
{unsigned int i;
for(i=0;i<N;i++){i=i;}
}

void PutChar(uchar x,uchar y,uchar c)
{
 if(y)
  WriteLcdInstr(0xc0+x);
 else
  WriteLcdInstr(0x80+x);
 WriteLcdData(c);
}

void PutStr(uchar x,uchar y,uchar *str)
{
 uchar i=0;
 while(str[i])
 {
  PutChar(x+i,y,str[i++]);
 }
}

⌨️ 快捷键说明

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