对应液晶显示器1602的c编码及电路图.docx

上传人:b****4 文档编号:24631831 上传时间:2023-05-29 格式:DOCX 页数:10 大小:145.20KB
下载 相关 举报
对应液晶显示器1602的c编码及电路图.docx_第1页
第1页 / 共10页
对应液晶显示器1602的c编码及电路图.docx_第2页
第2页 / 共10页
对应液晶显示器1602的c编码及电路图.docx_第3页
第3页 / 共10页
对应液晶显示器1602的c编码及电路图.docx_第4页
第4页 / 共10页
对应液晶显示器1602的c编码及电路图.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

对应液晶显示器1602的c编码及电路图.docx

《对应液晶显示器1602的c编码及电路图.docx》由会员分享,可在线阅读,更多相关《对应液晶显示器1602的c编码及电路图.docx(10页珍藏版)》请在冰豆网上搜索。

对应液晶显示器1602的c编码及电路图.docx

对应液晶显示器1602的c编码及电路图

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

voidInitialize_LCD();

voidDisplay_String(uchar,uchar,uchar*);

sbitK1=P3^0;

sbitK2=P3^1;

sbitK3=P3^2;

ucharcode_model[]="PressK1orK2toselectmodel!

!

K3PauseOrGo!

!

!

";

ucharconstline_count=6;

ucharcodecontext[][30]=

{"Welcomeyou,07-",

"--09Automative!

",

"ElectricDesign",

"andPractice!

!

!

",

"Wegohandin",

"handitintopractice",

"andlearnitwell."

};

uchardisplay_buffer[32];

//DelayFunction

voidDelay_Ms_Fun(uintx)

{

uchari;

while(x--)

for(i=0;i<120;i++);

}

//VerticalDisplayFunction

voidVertical_Display()

{

uchari,j,k=0;

uchar*p=context[0];

uchar*q=context[line_count]+strlen(context[line_count]);

while(p

{

for(i=0;i<16&&p

{

if((i==0||i==15)&&*p=='')

p++;

if(*p!

='\0')

{

display_buffer[i]=*p++;

}

else

{

if(++k>line_count)

break;

p=context[k];

display_buffer[i]=*p++;

}

}

for(j=i;j<16;j++)

display_buffer[j]='';

while(F0)

Delay_Ms_Fun(5);

Display_String(0,0,"");

Delay_Ms_Fun(200);

while(F0)

Delay_Ms_Fun(5);

Display_String(0,1,display_buffer);

Delay_Ms_Fun(200);

while(F0)

Delay_Ms_Fun(5);

Display_String(0,0,display_buffer);

Display_String(0,1,"");

Delay_Ms_Fun(200);

}

Display_String(0,0,"");

Display_String(0,1,"");

}

//HorizontalDisplayFunction

voidHorizontal_Display()

{

uchari,j,k=0,h=0;

uchar*p=context[0];

uchar*q=context[line_count]+strlen(context[line_count]);

for(i=0;i<16;i++)

display_buffer[i]='';

while(p

{

if((i==16||i==31)&&*p=='')

p++;

for(i=16;i<32&&p

{

if(*p!

='\0')

{

display_buffer[i]=*p++;

}

else

{

if(++k>line_count)

break;

p=context[k];

display_buffer[i]=*p++;

}

}

for(j=i;j<32;j++)

display_buffer[j]='';

for(i=0;i<=16;i++)

{

while(F0)

Delay_Ms_Fun(5);

Display_String(0,h,display_buffer+i);

while(F0)

Delay_Ms_Fun(5);

Delay_Ms_Fun(20);

}

h=(h==0)?

1:

0;

Delay_Ms_Fun(200);

}

if(h==1)

Display_String(0,1,"");

}

//ExternalInterrupt

voidEX_Interrupt()interrupt0

{

F0=!

F0;

}

//MainFunction

voidmain()

{

uintcount=0;

IE=0x81;

IT0=1;

F0=0;

Initialize_LCD();

while(K1&&K2)

{

Display_String(0,0,code_model);

Display_String(0,1,code_model+16);

Delay_Ms_Fun(600);

Display_String(0,0,"");

Display_String(0,1,"");

Display_String(0,0,code_model+32);

Delay_Ms_Fun(600);

}

while

(1)

{

if(K1==0)

{

Vertical_Display();

Delay_Ms_Fun(200);

}

else

if(K2==0)

{

Horizontal_Display();

}Delay_Ms_Fun(200);

}

}

需要调用的函数如下:

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitRS=P2^0;

sbitRW=P2^1;

sbitE=P2^2;

//DelayFunction

voidDelay_Ms(uintms)

{

uchart;

while(ms--)

for(t=0;t<120;t++);

}

//BusyCheckingFunction

ucharBusy_Check()

{

ucharlcd_status;

RS=0;

RW=1;

E=1;

Delay_Ms

(1);

lcd_status=P0;

E=0;

returnlcd_status;

}

//WriteLCDCommandFunction

voidWrite_LCD_Command(ucharcmd)

{

while((Busy_Check()&0x80)==0x80);//busy!

wait!

!

!

RS=0;

RW=0;

E=0;

P0=cmd;

E=1;

Delay_Ms

(1);

E=0;

}

//WriteLCDDataFunction

voidWrite_LCD_Data(uchardat)

{

while((Busy_Check()&0x80)==0x80);//busy!

wait!

!

!

RS=1;

RW=0;

E=0;

P0=dat;

E=1;

Delay_Ms

(1);

E=0;

}

//LCDInitializeFuntion

voidInitialize_LCD()

{

Write_LCD_Command(0x38);

Delay_Ms

(1);

Write_LCD_Command(0x01);

Delay_Ms

(1);

Write_LCD_Command(0x06);

Delay_Ms

(1);

Write_LCD_Command(0x0c);

Delay_Ms

(1);

}

//DisplayStringFunction

voidDisplay_String(ucharx,uchary,uchar*str)

{

uchari=0;

//settingdisplaycharstart

if(y==0)

Write_LCD_Command(0x80|x);

if(y==1)

Write_LCD_Command(0xc0|x);

for(i=0;i<16;i++)

{

Write_LCD_Data(str[i]);

}

}

 

电路图:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 其它语言学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1