学习交流

当前位置 /首页/母婴教育/学习交流/列表

单片机LCM1602液晶显示实验

实验九LCM1602液晶显示实验

一、实验目的

1、掌握keil C51软件与Protues软件联合仿真调试的方法;

2、掌握LCM1602液晶模块显示西文的原理及使用方法;

3、掌握8位数据模式驱动LCM1602液晶的C语言编程方法。

4、掌握用LCM1602液晶模块显示数字的C语言编程方法。

二、实验内容

1、用Protues设计一LCM1602液晶显示接口电路。要求利用P0口接LCM1602液晶的数据段,P2.0~P2.2做LCM1602液晶的控制信号输入端。P3.0~P3.3口扩展三个功能键K1~K3。

2、编写程序,实现字符的静态和动态显示。字符为“姓名全拼+学号”。液晶的初始化、字符显示程序可参考STC官网上的程序文件。

3、编写程序,利用功能键实现字符的纵向滚动和横向滚动等效果显示。

三、实验原理及步骤

1、用Protues设计1602液晶显示接口电路;

2、在Keil C51中编写液晶显示控制程序,编译通过后,与Protues联合调试;

3、按动功能按键,观察字符及效果是否正确显示。

四、实验仪器与设备

1.微机1台 2. keilC51集成开发环境 eus仿真软件

五、电路设计及调试

(1)实验电路

单片机LCM1602液晶显示实验

(2)程序设计与调试

#include

#include

#include"lcd.h"

#define uint unsigned int

#define uchar unsigned char

uchar num,TEMP;

bit flag=1;

uchar keynum;

sbit K1=P3^0;

sbit K2=P3^1;

sbit K3=P3^2;

void delay(uint x)

{

uchar i;

while(x--) for(i=0;i<120;i++);

}

uchar keypress()

{

if(P3!=0XFF)

{

delay(5);

num=0;

if(P3!=0XFF)

{

TEMP=P3;

switch(TEMP)

{

case 0xfe:num=1;break;

case 0xfd:num=2;break;

}

while(TEMP==0XFF);

}

return num;

}

}

void main()

{

uchar i;

P0=P3=0XFF;

IT0=1;

EX0=1;EA=1;

Initialize_LCD();

display_string(0,0," gaoqinag");

display_string(0,1,"201012301043 ");

while(flag)

{

keypress();

if(num==1)

{

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

{

Write_LCD_Command(0x1c);

display_string(16-i,0," gaoqiang");

display_string(16-i,1,"201012301043");

display_string(16+i,0," gaoqinag");

display_string(16+i,1,"201012301043");

display_string(0x0f,0," gaoqinag");

display_string(0x0f,1,"201012301043");

delay(20);

}

display_string(0x0f,0," gaoqinag");

display_string(0x0f,1,"201012301043");

delay(20);

if(num==2){Write_LCD_Command(0x01);break;}

}

if(num==2)

{

display_string(0,0,"gaoqinag");

delay(100);

display_string(0,1,"201012301043");

delay(100);

display_string(0,1,"gaoqinag");

delay(100);

display_string(0,0,"201012301043");

delay(100);

if(num==1) {Write_LCD_Command(0x01);break;}

}

}

}

void exter0()interrupt 0

{

flag=~flag;

}

(3)实验中遇到的问题:

1.编写的实验程序不能正确显示学号,输入学号时不能加入空格,不然液晶显示屏幕显示不开!

六、实验总结

1.掌握了proteus基本的操作方法.

2.做实验时要仔细,要按步骤来,,避免人为错误。

3.做实验要独立完成,学会了液晶显示屏幕的控制程序.

七、对实验课的建议

做实验应多给学生时间自主练习,让同学们对于实验有更深刻的理解,从实践中找出问题,解决问题.