文档视界 最新最全的文档下载
当前位置:文档视界 › 基于LCD1602电子时钟

基于LCD1602电子时钟

基于LCD1602电子时钟
基于LCD1602电子时钟

信息与电子工程学院课程设计报告

录目

一、课程设计概

述 (3)

1.1 课程设计背

景 (3)

1.2 课程设计内

容 (3)

1.3 课程设计技术指

标 (3)

二、方案的选择及确

定 (3)

2.1 单片机芯片的选

择 (3)

2.2 显示模块的选

择 (4)

2.3 实时时间计算模块的选择.4

2.4 实时环境温度采集模块选

择 (4)

2.5 电路设计最终方案决

定 (5)

三、系统硬件设

计 (5)

3.1 主控模

块 (5)

3.2LCD显示模块设

计 (6)

3.3 时间计算模块设

计 (6)

3.4 实时环境温度检测模

块 (7)

3.5 报警模

块 (7)

3.6 设置模

块 (8)

3.7 电源接口部

分 (8)

四、系统软件设

计 (8)

4.1 主函

数 (8)

4.2 设置模

块 (9)

4.31602 液晶

屏 (10)

4.4 软件原理

图 (11)

五、系统调试过

程 (11)

5.1 软件调

试 (11)

5.2 硬件调

试 (12)

六、结

论 ..................................

12

七、遇到的问题及解决方法和总

结 (12)

7.1 硬件方

面 (12)

7.2 软件方

面 (13)

7.3 总

结 (13)

1

八、参考文

献 (13)

九、附

录 (14)

课程设计概述

1.1 课程设计背景随着微电子技术的高速发展,单片机在国民经济的个人领域得到了广泛的运用。单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。

而电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的题目。因为它有很好的开放性和可发挥性,因此对作者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。

1.2 课程设计内容

利用单片机、时钟芯片DS1302温度传感器DS18B20 16O2液晶屏等实现日期、时间、温度的显示,即是一个电子时钟。具体的功能如下:

(1)通过DS1302能够准确的计时,时间可调并在液晶屏上显示出来。

(2)通过DS18B2C能够实时、准确的检测当前环境温度。

(3)利用程序控制单片机实现闹钟功能。

1.3 课程设计技术指标

(1)LCD液晶每行刷新显示。

(2)实时时钟可提供年、月、日、时、分和秒,每月的天数可以自动调整,且具有闰年补偿功能。

(3)时间是24小时制;年限2000年~2099年。

(4)测量温度范围为0 C ~+ 60 C,误差为土0.5 ° C。

二、方案的选择及确定

2.1 单片机芯片的选择

方案(1):采用AT89S51芯片作为硬件核心

该芯片采用Flash ROM内部具有4KBROM存储空间,而且与MCS-5係列单片机完全兼容, 但是需要通过下载板来下载,比较不方便。

方案(2):采用传统的STC89C52R芯片作为硬件核心

3

该芯片具有8KB在线系统可编程Flash存储器。STC89C52R使用经典的MCS-51 内核,但做了很多的改进使得芯片具有传统51 单片机不具备的功能,并且可直接使用串口下载。

因AT89S51需要通过下载板下载,而STC89C52R可直接使用串口下载,所以选择采用方案(2)STC89C52R作为主控制系统.

2.2 显示模块的选择

方案(1): 8 段数码管显示

8 段数码管是利用发光二极管的特性组合而成数字显示器件,通过控制相应的二极管的状态显示相应的数字。采用数码管显示, 数码管亮度高、体积小、重量轻,但其显示信息简单、有限,操作比较液晶显示来说略显繁琐。

方案(2): 1 602液晶屏显示

1602 液晶也叫1602 字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块采用液晶显示。液晶显示功耗低,轻便防震。由于设计显示信息比较多,占用的系统资源少,操作方便。

因本设计显示的字符较多,1602LCD可以显示32个字符,而8段数码管显示的字符较少,且操作比液晶显示略显繁琐,所以采用方案(2)1602液晶屏组成本设计的显示模块。

2.3 实时时间计算模块的选择

方案(1):采用STC89C52R芯片

STC89C52R单片机内部带有定时/计数功能,此定时功能是通过对外部晶振的脉冲进行计数,从而达到计时功能,只要使用12MHZ实现零误差的计时,因此可以利用此功能实现计时,但因为只有单一的计时功能,要实现“电子时钟”的功能需要较复杂的程序,时间计算逻辑较困难,所以使用不便。

方案(2):采用DS1302芯片

DS1302是美国DALLAS^司推出的一种高性能、低功耗、带RAM勺实时时钟芯片。该芯片采用3线串行接口方式,可提供年月日、星期、时分秒等时间信息,并可根据月份和闰年的情况自动调整月份的结束日期。内部带有31个字节RAM用于存放临时性数据,同时具有可编程涓细电流充电能力。

因STC89C52R芯片时间计算逻辑较困难,而DS1302可根据月份和闰年的情况自动调整月份的结束日期且具有编程涓细电流充电能力,所以采用方案(2)实现实时计时功能。

2.4 实时环境温度采集模块选择方案(1):采用热敏电阻

热敏电阻是开发早、种类多、发展较成熟的敏感元器件.热敏电阻由半导体陶瓷 材料组成,利用的原理是温度引起电阻变化。 通过一定的电路可以将周围环境的 温度变化转化转化器件将信号传输给单片机进行分析,所以热敏电阻需要的外 AD 成电压的变化,通过 部器件较多。DS18B20

2):采用方案(采用单总线的接口方式与微处理 DALLAS^司生产的数字温度传 感器,DS18B2C 是美国在使用中可以不接任 DS18B20的双向通讯。器连接时仅需 要一条口线即可实现微处理器与 DS18B20多个何外围元件,或者在单总线上接 一个

4.7K 的上拉电阻,支持多点组网功能可以通过内部寄生电可以并联在惟一 的单线上,实现多点测温,供电方式灵活 DS18B20

路从数据线上获取电源,因此非常适合本系统使用。在使用中可以不接任何外 围元件,或者因热敏电阻需要的外部器件较多,而 DS18B20构成本设计的实时 温度采集模块。(2) 4.7K 在单总线上接一个的上拉电阻,所以采用方案 电路 设计最终方案决定2.5

DS18B20和单片机为控制核心,通过与 DS1302综上各方案所述,本系统以

STC89C52R 液晶显示出来,同时通过1602通信获取实时时间和实时环境温度, 并将得到的数据通过对应的按键调整相应的值,并且通过蜂鸣器实现报警功能。 8实时温度采集模块 9 DS18B20 ()C 5 2 报警模块(蜂鸣)

设置模块R C

(独立按键)

时间计算模块

S (DS1302) T 液晶)显示模块(

1602 C

基于stc51单片机的LCD1602显示时间_的电子万年历(显示当前温度)

1 课设所需软件简介 1.1 Keil uVision4的简要介绍 2009年2月发布Keil μVision4,Keil μVision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。新版本支持更多最新的ARM芯片,还添加了一些其他新功能。 2011年3月ARM公司发布最新集成开发环境RealView MDK开发工具中集成了最新版本的Keil uVision4,其编译器、调试工具实现与ARM器件的最完美匹配。 Keil C51开发系统基本知识Keil C51开发系统基本知识 1. 系统概述 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。 2. Keil C51单片机软件开发系统的整体结构 C51工具包的整体结构,uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

基于LCD1602电子时钟

信息与电子工程学院课程设计报告

录目 一、课程设计概 述 (3) 1.1 课程设计背 景 (3) 1.2 课程设计内 容 (3) 1.3 课程设计技术指 标 (3) 二、方案的选择及确 定 (3) 2.1 单片机芯片的选 择 (3) 2.2 显示模块的选 择 (4) 2.3 实时时间计算模块的选择.4 2.4 实时环境温度采集模块选 择 (4) 2.5 电路设计最终方案决 定 (5) 三、系统硬件设 计 (5) 3.1 主控模 块 (5) 3.2LCD显示模块设 计 (6) 3.3 时间计算模块设 计 (6) 3.4 实时环境温度检测模 块 (7) 3.5 报警模 块 (7) 3.6 设置模 块 (8) 3.7 电源接口部

分 (8) 四、系统软件设 计 (8) 4.1 主函 数 (8) 4.2 设置模 块 (9) 4.31602 液晶 屏 (10) 4.4 软件原理 图 (11) 五、系统调试过 程 (11) 5.1 软件调 试 (11) 5.2 硬件调 试 (12) 六、结 论 .................................. 12 七、遇到的问题及解决方法和总 结 (12) 7.1 硬件方 面 (12) 7.2 软件方 面 (13) 7.3 总 结 (13) 1 八、参考文 献 (13) 九、附 录 (14)

课程设计概述 1.1 课程设计背景随着微电子技术的高速发展,单片机在国民经济的个人领域得到了广泛的运用。单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。 而电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的题目。因为它有很好的开放性和可发挥性,因此对作者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。 1.2 课程设计内容 利用单片机、时钟芯片DS1302温度传感器DS18B20 16O2液晶屏等实现日期、时间、温度的显示,即是一个电子时钟。具体的功能如下: (1)通过DS1302能够准确的计时,时间可调并在液晶屏上显示出来。 (2)通过DS18B2C能够实时、准确的检测当前环境温度。 (3)利用程序控制单片机实现闹钟功能。 1.3 课程设计技术指标 (1)LCD液晶每行刷新显示。 (2)实时时钟可提供年、月、日、时、分和秒,每月的天数可以自动调整,且具有闰年补偿功能。 (3)时间是24小时制;年限2000年~2099年。 (4)测量温度范围为0 C ~+ 60 C,误差为土0.5 ° C。

基于单片机的lcd1602电子时钟设计

基于单片机的LCD1602电子时钟设计 一、设计任务和目的 1.1、设计任务 (1):用单片机设计基于LCD1602的电子时钟,显示时间和日期; (2):误差精度控制在1s/天; (3):具有时间和日期的校准功能; (4):能区分某年是闰年或平年,并对应显示2月份的天数; (5):根据月份的不同显示不同的最大日数; (6):搭建仿真电路图,模拟单片机要实现的功能; (7):焊接单片机开发板; (8):编写程序,下载并调试,实现要求的功能。 1.2、设计目的 (1):熟练掌握KEIL软件的使用方法; (2):熟练掌握PROTEUS软件的使用方法; (3):掌握单片机I/O接口的工作原理; (4):掌握LCD显示器的工作原理及编程方法; (5):掌握独立式键盘的工作原理及编程使用方法; (6):掌握单片机的下载使用方法。 二、设计思路和方案论证 2.1、设计思路 电路总体上分为控制和显示部分。以单片机最小系统作为核心控制电路,控制LCD显示,具体显示内容及方式由软件来完成;由于有时钟和日期的调节功能需要校准电路和基本的复位电路,复位电路采用按键复位,调节键、加1键、减1键三个按键完成,共需四个按键;计时功能由固定频率的晶振完成(采用11.0592MHz);显示部分主要采用LCD1602作为显示。 2.2、方案论证 (1):时钟芯片的选择和论证 方案一:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、月、年以及闰年补偿的年进行计数,精度也较高,工作电压2.5V~5.5V范围内,功耗也较低,但价格比较贵。 方案二:直接采用单片机定时计数器提供秒信号,使用程序实现秒、分、时、日、月、年计数。采用此方案实现虽然有一定的时间误差,但可减少芯片的使用,节约成本,易于实现,符合现实选用,所以采用此种作为时钟信号发生器。 (2):显示模块选择方案和论证: 方案一:采用点阵式图形LCD12864液晶显示屏,液晶显示屏的显示功能强大,可显示文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用点阵式图形LCD12864液晶显示屏。 方案二:采用点阵式字符型LCD1602液晶显示屏,LCD1602是专门用于显示字母、数字、符号等的点阵型液晶显示模块,分4位和8位数据传输方式。提供“5×7点阵+光标”和“5×10点阵+光标”的显示模式。价格现对便宜,所以用此种作为显示。

基于c51功能最全的电子钟程序lcd1602

功能最全的电子钟 【单片机】c51数字时钟(带年月日显 示) 摘要:本设计以单片机为核心,lcd1602显示。采用独立键盘输入能任意修改当前时间日期和设定闹钟时间。具有显示年月日(区分闰年和二月),闹钟报警和整点报时功能 主程序: /**************************************************************************************** ********** ***************************************************************************************** ********** ********************** lcd1602电子钟*************************************************** ***************************************************************************************** ********** ***************************************************************************************** **********/

# include # include "lcd16024.h" sbit key1 = P2^0; //调整 sbit key2 = P2^1; //加1 sbit key3 = P2^2; //减1 sbit speaker = P2^3; //蜂鸣器 sbit key4 = P2^4; //闹钟设计 bit cal_year = 1; //进入判断闰年标志位bit leap_year; //闰年标志位 bit calculate = 0; //日加一标记 bit run = 0; //闹钟标志 bit beep = 0; //整点报时标志//uint8 num = 0; //调整是给的脉冲uint8 code str1[] = "D: "; uint8 code str2[] = "T: "; uint8 code str3[] = "Wek"; uint8 daystr[]="2013-07-29 "; //年月日格式uint8 timestr[]="21:30:59 N"; //时分秒格式 uint8 daystr1[]="2013-07-29 "; //闹钟年月日格式uint8 timestr1[]="21:30:59 N"; //闹钟时分秒格式uint8 numweek = 0; //星期加1标记char week = 1; //星期 char sec = 53; //秒 char min = 50; //分 char hour = 23; //时 uint8 day = 30; // 日 uint8 month = 9; //月 uint16 year = 2013; //年 char week1 = 1; //闹钟星期 char sec1 = 58; //闹钟秒 char min1 = 50; //闹钟分 char hour1 = 23; //闹钟时uint8 day1 = 30; //闹钟日 uint8 month1 = 9; //闹钟月 uint16 year1 = 2013; //闹钟年 uint8 WeekData1; //闹钟星期标记uint8 number = 0; //定时 uint8 WeekData; //星期标记uint8 speaker_num; //整点报时次数

基于51单片机LCD1602数字钟

基于51单片机的数字时钟 实训单位: 南耕科技 系别: 工程技术系 专业: 姓名:

摘要 本文介绍了基于AT89C51单片机的数字式时钟的设计,详细叙述了系统硬件、软件的具体实现过程。本文在硬件、软件设计上均采用模块化的方法,使得在设计和调试方面取得很大的方便。软件同样采用模块化的设计,包括中断模块、时间调整模块等设计,并采用简单流通性强的C语言编写实现。本设计实现了时、分、秒的显示和时间修改的功能。通过对比实际的时钟,查找出误差的来源,确定调整误差的方法,尽可能的减少误差,使得系统可以达到实际数字钟的允许误差范围内。 关键字:AT89C51单片机;数字钟;模块化;

目录 1 绪论 (1) 1.1 课题背景 (1) 1.2 课题意义 (2) 1.3 数字式时钟的应用 (2) 1.4 本章小结 (3) 2 单片机简介 (3) 2.1 单片机的选择 (3) 2.1.1 单片机的特点 (5) 2.1.2 单片机的应用领域 (5) 2.2 AT89C51单片机的基本结构 (6) 2.3 本章小结 (11) 3 数字式时钟的硬件设计 (12) 3.1 最小系统设计 (13) 3.2 数字式时钟的外围电路设计 (14) 3.3 本章小结 (19) 4 数字式时钟的软件设计 (19) 4.1 系统软件设计内容 (19) 4.2主程序 (20) 4.3时钟设置子程序 (22) 4.4中断子程序 (24) 4.5 LCD显示子程序 (24) 4.6 本章小结 (26) 5 数字式时钟的Protues软件仿真 (26) 5.1 Protues软件的概述 (26) 5.2 Protues软件的功能特点 (27) 5.3 Protues软件具有4大功能模块 (27) 5.4 数字式时钟的Proteus软件仿真 (29) 5.5 本章小结 (35) 结论 (36) 致谢 (37) 单片机介绍 (37) 附录 (41)

DS1302与液晶1602简单时钟

《单片机原理实验》 考 试 报 告 题目:DS1302和1602时钟 姓名: 学号: 班级: 专业:电子信息工程 指导老师: 提交时间:

DS1302和1602时钟 *** (**学院电子信息工程 ***班 **********) 摘要: 关键词:DS1302 ,液晶1602,89C51。 1.引言 我们在日常生活中常常用到时钟来记录时间,有时候还不能准确的记录下时间, 这就要用到芯片DS1302了。时间还远远不够,因为人性化的设计自然是要清楚的显示年、月、日、星期、时间。 而在此用到的DS1302非常好的与时间进行同步,并且在掉电时不会对时间有影响,较理 的考虑到了人们的思维模式,从而简单的控制了时钟,结合了常理的理论。 2.原理 DS1302引脚 X1 X2 32.768KHz 晶振管脚 GND 地 CE 复位脚 I/O 数据输入/输出引脚 SCLK 串行时钟

Vcc1,Vcc2 电源供电管脚 各引脚的功能为: Vcc1:主电源;Vcc2:备份电源。当Vcc2>Vcc1+0.2V时,由Vcc2 向DS1302供电,当Vcc2< Vcc1时,由Vcc1向DS1302供电。 SCLK:串行时钟,输入,控制数据的输入与输出; I/O:三线接口时的双向数据线; CE:输入信号,在读、写数据期间,必须为高。该引脚有两个功能: 第一,CE开始控制字访问移位寄存器的控制逻辑;其次, CE提供结束单字节或多字节数据传输的方法。 DS1302控制字: 控制字的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中。 位6:如果为0,则表示存取日历时钟数据,为1表示存取RAM数据; 位5至位1(A4~A0):指示操作单元的地址; 位0(最低有效位):如为0,表示要进行写操作,为1表示进行读操作。 控制字总是从最低位开始输出。在控制字指令输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从最低位(0位)开始。同样,在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据,读出的数据也是从最低位到最高位。 DS1302时序:

51单片机实现电子时钟功能_1602液晶显示

第一章 设计要求及系统组成 1.1 设计要求 利用单片机最小系统设计一个电子时钟,显示方式为**:**:**,并且可以任意修改时间。 1.2系统组成 原理框图如图1.1 图1.1 系统原理框图 第二章 系统设计方案 2.1 系统设计方案 电路原理图如图2.1所示

图2.1 电路原理图 2.2 电路模块组成及其工作原理 2.2.1 时钟电路 系统时钟源由内部时钟方式产生,时钟电路由12MH晶振和两个30PF瓷片电容组成,构成自激振荡,形成振荡源提供给单片机。电容可在5PF到30PF 之间选择,电容的大小对振荡频率有微小影响,可起频率微调作用。 时钟电路如图2.2所示 图2.2 时钟电路 2.2.2 复位电路 单片机复位有上电复位和手动复位两种方式,上电复位是接通电源后利用

RC充电来实现复位。手动复位是通过人为干预,强制系统复位。 复位电路如图2.3所示,可以实现上电复位和手动复位功能。 图2.3 复位电路 2.2.3 按键电路 在单片机的P1.0、P1.1、P1.2三个I/O口接三个简易按键,通过不断检测按键状态,识别按键的按下顺序和次数即可实现时间的任意修改。 按键电路如图2.4所示。 2.2.4 1602液晶显示模块电路 本设计是通过对1602液晶显示屏的控制来实现时间的显示。 1602液晶显示模块的驱动如下所述:

图2.4 1602液晶屏实物图 1602采用标准的16脚接口,其中: 第1脚:VSS为地电源 第2脚:VDD接5V正电源 第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第7~14脚:D0~D7为8位双向数据线

基于51单片机的LCD1602简单数字时钟

原理图: 源程序: /*************************************************************** 标题:LCD1602时钟 效果:在LCD1602屏上显示时分秒,能调节时间 作者:皖绩小挺 说明:RS:P1.0 RW:P1.1 E:P1.3 数据端口:P0 key1:P3.7 key2:P3.6 key3:P3.5 key4:P3.6 key5;P3.3 ******************************************************************/ #include #define uchar unsigned char //宏定义 #define uint unsigned int sbit lcdrs=P1^0; //定义LCD1602端口 sbit lcdrw=P1^1; sbit lcden=P1^2; sbit key1=P3^7; //定义按键端口 sbit key2=P3^6; sbit key3=P3^5; sbit key4=P3^4;

sbit key5=P3^3; uchar tt; //设置全局变量 uchar hour,minute,second; uchar table[]="HELLO WORLD" ; //第一行字符(11个) uchar table1[]="00:00:00"; //第二行字符(8个) /******************************************************* 延时函数 *******************************************************/ void delay(uint z) //delay(1)约1ms { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /******************************************************* LCD1602写命令 *******************************************************/ void write_lcdcom(uchar lcd_com) { lcdrs=0; //rs低电平为选择指令寄存器 lcdrw=0; //rw低电平进行写操作 P0=lcd_com; delay(5); lcden=1; delay(5); lcden=0; } /******************************************************* LCD1602写数据 *******************************************************/ void write_lcddata(uchar lcd_data) { lcdrs=1; //rs高电平为选择数据寄存器 lcdrw=0; P0=lcd_data; delay(5); lcden=1; delay(5); lcden=0; } /*******************************************************

基于单片机的LCD1602电子时钟设计

基于单片机的LCD1602 电子时钟设计 、设计任务和目的 1.1、设计任务 (1):用单片机设计基于LCD1602 的电子时钟,显示时间和日期; (2):误差精度控制在1s/天; (3):具有时间和日期的校准功能; (4):能区分某年是闰年或平年,并对应显示 2 月份的天数; (5):根据月份的不同显示不同的最大日数; (6):搭建仿真电路图,模拟单片机要实现的功能; (7):焊接单片机开发板; (8):编写程序,下载并调试,实现要求的功能。 1.2、设计目的 (1):熟练掌握KEIL 软件的使用方法; (2):熟练掌握PROTEUS 软件的使用方法; (3):掌握单片机I/O 接口的工作原理; (4):掌握LCD 显示器的工作原理及编程方法; (5):掌握独立式键盘的工作原理及编程使用方法; (6):掌握单片机的下载使用方法。 二、设计思路和方案论证 2.1、设计思路 电路总体上分为控制和显示部分。以单片机最小系统作为核心控制电路,控制LCD 显示,具体显示内容及方式由软件来完成;由于有时钟和日期的调节功能需要校准电路和基本的复位电路,复位电路采用按键复位,调节键、加 1 键、减 1 键三个按键完成,共需四个按键;计时功能由固定频率的晶振完成(采用11.0592MHz);显示部分主要采用LCD1602 作为显示。 2.2、方案论证 (1):时钟芯片的选择和论证 方案一:采用DS1302 时钟芯片实现时钟,DS1302 芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、月、年以及闰年补偿的年进行计数,精度也较高,工作电压 2.5V~5.5V 范围内,功耗也较低,但价格比较贵。 方案二:直接采用单片机定时计数器提供秒信号,使用程序实现秒、分、时、日、月、年计数。采用此方案实现虽然有一定的时间误差,但可减少芯片的使用,节约成本,易于实现,符合现实选用,所以采用此种作为时钟信号发生器。 (2):显示模块选择方案和论证: 方案一:采用点阵式图形LCD12864 液晶显示屏,液晶显示屏的显示功能强大,可显示文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用点阵式图形LCD12864 液晶显示屏。 方案二:采用点阵式字符型LCD1602 液晶显示屏,LCD1602 是专门用于显示字母、数字、符号等的点阵型液晶显示模块,分 4 位和8 位数据传输

定时器lcd1602单片机课程设计

烟台南山学院 单片机课程设计 实训报告 题目 姓名: XXX 所在学院:电子工程学院 所学专业:__ _电子信息工程 班级: 08电子信息工程(1)班 学号: 2007120034 指导教师: 完成时间: 2010年11月07日

摘要 (这里用宋体,四号字,只写中文摘要!) 随着时代的进步和发展,单片机技术已经和我们的生活息息相关,其中涉及到生活,工作,科研,等各个领域,现在已经成为一个比较成熟的技术。单片计算机即单片机微型计算机。是CPU 、RAM、ROM、定时、计数和多接口于一体的微型控制器。他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。其中51系列单片机是其中最为有代表性的一种。 通过单片机AT89C51和lcd 1602 液晶显示器,显示电子时钟的年、月、日、星期、时、分、秒。更为形象,更为直观。通过软件,和硬件的结合,在仿真电路的仿真实现,数字时钟的走时,通过51 C 语言编程实现,秒、分、时、星期、日、月、年的显示自动校正,以及平年闰年的判断,通过和实际的时钟进行对比,查找误差,减少误差的来源,达到和实际时钟的误差无限减小。 关键字:AT89C51单片机、1602LCM模块、数字时钟

目录 第1章概述 (4) 1.1课题背景 .............................................................4 1.2课题意义 .............................................................4 第2章设计要求 (6) 第3章总体方案设计与分析 (10) 3.1整体方案框图 .........................................................10 3.2单片机的选择 .........................................................11 3.2驱动电路的选择 .......................................................11 3.3壁障传感器的选择 .....................................................12 3.4 显示模块的选择 .......................................................14 第4章硬件电路设计 (20) 4.1单片机最小系统模块 ...................................................20 4.2驱动电路模块 .........................................................20 4.3红外探头模块 .........................................................21 4.4显示模块 .............................................................21

LCD数字电子钟的设计

内蒙古科技大学 智能仪表综合训练设计说明书 题目:LCD数字电子钟 学生姓名:王雪利 学号:0967112230 专业:测控技术与仪器 班级:2009-2 指导教师:肖俊生 日期:2012-10-22

LCD显示数字电子钟 摘要 随着科技的发展,单片机的应用正在不断深入,涉及到日常生活的方方面面。本设计是基于单片机89C52为控制核心,以LCD1602为显示的数字时钟。其主要功能是可正常显示时钟、日历、带有定时闹钟的多功能数字电子钟。本设计采用89C52RC 单片机芯片作为中央处理器,内部定时器定时计数产生时钟日历信息,星期通过编程计算自动生成,并利用液晶显示屏LCD1602来显示时钟、日历、星期、闹钟等信息,通过按键来设置或校准相关信息。本数字时钟设计的原理相对简单,所以硬件电路也相对简单,难点和重点主要放在C语言的编程上,使用到定时器的子程序、延时程序、键盘程序、液晶模块和单片机模块的初始化程序、液晶显示的程序等,各个函数交叉调用,配合主程序的运行。 关键字:电子钟; STC89C52; LCD1602;键盘;定时器

第一章前言 随着电子技术的不断发展,单片机技术在设计中所体现出来的优势越来越明显,它不仅是电子信息类专业的一个重要部分,而且在其他类专业工程中也是不可缺少的。广泛地应用于家电、工业过程控制、仪器仪表、智能武器、航天和空间飞行器等领域,已成为新一代一些电子设备不可缺少的核心部件。 单片机把计算机最基本的功能电路,如CPU、程序存储器、数据存储器、I/O接口、定时、计数器、中断系统等集成到一块芯片上,形成单片形态的计算机。单片机通常以最小系统运行,在家用电器中和常用的智能仪器仪表中常常可以“单片”工作,同时单片机在我们日常生活中叶经常见到,同时单片机在我们日常生活中也经常见到,如电子表、舞厅里的一些等国的控制、工厂一些自动化控制等。将来只要有自动控制方面的都会离不开单片机的开发和使用,对于现代的自动化控制起着举足轻重的作用。 而数字钟正是一种用数字电路技术与单片机技术实现计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用[1]。 数字时钟是指以微处理器为核心,充分利用数字技术和软件技术,与各类脉冲信号的传感器配合,记录时间等的智能仪表。数字时钟是日常生活、工业生产中常用的一种工具,社会拥有量和需求量都很大。功能上要求能够完成准确走时、调时,性能上要求抗干扰能力强,稳定可靠,同时在价格上具备竞争力[2]。 结合以上几点,设计了一款数字时钟,该数字时钟设计工作原理为:单片机上电后,定时器工作计时开始,通过按键进行调时及闹钟调整,通过LCD显示其值。日常生活中对单片机数字钟的问题要求越来越高,本设计仅针对简单的数字钟进行研究,能够实现数字时钟的正确走时。 第二章数字电子钟整体方案设计 2.1 方案原理 本系统由STC89C52RC单片机和字符点阵型LCD1602液晶显示器等器件构成。用单片机内部定时器定时产生计数信号,单片机把数据进行处理,然后把数据传输到显

2020年以DS1302实时时钟芯片和液晶显示屏CD1602为基础设计的电子钟

以DS1302实时时钟芯片和液晶显示屏CD1602为基础设计的电子钟

实验目的: 1、能够以DS1302实时时钟芯片和液晶显示屏CD1602为基础设计一款电子钟 2、熟悉DS1302芯片的工作过程 3、熟悉CD1602芯片的工作过程 4、可以进行必要的扩展,如用第三DS18B20新品进行温度采集和显示 5、熟悉掌握51的c程序的编写 6、掌握用Proteus进行系统设计仿真验证 实验仪器、仪表目录 1、DS1302实时时钟芯片1片 2、LCD1602液晶显示屏1个, 3、80C52芯片1片 5、DS18B20芯片一片 6、晶振、电容、电阻、开关各若干等 7、proteus仿真软件 8、KeilC51、PC机 实验设计任务 以DS1302实时时钟芯片和液晶显示屏LCD1602为基础设计一个电子钟,要求:时间和日期可调整,按键采用3个按键;至少在Proteus上调试通过。扩展:闹钟和重要日期提醒功能(增加蜂鸣器),闹铃音乐功能

实验步骤 1、打开Keil软件,新建一个工程文件,选择好芯片,并记得在“OptionsforTarget1”的Output 选项中,将CreateHEXFil选项勾起来。 2、将编写的程序保存成“.C”的形式 3、编译保存好的C文件,并根据提示修改程序中的错误,直到编译成功为止 4、打开proteus软件,画出实验电路图 5、在89C52中,载入原来已生成的HEX文档 6、按下运行键,对Proteus进行软件仿真,观察运行结果 原理、结果及分析 一、设计方案原理与设计特点分析 电子钟总的设计模块: 1、DS1302时钟采集模块: 1.1电路原理图: 1.2DS1302分析: 首先DS1302是DALLAS公司推出的涓流充电时钟芯片。内含有一个实时时钟/日历和31字节静态RAM通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作。 DS1302芯片广脚介绍:X1、X2为32.768KHz晶振管脚。GND为地。RST复位脚。I/O

单片机lcd1602液晶屏电子时钟C程序

/******************************************************************** * 文件名:液晶1602显示.c * 描述: 该程序实现了对液晶1602的控制。 * 创建人:东流,2009年4月10日 * 版本号:2.0 ***********************************************************************/ #include #define uchar unsigned char #define uint unsigned int uint count,t; int shi=1,fen=11,miao=22,nian=12,yue=7,ri=1; uchar shijian[16]={"time 00-00-00 t"},shijian1[16]={"date 00-00-00 "}; //这三个引脚参考资料 sbit E=P2^7; //1602使能引脚 sbit RW=P2^6; //1602读写引脚 sbit RS=P2^5; //1602数据/命令选择引脚 sbit LE = P3^7; sbit key1 = P3^2; //小时修改建 sbit key2 = P3^3; //分钟修改键 sbit key3 = P3^4; //显示选择键 /******************************************************************** * 名称: delay() * 功能: 延时,延时时间大概为5US。 * 输入: 无 * 输出: 无 ***********************************************************************/ void delay() { uint n=250; while(n--); } /******************************************************************** * 名称: bit Busy(void) * 功能: 这个是一个读状态函数,读出函数是否处在忙状态 * 输入: 输入的命令值 * 输出: 无 ***********************************************************************/ bit Busy(void) { bit busy_flag = 0;

带温度的LCD1602电子时钟设计

带温度的LCD1602电子时钟设计实验信息科学与工程学院 专业:信息管理与信息系统1班 姓名:张茹帆学号:201142597 姓名:任师师学号:201142595

带温度的LCD1602电子时钟设计一、实验目的 学习利用AT89C52进行任务设计,练习使用52单片机内部的定时器进行计时。学习ds1302时钟芯片和ds18b20温度传感器的使用。学习用模块化编程进行较长程序的编写。 二、实验要求 (1)利用lcd1602液晶显示屏作为显示模块,用AT89C52进行控制,用ds18b02测量显示即时温度,温度报警,用ds1302时 钟芯片为单片机提供时间数据。具有定时功能。 (2)要求时间和定时时间可调,并且在闹铃报时的时候可以用按键进行关闭。并且可以用按键关闭打开定时功能。 (3)利用keil uVision4编译软件进行编译。 (4)完成实验要求,写出实验报告。 三、软件环境 Proteus仿真软件,keil uVision4编译软件 四、工作现象 本时钟具有显示年月日时分秒星期、温度和温度报警的功能。实验用时钟芯片ds1302来提供秒、分、时、星期、日期、月份和年份的数据,显示部分采用液晶显示模块lcd1602,右上方显示星期,左

下角显示温度,右下角显示闹铃的开关状态。用温度传感器ds18b20来测量温度。另外,闹铃用D1(LED-RED)来报时,用D2(LED-RED)做温度报警发声器,闹钟开启用D3来显示。具体各部分功能及操作下面将做介绍: ds1302给单片机at89c52提供年、月、日、时、分、秒、星期,ds18b20采集温度的数据,经单片机的处理送到液晶显示屏lcd1602上显示,实验设置的报警温度为30*c,由于程序有点长,已达到52单片机内存的极限,所以没加调整报警温度的功能,并且在修正时间的过程中只能加,不能减。现在开始介绍具体的操作步骤:key1为调整时间和日期的按键,按下key1键,lcd1602上的光标按时分星期日月年的顺序进行移动,光标所到处按key3键可以调整相应的数据信息。Key2键是闹钟调整键,本实验只提供了设置时间来调整闹钟,不设计年月日和星期,按下key2键,光标在时分之间切换,光标所到处按key3调整相应数据。Key3键用来开关闹钟,当闹铃开启时,lcd1602的右下角会出现“ON”的字样,同时发光二极管D3点亮当闹铃关闭时,lcd1602右下角则出现“OF”的字样。Key4来关闭正在报时的闹钟,即闹钟响是按key4可关闭闹铃。

LCD1602数字电子钟

用LCD1602实现简单的数字时钟 摘要:随着科技的发展,单片机的应用正在不断深入,涉及到日常生活的方方面面。本设计是基于单片机89C51为控制核心,以液晶为显示的数字时钟。本数字时钟设计的原理相对简单,所以硬件电路也相对简单,难点和重点主要放在C语言的编程上,使用到定时器的子程序、延时程序、时分秒的控制程序、液晶模块和单片机模块的初始化程序、液晶显示的程序等,各个函数交叉调用,配合主程序的运行。 关键字:LCD1602 89C51 定时器 一、数字时钟的概述与功能的简介 本设计用到单片机的P0端做数据端,把数据发送到LCD的数据接收端,然后通过利用程序进行对液晶的控制,实现数字的显示。在本设计中,设计了四个功能按键,分别是启动/停止时钟,时、分、秒的加一功能,以此对时间的调整。硬件电路相对简单,所以软件的开销相对增大,特别是对液晶模块的程序设计,也正是设计本数字时钟的目的,希望通过此设计提高自己的软件编程与调试能力。由于个人能力也有限,在短时间内不能编写出用液晶显示年月日的程序,因为代码量确实增大不少。 二、89C51单片机的简介 1. 单片机的概述 所谓单片机,通俗的来讲,就是把中央处理器CPU(Central Processing Unit),存储器(memory),定时器,I/O(Input/Output)接口电路等一些计算机的主要功能部件集成在一块集成电路芯片上的微型计算机。单片机又称为“微控制器MCU”。中文“单片机”的称呼是由英文名称“Single Chip Microcomputer”直接翻译而来的。 2.芯片引脚图的介绍 芯片的引脚图如下:

引脚功能: I/O接口 MCS-51是标准的40引脚双列直插式集成电路芯片,引脚分布请参照----单片机引脚图: P0.0~P0.7 P0口8位双向口线(在引脚的39~32号端子)。 P1.0~P1.7 P1口8位双向口线(在引脚的1~8号端子)。 P2.0~P2.7 P2口8位双向口线(在引脚的21~28号端子)。 P3.0~P3.7 P2口8位双向口线(在引脚的10~17号端子)。 P0口有三个功能: 1、外部扩展存储器时,当做数据总线(如图1中的D0~D7为数据总线接口) 2、外部扩展存储器时,当作地址总线(如图1中的A0~A7为地址总线接口) 3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。 P1口只做I/O口使用:其内部有上拉电阻。 P2口有两个功能: 1、扩展外部存储器时,当作地址总线使用 2、做一般I/O口使用,其内部有上拉电阻; P3口有两个功能: 除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。 ALE/PROG 地址锁存控制信号 在系统扩展时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。ALE有可能是高电平也有可能是低电平,当ALE是高电平时,允许地址锁存信号,当访问外部存储器时,ALE信号负跳变(即由正变负)将P0口上低8位地址信号送入锁存器。当ALE是低电平时,P0口上的内容和锁存器输出一致。 在没有访问外部存储器期间,ALE以1/6振荡周期频率输出(即6分频),当访问外部存储器以1/12振荡周期输出(12分频)。 PROG为编程脉冲的输入端 程序通过编程脉冲输入才能写进去的,这个脉冲的输入端口就是PROG。 PSEN为外部程序存储器读选通信号 在读外部ROM时PSEN低电平有效,以实现外部ROM单元的读操作。 RST 复位信号 当输入的信号连续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作,当复位后程序计数器PC=0000H,即复位后将从程序存储器的0000H单元读取第一条指令码。 XTAL1和XTAL2 外接晶振引脚。当使用芯片内部时钟时,此二引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。 VCC:电源+5V输入

LCD1602单片机数字钟设计(含附件)

基于单片机89C52的液晶数字钟设计 摘要 设计采用定时计数器工作方式1进行数值上的累加,经过延时程序,lcd1602驱动程序和时间格式转换程序,实现了数字钟的正常运转以及显示。添加整点报时,用1个if 语句设置整点条件调用蜂鸣器程序实现功能;添加闹钟功能,通过当前时间与闹钟时间的对比促使蜂鸣器发声。 关键词 定时计数器 LCD1602 闹钟 单片机89C52 1. 电路设计 1.1主体设计 1.1.1设计原理 P0端,使用P0端要外接上拉电阻,这里放置10k 阻值的排阻。蜂鸣器需要三极管放大后方可使用。开关用四脚独立按键,接P1端。使用12MHz 的晶振。

1.2各部分设计 1.2.1时钟设计 单片机的时钟有两种方式产生,分别是内部方式和外部方式。设计采用内部方式。产生时钟的是振荡电路。由一个12MHz的晶振和两个30pF的串联着的电容并联在一起,形成谐振电路。晶振和电容大小涉及电路振荡频率的稳定性和大小,以及起振响应速度。 1.2.2复位设计 复位有两种,区别在于是否有开关。按一次开关,电位变化形成一次脉冲,使单片机复位。采用10k电阻和10uF的电解电容。 1.2.3按键设计 有三种模式,分别是工作模式,当前时间设置模式,闹铃时间设置模式。 (1)工作模式。就是正常数字钟功能,有整点报时功能。 (2)当前时间设置模式。1键进入该模式,之后,1键调时,2键调分,3键确认。 (3)闹铃时间设置模式。3键进入该模式,之后,1键调时,2键调分,3键确认,4键打开闹铃。工作模式2键可以查看闹铃时间。 1.2.4lcd1602设计 Lcd1602的DB端接单片机的P0端,2和15脚接5v,其他的接地。加10k排阻,程序正确,电路无差错,可正常使用。 1.2.5蜂鸣器设计 蜂鸣器通过三极管放大后使用,作用有闹铃和整点报时的发声。三极管采用pnp型规格。

LCD1602电子时钟设计

电 子 时 钟 设 计 班级:电子1001 姓名:李全军 学号:0501100107 指导老师:刘彦华

一、实验目的 学习利用AT89C52进行任务设计,练习使用52单片机内部的定时器进行计时。学习ds1302时钟芯片和ds18b20温度传感器的使用。学习用模块化编程进行较长程序的编写。 二、设计要求: (1)利用lcd1602液晶显示屏作为显示模块,用AT89C52进行控制,要求用ds18b02测量显示即时温度,温度报警,用ds1302 时钟芯片为单片机提供时间数据。具有定时功能。 (2)要求时间和定时时间可调,并且在闹铃报时的时候可以用按键进行关闭。并且可以用按键关闭打开定时功能。 (3)利用keil uVision4编译软件进行编译。 (4)完成实验要求,写出实验报告。 三、电子元件列表 四、工作现象 本时钟具有显示年月日时分秒星期、温度和温度报警的功能。实验用时钟芯片ds1302来提供秒、分、时、星期、日期、月份和年份

的数据,显示部分采用液晶显示模块lcd1602,右上方显示星期,左下角显示温度,右下角显示闹铃的开关状态。用温度传感器ds18b20来测量温度。另外,闹铃用pxo888音乐芯片来报时,用蜂鸣器做温度报警发声器。具体各部分功能及操作下面将做介绍: ds1302给单片机at89c52提供年、月、日、时、分、秒、星期,ds18b20采集温度的数据,经单片机的处理送到液晶显示屏lcd1602上显示,实验设置的报警温度为30*c,由于程序有点长,已达到52单片机内存的极限,所以没加调整报警温度的功能,并且在天正时间的过程中能能加,不能减。现在开始介绍具体的操作步骤:key1为调整时间和日期的按键,按下key1键,lcd1602上的光标按时分星期日月年的顺序进行移动,光标所到处按key3键可以调整相应的数据信息。Key2键是闹钟调整键,本实验只提供了设置时间来调整闹钟,不设计年月日和星期,按下key2键,光标在时分之间切换,光标所到处按key3调整相应数据。Key3键用来开关闹钟,当闹铃开启时,lcd1602的右下角会出现“ON”的字样,同时发光二极管D3点亮当闹铃关闭时,lcd1602右下角则出现“OF”的字样。Key4来关闭正在报时的闹钟,即闹钟响是按key4可关闭闹铃。 注:当闹铃响时(这里用蜂鸣器代替pxo888音乐芯片),发光二极管D1点亮,当温度报警时,发光二极管D2点亮。 在现实实验中,总感觉测量的温度稍高,所以在程序中将测得的温度减了一度。 五、下面是本次试验的电路图:

相关文档
相关文档 最新文档