最新最详细的单片机课程设计基于单片机控制的1602液晶显示.docx

上传人:b****8 文档编号:23678216 上传时间:2023-05-19 格式:DOCX 页数:13 大小:382.51KB
下载 相关 举报
最新最详细的单片机课程设计基于单片机控制的1602液晶显示.docx_第1页
第1页 / 共13页
最新最详细的单片机课程设计基于单片机控制的1602液晶显示.docx_第2页
第2页 / 共13页
最新最详细的单片机课程设计基于单片机控制的1602液晶显示.docx_第3页
第3页 / 共13页
最新最详细的单片机课程设计基于单片机控制的1602液晶显示.docx_第4页
第4页 / 共13页
最新最详细的单片机课程设计基于单片机控制的1602液晶显示.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

最新最详细的单片机课程设计基于单片机控制的1602液晶显示.docx

《最新最详细的单片机课程设计基于单片机控制的1602液晶显示.docx》由会员分享,可在线阅读,更多相关《最新最详细的单片机课程设计基于单片机控制的1602液晶显示.docx(13页珍藏版)》请在冰豆网上搜索。

最新最详细的单片机课程设计基于单片机控制的1602液晶显示.docx

最新最详细的单片机课程设计基于单片机控制的1602液晶显示

单片机原理及系统课程设计

专业:

自动控制

班级:

控XX

姓名:

XX

学号:

XXX

指导教师:

XXX

评语:

 

平时(40)

修改(30)

报告(30)

总成绩

 

兰州交通大学自动化与电气工程学院

2012年7月1日

基于单片机控制的1602液晶显示

1.引言

单片机作为微型计算机发展的一个重要的分支,以其高可靠性、高性价比、低电压、低功耗的优势,赢得了广泛的应用。

单片机技术是一门技术性、应用性很强的学科,在目前和今后相当长的一段时间仍有着广泛的应用。

实验教学作为其极为重要的组成环节,在硬件扩展、接口应用、编程方法以及程序调试等方面,都起到重要作用。

作为学习自动控制专业的学生,单凭课堂理论课学习,不切实认真的进行实践仿真,势必出现理论与实践脱节、学习与应用脱节等局面。

1.1课程设计的思想

此次《单片机原理及系统》课程设计,选择的是利用1602液晶显示,利用AT89C52芯片实现一串滚动字符显示,本次设计使用的1602液晶为5V电压驱动,带背光,可显示两行,每行16个字符,不能显示汉字,内置128个字符的ASCⅡ字符集字库,只有并行接口,无串行接口。

通过C语言编程经keil软件生成可以在proteus软件中仿真装载的.hex文件,进而通过proteus软件进行硬件电路连接以及软件的仿真,利用LM016L显示器替代1602型液晶显示器,最终得出液晶显示。

1.2课程设计的目的

此次程设计是在学习必修课程《单片机原理与系统设计》之后,为加强学生对单片机系统设计和应用能力的培养而开设的综合设计训练环节。

本课程设计应结合《单片机原理与系统设计》课程的基础理论,重点强调实际应用技能训练,包括单片机系统设计的软件和硬件两部分。

其课程设计任务是使学生通过应用单片机系统设计的基本理论,基本知识与基本技能,掌握单片机应用系统各主要环节的设计、调试方法,初步掌握并具备应用单片机进行设备技术改造和产品开发的能力,培养学生的创新意识,提高学生的动手能力和分析问题、解决问题的能力。

1.3课程设计要求

设计要求:

采用单片机控制,通过C语言编程实现在1602液晶的第一行显示”WELCOMETOZDH!

”,然后在第二行显示”K092XWEI”然,定格在屏幕上。

2.设计方案及原理

2.11602型液晶简介

2.1.11602引脚功能

LCD1602引脚如图2.1所示:

图2.1LCD1602引脚图

1602液晶显示屏各端口信号功能如表2.1所示:

表2.11602液晶接口信号说明

编号

符号

引脚说明

编号

符号

引脚说明

1

Vss

电源地

9

D2

数据口

2

Vdd

电源正极

10

D3

数据口

3

Vee

液晶显示对比度调节端

11

D4

数据口

4

RS

数据/指令端(H/L)

12

D5

数据口

5

R/W

读写选择端(H/L)

13

D6

数据口

6

E

使能信号

14

D7

数据口

7

D0

数据口

15

BLA

背光电源正极

8

D1

数据口

16

BLK

背光电源负极

2.21062型液晶初始化设置

使用该液晶显示屏时,应首先对其进行初始化设置。

各初始化设置指令码及功能,如表2.2所示:

表2.2显示开/关及光标设置

指令码

功能

0

0

0

0

1

D

C

B

D=1开显示;D=0关显示

0

0

0

0

1

D

C

B

C=1显示光标;C=0不显示光标

0

0

0

0

1

D

C

B

B=1光标闪烁;B=0光标不显示

0

0

0

0

0

1

N

1

N=1当读或写一个字符后地址光标加1

0

0

0

0

0

1

N

1

N=0当读或写一个字符后地址光标加1

0

0

0

0

0

0

0

1

显示清屏:

数据指针、所有显示清零

0

0

1

1

1

0

0

0

16×2显示、5×7点阵、8位数据接口

2.31602液晶写操作时序流程

(1)通过RS确定是写数据还是写指令。

写指令包括使液晶的光标显示/不显示、光标闪烁/不闪烁、需/不需要移屏、在什么地方显示等。

(2)读/写控制端设为写模式,即低电平。

(3)将数据或指令送达数据线上。

(4)给E一个高脉冲将数据送入液晶控制器,完成操作。

2.4硬件接口设计方案

(1)液晶1、2端为电源;15、16为背光电源(在仿真中可不用)。

(2)液晶3端为液晶对比度调节端,通过一个10千欧电位器接地来调节对比度。

(3)液晶4端为向液晶控制器写数据或写指令选择端,接单片机的P3.5口。

(4)液晶5端为读/写选择端,因为我们不从液晶读取任何数据,只向其写入指令或显示数据,因此此端始终选择为写状态,即为低电平接地。

(5)液晶6端为使能信号,是操作是必需的信号,接单片机的P3.4口。

(6)液晶7~14端口为数据或指令的输入输出口,接单片机P0的8个接口。

3.硬件设计

根据如上分析,在proteus软件环境中搭建硬件电路,采用AT89C52型单片机,LM016L显示器替代1602型液晶显示器。

硬件连接方式(两种)如图3.1、3.2所示:

图3.1系统硬件电路图连接方式一

图3.2系统硬件电路图连接方式二

两个连接图皆可实现此次仿真。

4.软件设计

4.1源程序清单

见附录1

4.2源程序调试结果

在keil软件中键入4.1中的源程序并给予调试。

调试结果如图4.1所示:

图4.1源程序调试结果

由图可知源程序语法无误,并生成了.hex的文件,为在proteus软件中仿真做准备。

4.3仿真结果

在proteus软件中仿真,屏幕上会出现如下两行字符“WELCOMETOZDH!

”和“K092XWEI”。

如图4.2所示:

图4.2最终效果图

继而可知仿真成功,软硬件设计合理。

5.总结心得

经过一周的努力,本次课程设计已经接近尾声,由于经验的匮乏,有许多考虑不周全的地方,如果没有导师的督促指导,以及一起工作的同学们的支持,想要完成此次课程设计是存在很大难度的。

在这里,我要感谢我的指导老师和给予我帮助的同学们,没有您们的悉心开导和帮助,我很难按时完成此次课程设计。

单片机是自动控制专业的一门重点必修课,对于学习控制的我们来说,掌握如何应用单片机就变得尤为重要了。

这次的实践课是对上学期所学的单片机理论课的一次巩固与加深,同时也是动手能力的一种历练。

实践过程中,虽然没有实物作为参考与搭建,但通过运用keil及proteus两个软件进行实验的电路搭建与仿真,也得到了预期效果。

在操作过程中,我也遇到了不少麻烦。

遇到困难我会及时的向老师同学请教、翻资料或上网搜搜,进而解决问题,以使我的实验顺利的进行,虽然花费了大量的时间,但是记忆深刻。

单片机是我们的控制大脑,因此学好﹑学精这门课程显得尤为重要。

我会从此次设计中认真总结,提高自己在本门学科上的理论知识和实践上的应用。

6.参考文献

[1]李华.单片机原理及应用.兰州:

兰州大学出版社,2001

[2]郭天祥.新概念51单片机C语言教程.北京:

电子工业出版社,2011

 

附录

附录1源程序清单

#include

#defineuintunsignedint//预定义一下

#defineucharunsignedchar

sbitlcden=P3^4;//液晶使能端

sbitlcdrs=P3^5;//液晶数据命令选择端

sbitdula=P2^6;//申明U1锁存器的锁存端

sbitwela=P2^7;//申明U2锁存器的锁存端

ucharnum;

uchartable[]="WELCOMETOZDH!

";//要显示的内容1放入数组table

uchartable1[]="K092XWEI";//要显示的内容2放入数组table1

voiddelay(uintx)//延时子程序

{

uinti,j;

for(i=x;i>0;i--)

for(j=110;j>0;j--);}

voidwrite_com(ucharcom)//写命令子程序

{

lcdrs=0;//选择指令寄存器

P0=com;//把命令字送入P0

delay(5);//延时,让1602准备接收数据

lcden=1;//使能线电平变化,命令送入1602的16位数据口

delay(5);//延时,让1602准备接收数据

lcden=0;//使能线电平变化,命令送入1602的16位数据口

}

voidwrite_data(uchardate)//写数据子程序

{

lcdrs=1;//选择数据寄存器

P0=date;//把要显示的数据送入P0

delay(5);//延时,让1602准备接收数据

lcden=1;//使能线电平变化,数据送入1602的16位数据口

delay(5);//延时,让1602准备接收数据

lcden=0;//使能线电平变化,数据送入1602的16位数据口

}

voidinit()//液晶显示屏初始化子程序

{

dula=0;

wela=0;

lcden=0;

write_com(0x38);//设置16×2显示,5×7点阵,16位数据接口

write_com(0x0c);//设置开显示,不显示光标

write_com(0x06);//写一个字符后地址指针加1

write_com(0x01);//显示清零

}

voidmain()//主函数

{

init();//液晶初始化

write_com(0x80);//显示地址设为80H(即00H)

for(num=0;num<16;num++)//将table[]中的数据依次写入1602显示

{

write_data(table[num]);

delay(5);

}

write_com(0x80+0x40);//重新设定显示地址为0xc0,即下排第1位

for(num=0;num<8;num++)//将table1[]中的数据依次写入1602显示

{

write_data(table1[num]);

delay(5);

}

while

(1);//动态停机

}

附录2主程序流程图

附图2.1主程序流程图

附录3两种不同连线方式下的仿真效果图

附图3.1连线方式一情况下的仿真效果图

附图3.2连线方式二情况下的仿真效果图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 电力水利

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1