单片机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)实验电路
(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.做实验要独立完成,学会了液晶显示屏幕的控制程序.
七、对实验课的建议
做实验应多给学生时间自主练习,让同学们对于实验有更深刻的理解,从实践中找出问题,解决问题.
-
独角兽真的存在吗?独角兽的十大来历和传说
导语:有没有想过独角兽是真的?这只强大的野兽只是个神话吗?古往今来,有很多人在问世界上真的有独角兽吗?独角兽有什么特殊含义?之前小编为大家讲解过世上有龙的十大证据,接下来呢就为大家揭秘独角兽的十大来历和传说,感兴趣的不妨一起往下看!独角兽的十大来历和传...
-
电脑没有声音怎么调出来
(01)电脑没有声音可能是因为多种原因,例如音量设置为静音、音频设备未连接、驱动程序问题等。下面是一些可能的解决方案:1.检查音量设置:在任务栏右侧找到音量图标,单击并将鼠标指针悬停在音量调节器上。(02)然后尝试调整音量,看看是否有声音输出。2.检查音频设备:确保耳...
-
一个比特币值多少人民币?2019突破55285元(最高137177元)
导语:比特币是一种加密的虚拟数字货币,在2017年12月17日曾达到历史最高价19850美元,但是在2017年9月4日,央行表示禁止虚拟货币的交易,并且比特币在中国是没有法律上的货币地位,不过据国外报价表明,在2019年5月14日,比特币的价格已经再创新高,突破了8000美元,也就是人民币...
-
酒能寄快递吗
(01)酒在寄快递方面需要考虑以下因素:1.国家法律法规:不同国家对于寄送酒类的规定存在差异,一些国家可能允许寄送酒类,但也有些国家可能禁止或限制寄送酒类。(02)在寄送酒类之前,需要先了解目的地国家的法律法规和邮寄政策。2.邮寄公司政策:邮寄公司通常有自己的规定和限...