|
主要內容顯示如下:
模塊化LCD1602.c和LCD1602.h如下文件
#include <REGX52.H>
sbit LCD_RW=P2^5;
sbit LCD_RS=P2^6;//1為數據,0為指令
sbit LCD_E=P2^7;
#define LCD_DataPort P0
void Delay(unsigned char xms)
{
unsigned char i=2,j=199;
while(xms--)
{
do
{
while(--j);
}while(--i);
}
}
void LCD_WriteCommand(unsigned char Command)
{
LCD_RS=0;
LCD_RW=0;
LCD_DataPort=Command;
LCD_E=1;
Delay(1);
LCD_E=0;
Delay(1);
}
void LCD_WriteData(unsigned char Data)
{
LCD_RS=1;
LCD_RW=0;
LCD_DataPort=Data;
LCD_E=1;
Delay(1);
LCD_E=0;
Delay(1);
}
void LCD_Init(void)
{
LCD_WriteCommand(0x38);
LCD_WriteCommand(0x0C);
LCD_WriteCommand(0x06);
LCD_WriteCommand(0x01);
}
void LCD_SetAC(unsigned char Line,unsigned char Column)
{
LCD_WriteCommand(0x80);
if(Line==1)
{
LCD_WriteCommand(0x80|(Column-1));
}
else if(Line==2)
{
LCD_WriteCommand(0x80|(Column-1)+0x40);
}
}
void LCD_ShowChar(unsigned char Line,unsigned char Column,unsigned char Char)
{
LCD_SetAC(Line,Column);
LCD_WriteData(Char);
}
void LCD_ShowString(unsigned char Line,unsigned char Column,unsigned char *String)
{
LCD_SetAC(Line,Column);
while(1)
{
if(*String!='\0'){LCD_WriteData(*String);}
else{break;}
String++;
}
}
int Power(unsigned char X,unsigned char Y)
{
unsigned char i;
int result=1;
for(i=0;i<Y;i++)
{
result*=X;
}
return result;
}
void LCD_ShowNum(unsigned char Line,unsigned char Column,int Number,unsigned char Length)
{
unsigned char i;
LCD_SetAC(Line,Column);
for(i=Length;i>0;i--)
{
LCD_WriteData('0'+Number/Power(10,i-1)%10);
}
}
void LCD_ShowsignedNum(unsigned char Line,unsigned char Column,int Num1,unsigned char Length)
{
int Number1;
unsigned char i;
LCD_SetAC(Line,Column);
if(Num1>0)
{
LCD_WriteData('+');
Number1=Num1;
}
else if(Num1<0)
{
LCD_WriteData('-');
Number1=-Num1;
}
for(i=Length;i>0;i--)
{
LCD_WriteData('0'+Number1/Power(10,i-1)%10);
}
}
void main()
{
LCD_Init();
LCD_ShowChar(1,1,'A');
LCD_ShowString(1,3,"Hello");
LCD_ShowNum(1,9,66,2);
LCD_ShowsignedNum(1,12,-88,2);
while(1)
{
}
}
|
-
-
LCD.rar
2021-7-12 09:38 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
25.4 KB, 下載次數: 74, 下載積分: 黑幣 -5
LCD1602模塊化
評分
-
查看全部評分
|