单片机应用技术课程报告

实验名称

1602LCD液晶显示屏的显示

实验时间

学生姓名

实验地点

钉钉群线上

同组人员

专业班级

1、实验目的

1、会使用单片机4个并行I/O端口连接外部设备并构建单片机最小应用系统。

2、能使用工具软件绘制单片机硬件原理图、能编写简LCD控制程序。

3、会使用LCD1602显示指定的内容。

2、任务设计要求

采用STC89C52单片机构建最小系统,在I/O口外接1602,编程实现在1602字符型

LCD显示:实现字符的静态和动态显示。显示字符为第一行:“I am xx”,第二行:“Hou are you”。

3、总体设计方案

根据实验任务要求,通过功能分析,设计的系统总体方案如图所示。

并行接口

AT89C51单片机

电源

时钟电路

复位电路

实现led显示屏显示

4、硬件电路设计

lcd1602显示屏的应用场景(1602LCD液晶显示屏的显示)(1)

5、软件程序设计

(1)、程序设计思路(流程图绘制)

lcd1602显示屏的应用场景(1602LCD液晶显示屏的显示)(2)

lcd1602显示屏的应用场景(1602LCD液晶显示屏的显示)(3)

结束

lcd1602显示屏的应用场景(1602LCD液晶显示屏的显示)(4)

结束

lcd1602显示屏的应用场景(1602LCD液晶显示屏的显示)(5)

结束

(2)程序清单

#include<reg51.h>

#include<intrins.h>//包含_nop_()空函数指令的头文件

#define uchar unsigned char

#define uint unsigned int

#define out P0

sbit RS=P2^0;//位变量

sbit RW=P2^1;//位变量

sbit E=P2^2;//位变量

void lcd_ini();//LCD初始化函数

void check_busy();//检查忙标志函数

void w_command(uchar com);//写命令函数

void w_data(uchar dat);//写数据函数

void string(uchar ad,uchar*s);

void lcd_busy(void);

void delay(uint);

void lcd_ini();

void main(void)//主函数

{

lcd_ini();//调用对LCD初始化函数

while(1)

{

string(0x80,"I am dujingjing");//显示的第1行字符串

string(0xC2,"HOW are you");//显示的第2行字符串

delay(100);//延时

w_command(0x01);//写入清屏命令

delay(100);//延时

}

}

void delay(uint j)//1ms延时子程序

{

uchar i=250;

for(;j>0;j--)

{

while(--i);

i=249;

while(--i);

i=250;

}

}

void check_busy(void)//检查忙标志函数函数检测P0.7脚电平,即检测忙

{

uchar dt;

do

{

dt=0xff;

E=0;

RS=0;

RW=1;

E=1;

dt=out;

}

while(dt&0x80);

E=0;

}

void w_command(uchar com)//写命令函数

{

check_busy();

E=0;

RS=0;

RW=0;

out=com;

E=1;

_nop_();

E=0;

delay(1);

}

void w_data(uchar dat)//写数据函数

{

check_busy();

E=0;

RS=1;

RW=0;

out=dat;

E=1;

_nop_();

E=0;

delay(1);

}

void lcd_ini()//液晶显示器初始化函数

{

w_command(0x38);//写入命令0x38:8位两行显示,5×7点阵字符

w_command(0x0C);//写入命令0x0C:开整体显示,光标关,无黑块

w_command(0x06);//写入命令0x06:光标右移

w_command(0x01);//写入命令0x01:清屏

delay(1);

}

void string(uchar ad,uchar*s)//输出显示字符串的函数

{

w_command(ad);

while(*s>0)

{

w_data(*s );//输出字符串,且指针增1

delay(100);

}

}

  1. 性能指标测试及结果分析

lcd1602显示屏的应用场景(1602LCD液晶显示屏的显示)(6)

7、项目总结

本次实验了解到1206液晶的储存器结构以及其基本的操作时序。了解到在指令设置中如何显示开、关及光标设置。地址设置:第一行地址从0x80开始,第二行地址从0xC0开始。知识要慢慢积累,实践更为重要。在做实验的过程中会慢慢发现不足之处,强化练习,以减少错误的出现,使实验顺利完成。

8、项目设计报告成绩

指导教师签字:

年 月 日

,