资源描述
课程名称 单片机技术基础 实验名称 1602液晶屏显示实验
实验目的、要求
1、学习C51编程
2、掌握如何控制1602液晶显示屏
3、理解1602液晶屏的工作原理
4、掌据如何编写1602液晶显示屏的应用程序
实验原理
1602液晶屏分为2行16列,只能显示英文字符。对1602的编程比较简单,分为写控制字和写数据。控制字主要是决定1602的工作方式,比如对1602进行清屏、光标是否显示、光标移动方向之类的操作。数据是要显示字符的ASCII码。在写ASCII码之前还要写一个决定字符显示位置的控制字。本实验是在1602液晶屏上显示字符串“Welcome to MCU”。
主要设备、器材
计算机一台 KEIL集成开发环境 普中科技单片机实验板一个
实验步骤及原始数据记录
1)启动Keil C51软件。
2)新建一个工程文件LCD_1602.uv2,选择芯片为AT89S52。
3)新建一个C51文件LCD.c,单击左上角的New File,在编辑框里输入程序。
4)完成代码的输入后,单击SAVE按钮,注意选择保存的路径,并输入保存的文件名LCD.c,然后单击【保存】按钮。
5)保存好后把此文件加入到工程中(用鼠标在Source Groupl上单击右键,然后再单击Add Files to Group‘Source Groupl’)。
5)选择要加入的文件,找到LCD. C后,单击【Add】按钮,然后单击【close】按钮。
6)到此便完成了工程项目的建立以及文件加入工程,现在开始编译工程,若在output window的build页看到0 Error(s)表示编译通过,可以进行程序的仿真运行。
7) 根据电路图将1602液晶屏安装到单片机上。开启单片机,将程序下载到单片机,观测运行结果。
1602液晶屏将会显示字符串“Welcome to MCU”。
实验程序:
#include<reg52.h>
sbit rs= P2^6;
sbit rw= P2^5;
sbit lcden= P2^7;
//液晶屏蔽显示的字符串
unsigned char code table[]={"Welcome to MCU "};
void delay(unsigned char m) //延时函数
{
unsigned char i;
for(;m>0;m--)
for(i=0;i<110;i++);
}
void write_com(unsigned char com)//写控制字函数
{
rw=0;
rs=0; //写指令
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void write_data(unsigned char date) //写显示字符的函数
{
rw=0;
rs=1; //写数据
P0=date;
delay(10);
lcden=1;
delay(10);
lcden=0;
}
void init() //1602液晶屏初始化函数
{
lcden=0;
//设置1602为2行16列,5乘7点阵,8位数据接口
write_com(0x38);
write_com(0x0c); //设置为开显示,不显示光标
write_com(0x06); //写一个字符之后,光标自动后移一位
write_com(0x01); //清屏指令
}
void main()
{
unsigned char i;
init();
write_com(0x80+0x40); //决定显示字符的地址为第二行第一列
while(table[i]!='\0') //判断字符串是否结束
{
write_data(table[i]); //写显示字符的ASCII码
i++;
}
while(1); //程序停止
展开阅读全文