电子与信息工程学院
课程设计报告
开课学期:
2018-2019 学年第一学期
课程名称:
单片机原理课程设计
项目名称: 基于 89C51 单片机的 LCD 显示屏
版电子时钟设计与仿真实现
电子信息科学与技术
电信 16 本 1
1609108041
李建
专
班
学
姓
业:
级:
号:
名:
合 作 者:
李建,孙朋
指导教师:
刘明华
2018 年 12 月 15 日
目
录
1 课程设计任务和要求 ..................................................... 1
1.1 设计任务.....................................................................................................................1
1.2 设计要求.....................................................................................................................1
2 设计方案 ............................................................... 1
2.1 工作原理.....................................................................................................................1
2.2 单片机系统方框图.....................................................................................................1
3 电路设计和软件设计 ..................................................... 2
3.1 电路设计.....................................................................................................................2
3.2 程序设计流程.............................................................................................................4
3.3 程序清单.....................................................................................................................5
4 电路仿真及结果分析 .................................................... 12
4.1 电路仿真...................................................................................................................12
4.2 结果分析...................................................................................................................14
5 课程设计小结与心得体会 ................................................ 14
6 成绩评定 .............................................................. 17
1 课程设计任务和要求
1.1 设计任务
利用单片机及 LCD1602 做成电子时钟显示,通过对单片机编程控制电子时钟计数,
对 LCD 接口编程达到调时功能,并能够完成基本时钟显示,符合实际设计技术指标要求。
1.2 设计要求
(1)使用字符型 LCD 显示器显示当前时间;
(2)显示格式为“时时:分分:秒秒”;
(3) 用 3 个功能键操作来设置当前时间;
(4)当前时间的设置设置搭配报警器使用。
2 设计方案
2.1 工作原理
该电路设计由单片机最小电路、按键控制及报警部分、显示模块组成。将 LCD 数据
IO 接口从 P2 引出,可以实现命令、数据的写入和读取,按键控制可以对当前时间设置
达到实际电子钟功能;通过中断计数功能设置定时时间,合理的分离时间数据实现钟表
计数;将这些数据传送给 LCD1602 显示,首先对 LCD 编程写入命令或控制指令,然后在
该基础上写入该数据。
2.2 单片机系统方框图
根据电子钟电路的工作原理,采用 89C51 单片机构成的系统原理框图如图 2-1 所示。
图 2-1 系统原理框图
1
3 电路设计和软件设计
3.1 电路设计
电子时钟硬件电路如图 3-1 所示。整个电路由以下几部分组成:按键电路、复位电
路、蜂鸣器、LCD 显示电路组成。
图 3-1 电路原理图
在本系统中,采用中断计时功能实现电子钟计时在 LCD 显示,中断扫描时间为 50ms。
在本电路中,采用 LCD1602 显示,1602 所对应指令如表 3-1 所示。1602 接口与单片机端
口的连接方式为:P2 口连接 1602 的 D0-D7 口,P1 口的 3 位分别来控制单片机的调时选
择,可以实现时间设置,P1^3 接口连接蜂鸣器输出。如图 3-1 所示。
(1)晶振电路:采用 12Mhz 晶振,3UF 电容。可提高计数的精确度。12M 晶振和两个电
容组成晶体振荡器。等效为一个并联谐振回路,真当频率为晶振谐振频率。晶体旁边两
个电容接地,为电容三点式电路分压电容,接地点即为分压点参考点;
(2)复位电路:采用手动复位和自动复位组合,MCS-5l 系列单片机的复位引脚 RST(全
称 RESET)出现 2 个机器周期以上的高电平时,单片机就执行复位操作。如果 RST 持续为
高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:
上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。上电后,
保持 RST 一段高电平时间
(3)1602 显示电路:液晶模块内部的控制器共有 11 条控制指令,如表 3-1 所示.关于
E=H 脉冲——开始时初始化 E 为 0,然后置 E 为 1,再清 0 读取状态字时,注意 D7 位,
2
D7=1,禁止读写操作;D7=0,允许读写操作;所以对控制器每次进行读写操作前,必须
进行读写检测。(即后面的读忙子程序);其中显示地址 RAM 的对应缓冲区如图 3-2 所示。
LCD1602 程序编写流程:LCD1602 在了解完以上信息后便可以编写,这里我们把程
序分为以下几步:
(1)定义 LCD1602 管脚,包括 RS,R/W,E。这里定义是指这些管脚分别接在单片机哪些
I/O 口上。示例如下:
sbit EN=P3^4;
sbit RS=P3^5;
sbit RW=P3^6;
(2)显示初始化,在这一步进行初始化及设置显示模式等操作,包括以下步骤:
设置显示方式、延时、清理显示缓存、设置显示模式
通常推荐的初始化过程如下:
延时 15ms
写指令 38H
延时 5ms
写指令 38H
延时 5ms
写指令 38H
延时 5ms
注:以上写 38H 指令可以看情况省略 1~2 步(以上都不检测忙信号);
(以下都要检测忙信号)
写指令 38H
写指令 08H 关闭显示
写指令 01H 显示清屏
写指令 06H 光标移动设置
写指令 0cH 显示开及光标设置
(3)设置显示地址(写显示字符的位置)。
(4)写显示字符的数据。
3
图 3-2 LCD1602 内部 RAM 结构
3.2 程序设计流程
程序流程图如图 3-3 所示。
图 3-3 程序流程图
4