×
嵌入式 > 技术百科 > 详情

单片机学习——lcd1602显示实验之一

发布时间:2020-06-06 发布时间:
|
题目:在lcd1602显示屏上显示出

   “I LIKE MCU!

       XIAO WU  ”

   且显示方式为从右边屏依次向左动态移出。

解决方案:(c语言编程)

#include
#define uchar unsigned char
#define uint unsigned int
uchar code table[]="I LIKE MCU!";
uchar code table1[]="XIAO WU"  ;
sbit lcdrs=P1^7;
sbit lcdrw=P1^6;
sbit lcde=P2^4;
sbit le=P3^ 6;
sbit leden=P2^5;
sbit  dkle=P3^7;
void delay(uint a) ;
uchar num;

void write_com(uchar com)  //写入命令子函数
{
 lcde=0;
 lcdrw=0;
 lcdrs=0;
 delay(1);
 lcde=1;
 delay(1);
 P0=com;
 delay(1);
 lcde=0;
}
void write_data(uchar dat) //写入数据子函数
{
 lcde=0;
 lcdrw=0;
 lcdrs=1;
 delay(1);
 lcde=1;
 delay(1);
 P0=dat;
 delay(1);
 lcde=0;
}
void init()  //初始化子函数
{
 lcde=0;
 le=0;
 leden=0;
 write_com(0x38);
 write_com(0x0f);
 write_com(0x01);
 write_com(0x80+0x10);
  
}
void main()  //主函数
{
 init();
 for(num=0;num<11;num++) //写入第一行
 {
  write_data(table[num]);
  delay(1);
 }
 write_com(0x80+0x40+4+0x10);
 for(num=0;num<7;num++)//写入第二行
 {
  write_data(table1[num]);
  delay(1);
 }
 for(num=0;num<16;num++)  //向左动态左移
 {
  write_com(0x18);
  delay(10);
 }
 while(1) ;
}

void delay(uint a) {  //延时函数
 uint i,j;
 for(j=a;j>0;j--)
     for(i=2500;i>0;i--) ;
}

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Semtech的LoRa技术携手Chipsafer将牧场连接至云端