基于单片机的数字时钟

 2022-01-17 11:01

论文总字数:58603字

目 录

1 绪论 1

1.1 课题背景 1

1.2本章小结 1

2.1 主控制模块 1

2.2 显示模块 4

2.2.1 LCD1602主要技术参数 4

2.2.2 LCD1602引脚功能说明 5

2.2.3 LCD1602数据原理 6

2.3 时钟模块 7

2.3.1 DS1302的性能特性 8

2.3.2 DS1302的各个引脚及其功能说明 8

2.3.3 DS1302时钟芯片的工作原理 9

2.4 温度模块 9

2.4.1 DS18B02的性能特性 9

2.4.2 DS18B02工作原理 11

DS18B20的引脚功能如下表9所示 11

2.5 电源转换模块 12

3.1.1 DS1302时钟芯片的操作原理 12

3.1.2 DS1302时钟芯片的控制字节 12

3.1.4 DS1302的寄存器 13

3.2 温度测量模块的设计 13

3.2.1 DS18B20 的测温原理 13

3.2.2 DS18B20 的测温过程 14

4.1程序流程框图。 14

4.2数字时钟的按键功能 14

5 结论 15

5.1 调试 15

5.2 结果 16

6 讨论 16

7 参考文献 17

致 谢 17

附录 18

基于单片机的数字时钟

董文杰

,China

Abstract:In our busy daily school life, every minute, every second is critical even, each of us are slaves of time. Therefore, in order to make better use of time, not to cause a waste of time, clocks came into being. It appears to watch from widely experienced only a short period of time, watch the color, appearance, size, although different, but the timepiece function is similar, basically only a function of the time display. In modern society, everything is in rapid development, everything is more colorful, so people have started to watch only a function of time show more and more dissatisfied. So, I want to be able to watch more than adding some simple and useful features, the watch is no longer just a simple timing tool.The graduation project is now widespread use of C language and microcontroller technology, the use of software and hardware combination, but also a large number of simplifying the hardware portion of the circuit, so that the workload on the main program, the clock can not only have more function, but also makes the watch more durable. After pressing this idea finalize the microcontroller will have a digital clock display time, alarm, temperature display, showing the Lunar and more.

Keywords:SCM;Digital clock;LCD display

1 绪论

1.1 课题背景

近些年,单片机技术得到了突飞猛进的发展,在这种发展趋势之下,与单片机相关的电子类产品也在进行跨越式的发展,当然C语言的发展也不可小觑。[5] 在大发展的浪潮之下,相关的电子产品也获得了大发展,其更新换代的速度真的就像坐在火箭上一样。

近些年,单片机获得大发展的同时,也在根本上改变了人们从前的电子设备必须通过硬件部分才能实现其功能的老旧思想。[7]从前,大部分的功能必须通过模拟电路或数字电路来进行实现,而现在这些功能只要使用单片机再加上一些简单的硬件电路就可以实现原来甚至更多的功能。[3]

基于单片机的数字时钟是单片机的众多应用中被广泛采用的一种。单片机数字时钟通过使用单片机再加上一些简单的硬件电路就可以显示时间,甚至拥有更多的功能,而且更重要的是,单片机数字时钟它的时间显示更加精确,用数字显示的方式也比走针的方式更加直观,它的使用寿命也更长,因此应用非常广泛。[10]

随着人们对时间的精度的需求不断提高,老式的时钟,手表开始无法满足人们的使用要求,于是,单片机数字时钟开始出现在人们的视野之中。[11]并且现在的数字时钟,由于技术的发展,计时更加准确并拥有越来越多的功能,在我们的生活中的重要性与日俱增,方便了我们的日常生活。[12]

1.2本章小结

本毕业论文设计的基于单片机的数字时钟,可以完成显示时间,闹钟,显示温度等功能。该装置操作简单,功能齐全,是单片机智能化的一种应用。

2 系统的硬件电路设计

本毕业论文所设计数字时钟主要分为五个模块。系统的主要模块设计框图如下图1所示。

图1 数字时钟的设计框图

2.1 主控制模块

AT89C51 具备以下特有的功用:一个八k 字节的 Flash只读Program Memory,一个二百五十六 字节 随时存取的Data Memory,三十二 位 外部输入/输出端口,四十个引脚,两 个外中断口,三个 十六位 位可编程定时器/计数器,两个全双工串行通信口,两个读写口线。AT89C51基本引脚排列如图2所示

图2 AT89C51的基本引脚排列

  • VCC:电源电压
  • GND:电线接地端
  • P0口:这个端口是一系列八位漏极开路型的双向输入与输出口,这个端口也通常被称为地址与数据总线复用端口。当这个端口接入低电平使用时,这个端口能使用八个TTL逻辑门电路,当这个口是高电平时,它的引脚有高阻抗,此时这个端口可以用作输入端。在外部Data Memory和Program Memory被访问的时候,这个端口会依次变换它们的地址,也就是低八位和数据总线都可以使用。此时,这个端口拥有内部上拉电阻。命令在Flash编程时用这个端口接受,而在校验程序时,命令在这个端口被输出。在程序被校验时,这个端口被要求接上拉电阻。

P1口:这个端口是拥有上拉电阻的八位双向输入与输出端口,这个端口的缓冲器能接受四个TTL逻辑门电路。要是给这个端口的管脚高电平,它会被内部上拉到高,此时,这个端口可被视为输入端口使用,要是这个端口被下拉为低时,这个端口会输出一个电流。AT89C52与AT89C51的不同的地方是,AT89C52的P1.0引脚 可以用作时钟输出,AT89C52的P1.1引脚可以用作定时器/计数器 的T2EX。具体情况如下表1。

表1 P1口的第二功能表

脚号

第二功能

P1.0

T2(用于定时器或者计数器的外面的计数输入)

P1.1

T2EX(用于定时器或者计数器 T2 的设置信号和方向控制)

P1.5

MOSI(在系统编程用)

P1.6

MISO(在系统编程用)

P1.7

SCK(在系统编程用)

  • P2口:这个端口是一个拥有内部上拉电阻的八位双向输入与输出端口,这个端口的缓冲器能够使用4个TTL逻辑门电路。要是这个口写入高电平的话,这个口的管脚将在上拉电阻的作用下上升至高电平,这个时候,这个端口会被用作输入。要是这个端口当作输入端口使用的话,其会在内部上拉的作用之下拉低P2口的引脚,所以这个端口会输出电流。这个端口被用作外部Program Memory或十六位地址外部Data Memory使用时时,这个端口将会输出地址的高8位。八位地址的外部Data Memory被访问的时候,这个端口的特殊功能寄存器区中的R2寄存器里面的内容不会被改变。要是Flash编程或程序校验的话,高8位的地址信号以及控制信号被这个端口接受。
  • P3口:这个端口是一组拥有内部上拉电阻的八位双向输入与输出端口。这个端口的缓冲器能够驱动4个TTL逻辑门电路。要是对这个端口写入高电平的话,这个端口在内部上拉电阻的作用之下被拉升到高电平,此时,这个端口可作为输入端口使用。要是这个端口被用作输入端使用的话,这个端口会在外部上拉电阻的作用下拉低到低电平,此时,这个端口将会输出电流。这个端口不仅仅可以当作普通的输入与输出接口线使用之外,更加常用的是这个端口的第二种功能。它的第二种功能在下表2中列出。
  • RST:复位输入。当振荡器被用来使器件复位的话,肯定要保持这个端口的高电平维持足够的时间。
  • ALE/PROG:要是访问外部Program Memory的话,锁存地址的低八位字节被输出。要是这个端口在频率周期不发生变化的情况下使正脉冲信号被一直输出的话,此时用到的这个不发生改变的频率是六分之一的振荡器频率。因为这个原因,这个时钟的脉冲可以被这个端口输出。另外,只要它被当作外部Data Memory使用的话,就会跳过一个这个端口的脉冲。要想禁止ALE的输出的话,就要置位特殊功能寄存器。
  • PSEN:这个端口是外部Program Memory的选通信号。要是这个芯片在取指令的情况下,每有一个机器周期,就有两个PSEN出现。但是,要是在外部Data Memory被访问的情况下,不会出现这两个上面提到的PSEN。
  • EA/VPP:允许被外部访问的判断端口。

如果这个端口接高电平,CPU自己进入工作状态并且运行内部Data Memory中给出的指令。

  • XTAL1:可被用作振荡器的输入使用,也可以被作为里面的工作电路的输入来用。
  • XTAL2:可以用作振荡器的输出。

表2 P3口的第二功能

端口引脚

第二功能

P3.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

外中断0

P3.3

外中断1

P3.4

T0(定时/计数器 0 外部输入)

P3.5

T1(定时/计数器 1 外部输入)

P3.6

外部Data Memory写选通

P3.7

外部Data Memory读选通

2.2 显示模块

20世纪以来,液晶显示被越来越普遍地使用,也被越来越多的人所接受。所以,这个毕业论文也采用液晶显示的方式。液晶显示的显示特点是:在液晶上面加上电压来使液晶的显示部分发生变化,所以,只要对液晶通电,图像就能被显示出来。液晶显示器在轻薄上有着显著的优势,同时它在环保方面也有很优异的表现。当然,液晶显示器的画面也拥有非常高的清晰度。本设计中的数字时钟需要显示包括年、月、日、星期、时、分、秒等在内的时间,所以采用液晶显示器是较好的选择。这里使用LCD1602芯片。LCD1602显示芯片在仿真中如图3所示。

剩余内容已隐藏,请支付后下载全文,论文总字数:58603字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;