电子时钟设计实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机电子时钟设计报告

一、设计任务

本次课程设计的电子时钟电路,是基于单片机STC89C52、时钟芯片和液晶显示,运用C语言编程实现。电子时钟可以显示日期的年、月、日和时间的时、分、秒,具有复位功能。

二、系统硬件设备及芯片简介

数字电子钟系统设计已经成熟,但是目前系统设计时基本都是采用LED

作为显示电路,造成硬件电路复杂、功耗高、产品体积庞大等特点;液晶显示模块由于具有低功耗、寿命长、体积小、显示内容丰富、价格低、接口控制方便等优点,因此在各类电子产品中被极广泛地推广和应用。字符型液晶显示模块是一类专门用于显示字母、数字、符号等点阵式液晶显示模块。本系统设计采用字符型液品显示模块LCD1602 作为显示器件,这样不仅简化了系统的硬件设计,而且极大地提高了系统的可靠性。

1 LCD1602简介

字符型液晶显示模块LCD1602已经是单片机应用设计中最常用的信息显示器件。LCD1602可以显示两行,每行16个字符,采用+5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比。

2 LCD1602功能介绍

2.1 引脚功能

LCD1602采用标准14脚(无背光)或16脚(带背光)接

口,各引脚功能见表1。

表1 引脚功能

2.2 LCD1602读写指令

LCD1602读写指令较多且较复杂,具体使用可以查相关资料,下面仅列

出最常用的的一些命令:①写指令38H:显示模式设置;②写指令08H:

显示关闭;③写指令01H:显示清屏;④写指令06H:显示光标移动设

置;⑤写指令0CH:显示开及光标设置。

2.3 LCD1602 读写操作时序

LCD1602 读写操作时序总体上来说是比较简单的,掌握其有两种方法:一种是只看时序图,另外一种方法是直接记忆和总结读写时电平高低和变化。很显然第二种更简单和直接,下面就列出典型读写的时序要求,以方便编写程序。

(1)读状态:输入:RS=L,RW=H,E=H。

输出:D0-D7=状态字。

(2)写指令:输入: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 数字电子钟硬件电路

三、设计电路图及程序

1.电路图如下

原理图如下:

2.程序

共有四段程序,用Keil仿真是程序列表如图

Regx52.h程序为:

#ifndef __AT89X52_H__

#define __AT89X52_H__

sfr P0 = 0x80;

sfr SP = 0x81; sfr DPL = 0x82; sfr DPH = 0x83; sfr PCON = 0x87; sfr TCON = 0x88; sfr TMOD = 0x89; sfr TL0 = 0x8A;

sfr TL1 = 0x8B;

sfr TH0 = 0x8C; sfr TH1 = 0x8D; sfr P1 = 0x90;

sfr SCON = 0x98; sfr SBUF = 0x99; sfr P2 = 0xA0; sfr IE = 0xA8;

sfr P3 = 0xB0; sfr IP = 0xB8;

sfr T2CON = 0xC8;

sfr T2MOD = 0xC9;

sfr RCAP2L = 0xCA;

sfr RCAP2H = 0xCB;

sfr TL2 = 0xCC;

sfr TH2 = 0xCD;

sfr PSW = 0xD0;

sfr ACC = 0xE0;

sfr B = 0xF0;

/*------------------------------------------------ P0 Bit Registers

------------------------------------------------*/ sbit P0_0 = 0x80;

sbit P0_1 = 0x81;

sbit P0_2 = 0x82;

sbit P0_3 = 0x83;

sbit P0_4 = 0x84;

sbit P0_5 = 0x85;

sbit P0_6 = 0x86;

sbit P0_7 = 0x87;

/*------------------------------------------------

相关文档
最新文档