.
..
单片机电子时钟设计报告
设计任务
本次课程设计的电子时钟电路,是基于单片机STC89C52、时钟芯片和液晶显示,运用C语言编程实现。电子时钟可以显示日期的年、月、日和时间的时、分、秒,具有复位功能。
系统硬件设备及芯片简介
数字电子钟系统设计已经成熟,但是目前系统设计时基本 都是采用 LED 作为显示电路,造成硬件电路复杂、功耗高、产 品体积庞大等特点;液晶显示模块由于具有低功耗、寿命长、 体积小、显示内容丰富、价格低、接口控制方便等优点,因此 在各类电子产品中被极广泛地推广和应用。字符型液晶显示模 块是一类专门用于显示字母、数字、符号等点阵式液晶显示模 块。本系统设计采用字符型液品显示模块 LCD1602 作为显示器 件,这样不仅简化了系统的硬件设计,而且极大地提高了系统 的可靠性。
1LCD1602 简介
字符型液晶显示模块 LCD1602 已经是单片机应用设计中 最常用的信息显示器件。LCD1602 可以显示两行,每行 16 个 字符,采用+5V 电源供电,外围电路配置简单,价格便宜,具 有很高的性价比。
2LCD1602 功能介绍
2.1 引脚功能
LCD1602 采用标准 14 脚(无背光)或 16 脚(带背光)接
口,各引脚功能见表 1。
表 1 引脚功能
编号
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
Data I/O
2
VDD
电源正极
10
D3
Data I/O
3
VL
液晶显示偏压信号
11
D4
Data I/O
4
RS
数据/命令选择端
12
D5
Data I/O
5
R/W
读/写选择端
13
D6
Data I/O
6
E
使能信号
14
D7
Data I/O
7
D0
Data I/O
15
BLA
背光源正极
8
D1
Data I/O
16
BLK
背光源负极
2.2 LCD1602 读写指令
LCD1602 读写指令较多且较复杂,具体使用可以查相关资料,下面仅列出最常用的的一些命令:①写指令 38H:显示模式设置;②写指令 08H:显示关闭;③写指令 01H:显示清屏;④写指令 06H:显示光标移动设置;⑤写指令 0CH:显示开及光标设置。
2.3 LCD1602 读写操作时序
LCD1602 读写操作时序总体上来说是比较简单的,掌握其有两种方法:一种是只看时序图,另外一种方法是直接记忆和总结读写时电平高低和变化。很显然第二种更简单和直接,下面就列出典型读写的时序要求,以方便编写程序。
读状态:输入:RS=L,RW=H,E=H。
输出:D0-D7=状态字。
写指令:输入:RS=L,RW=L,D0-D7=指令码,E=上升沿。
输出:无。
(3)读数据:输入:RS=H,RW=H,E=H。
输出:D0-D7=数据。
(4)写 数 据:输入:RS=H,RW=L,D0-D7=数据,E=上升沿。
输出:无。
2.4 LCD1602 显示方法
液晶显示模块是慢速显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平(即不忙),否则该指令失效。显示字符时,要先输入显示字符地址,即告诉模块在哪里显示字符。因为写入显示地址时要求最高位 D7 恒定为高电平,所以实际写入的数据应该是要显示地址值加上 80H,即将最高位 D7 置为 1。在使用此显示模块时一般要对其进行初始化,设置所需要的显示参数。液晶模块在显示字符时光标是自动右移的,无需人工干预。每次输入指令前,都要判断液晶模块是否处于忙状态。
3数字电子钟硬件电路设计
硬件电路系统设计主要由单片机最小系统、输入电路、输 出电路等组成。单片机最小系统同所有单片机系统,在此不作 讨论。输入电路主要时间调节电路,为简化系统我们使两个外 部中断来调节“时”和“分”数值,即将 INT0、INT1 分别接 两个按钮。LCD 显示器和单片机接口电路可以采用总线方式或 者是模拟口线方式,本设计采用第二种方式,即以单片机 I/O 模拟控制信号。具体电路见图 1,P0 口作为数据,并接上拉电 阻提升电压,P2.0 接 LCD 的 RS 端、P2.1 接 LCD 的 R/W 端、 P2.2 接 LCD 的 E 端,“分”调节按钮接 INT0,“时”调节按钮 接 INT1,图 1 省略了电源和单片机最小系统电路。
图 1 数字电子钟硬件电路
设计电路图及程序
电路图如下
原理图如下:
程序
共有四段程序,用Keil仿真是程序列表如图
Regx52.h程序为:
#ifndef __AT89X52_H__
#define __AT89X52_H__
sfr P0 = 0x80;
sfr SP = 0x81;
sfr DPL