摘要
电子钟在日常生活中最常见,应用也最广泛。作为一种定时工具被广泛的使用在
生产生活的各方面。人类最初依靠太阳的角度来进行定时,所以受天气的影响比 较大,为了克服依靠自然现象定时的缺点人们发明的机器钟表,电子钟表一系列 的定时工具。而电子钟表具有价格便宜,质量轻,定时误差小等优点,被广泛的 应用在生产,生活的各个方面。由于电子钟的能提供精确定时又被广泛的运用在 测量之中。此电子钟采用单片机进行设计,8 段数码通过单片机进行刷新显示。 其设计的产品除了单片机之外没有用到其他集成块,使其成本可以大大降低,而 其便于维修。成品可以被广泛的用于公共场所,匾额装饰,以及教案等方面。本
文主要就是设计一款数字钟, AT89C51 单片机为核心, 以 配备 LED 显示模块、 键盘输入模块、 等功能模块。数字钟采用 24 小时制方式显示时间,定时信息以及年月日显示等功能。 文章的核心主要从硬件设计和软件编程两个大的方面。 1 目录
摘要…… 1 1 设计要求及方案确定…… 3 1.1 设计要求 …… 3 1.2 方案确定…… 3 2 硬件电路设计及描述…… 3 2.1 确定元器件的型号及参数 …… 3 2.1.1 单片机的选择…… 3 2.1.2 AT89C51 单片机的介绍 …… 5 2.1.3 LED 数码管显示模块 …… 7 2.1.4 键盘输入模块…… 8 2.1.5 闹铃模块…… 8 2.1.6 电源电路…… 8 2.1.7 蜂鸣器的介绍…… 9 2.2 硬件电路图 …… 10 3 软件设计…… 10 3.1 程序结构设计 …… 10 3.1.1 程序结构…… 10 3.1.2 主要程序模块清单…… 11 3.2 程序 …… 14 4 参考文献 …… 17 结束语…… 18 2 1
1.1 设计要求
设计要求及方案确定
利用单片机设计制作具有下列功能的数字钟: ① 自动计时,由 6 位 LED 显示器显示时、分和秒 ② 具备调整功能,可以直接由 0~9 数字键设置当前时间; ③ 具备定时闹钟功能。 1.2 方案确定
数字钟电路由单片机、键盘输入、时钟显示模块及闹铃模块组成。 单片机选用 AT89C51 即可满足要求。 键盘及显示模块采用 8155 芯片扩展如原理图,键盘输入电路采用 4×3 键盘, 包括 0~9 共 10 个数字键(键号为 00H~09H)、C/R 键(时间设定/启动计时键, 键号为 0AH)和 ALM 键(闹钟设置/启闹/停闹,键号为 0BH)。LED 数码管显示 电路: 采用共阴极数码管实现时钟显示, 位 LED 从左到右依次显示时、 6 分和秒, 采用 24 小时计时。 2 2.1
硬件电路设计及描述 确定元器件的型号及参数 2.1.1 单片机的选择
单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。 单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 通常, 单片机由单块集成电路芯片构成, 内部包含有计算机的基本功能部件: 中央处理器、存储器和 I/O 接口电路等。因此,单片机只需要和适当的软件及外 部设备相结合,便可成为一个单片机控制系统。 单片机经过 1、2、3、3 代的发展,正朝着多功能、高性能、低电压、低功 耗、低价格、大存储容量、强 I/O 功能及较好的结构兼容性方向发展。其发展趋 势不外乎以下几个
方面: 1、多功能 单片机中尽可能地把所需要的存储器和 I/O 口都集成在一块芯片上,使得单 片机可以实现更多的功能。比如 A/D、PWM、PCA(可编程计数器阵列)、WDT(监 视定时器看家狗)、高速 I/O 口及计数器的捕获/比较逻辑等。 有的单片机针对某一个应用领域,集成了相关的控制设备,以减少应用系统 的芯片数量。例如,有的芯片以 51 内核为核心,集成了 USB 控制器、SMART CARD 3
接口、MP3 解码器、CAN 或者 I*I*C 总线控制器等,LED、LCD 或 VFD 显示驱动器 也开始集成在 8 位单片机中。 2、高效率和高性能 为了提高执行速度和执行效率,单片机开始使用 RISC、流水线和 DSP 的设计 技术,使单片机的性能有了明显的提高,表现为:单片机的时钟频率得到提高; 同样频率的单片机运行效率也有了很大的提升;由于集成度的提高,单片机的寻 址能力、片内 ROM(FLASH)和 RAM 的容量都突破了以往的数量和限制。 由于系统资源和系统复杂程度的增加,开始使用高级语言(如 C 语言)来开 发单片机的程序。使用高级语言可以降低开发 难度,缩短开发周期,增强软件 的可读性和可移植性,便于改进和扩充功能。 3、低电压和低功耗 单片机的嵌入式应用决定了低电压和低功耗的特性十分重要。 由于 CMOS 等工 艺的大量采用,很多单片机可以在更低的电压下工作(1.2V 或 0.9V),功耗已 经降低到 uA 级。这些特性使得单片机系统可以在更小电源的支持下工作更长的 时间。 4、低价格 单片机应用面广,使用数量大,带来的直接好处就是成本的降低。目前世界 各大公司为了提高竞争力,在提高单片机性能的同时,十分注意降低其产品的价 格。 下面大致介绍一下单片机的主要应用领域和特点。 (1)家用电器领域 用单片机控制系统取代传统的模拟和数字控制电路,使家用电器(如洗衣机、 空调、冰箱、微波炉、和电视机等)功能更完善,更加智能化和易于使用。 (2)办公自动化领域 单片机作为嵌入式系统广泛应用于现代办公设备,如计算机的键盘、磁盘驱 动、打印机、复印机、电话机和传真机等。 (3)商业应用领域 商业应用系统部分与家用和办公应用系统相似,但更加注重设备的稳定性、 可靠性和安全性。 商用系统中广泛使用的电子计量仪器、 收款机、 条形码阅读器、 安全监测系统、空气调节系统和冷冻保鲜系统等,都采用了单片机构成的专用系 统。与通用计算机相比,这些系统由于比较封闭,可以更有效地防止病毒和电磁 干扰等,可靠性更高。 (4)工业自动化 在工业控制和机电一体化控制系统中,除了采用工控计算机外,很多都是以单片 机为核心的单片机和多机系统。 (5)智能仪表与集成智能传感器 目前在各种电气测量仪表中普遍采用了单片机应用系统来代替传统的测量 系统,使得测量系统具有存储、数据处理、查询及联网等智能功能。将单片机和 传感器相结合,可以构成新一代的智能传感器。它将传感器变换后的物理量作进 一步的变化和处理,使其成为数字信号,可以远距离传输并与计算机接口。 (6)现代交通与航空航天领域 通常应用于电子综合显示系统、动力监控系统、自动驾驶系统、通信系统以 及运行监视系统等。这些领域对体积、功耗、稳定性和实时性的要求往往比商用 系统还要高,因此采用单片机系统更加重要。 4
目前,我国生产很多型号的单片机,在此,我们采用型号为 AT89C51 的单 片机 AT89C52 是一个低功耗高性能单片机,40 个引脚,32 个外部双向输入/输出 (I/O)端口,同时内含 2 个外中断口,2 个 16 位可编程定时计数器,2 个全双工 串行通信口,AT89C52 可以按照常规方法进行编程,也可以在线编程。其将通用的微处
理器和 Flash 存储器结合在一起, 特别是可反复擦写的 Flash 存储器可有效地降低开发成本。
2.1.2 AT89C51 单片机的介绍
AT89C51 是 MCS-51 系列单片机的典型产品之一。其内部具有的硬件资源 如图所示。
AT89C51 单片机的 P 口特点: P0 口:是一个 8 位漏极开路输出型双向 I/O 端口。作为输出端口时,每位能 以吸收电流的方式驱动 8 个 TTL 输入,对端口写 1 时,又可作高阻抗输入端用。 在访问外部程序或数据存储器时,它是时分多路转换的地址(低 8 位)/数据 总线,在访问期间将激活内部的上拉电阻。 P1 口:P1 口是一个带有内部上拉电阻的 8 位双向 I/O 端口。P1 口的输出缓 冲器可驱动(吸收或输出电流方式)4 个 TTL 输入。对端口写 1 时,通过内部的 上拉电阻把端口拉到高电位,这时可作输入口。P2 口作输入口使用时,因为内 部有上拉电阻,那些被外部信号 拉低的引脚会输出一个电流(Iil)。 P2 口:P2 口是一个带有内部上拉电阻的 8 位双向 I/O 端口。P2 口的输出缓冲 器可驱动 (吸收或输出电流方式)4 个 TTL 输入。对端口写 1 时,通过内部的上拉电阻把 5
端口拉到高电位,这时可作输入口。P2 口作输入口使用时,因为内部有上拉电 阻,那些被外部信号拉低的引脚会输出一个电流(Iil)。 在访问外部程序存储器时和 16 位外部地址的外部数据存储器(如执行 MOVX @DPTR)时,P2 口送出高 8 位地址。在访问 8 位地址的外部数据存储器(如执行 MOVX @RI)时,P2 口引脚上的内容(就是专用寄存器(SFR)区中的 P2 寄存器的 内容),在整个访问期间不会改变。 P3 口:P3 口是一个带有内部上拉电阻的 8 位双向 I/O 端口。P3 口的输出缓 冲器可驱动(吸收或输出电流方式)4 个 TTL 输入。对端口写 1 时,通过内部的 上拉电阻把端口拉到高电位,这时可作输入口。P3 口作输入口使用时,因为内 部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流(Iil)。 内部单元: 1、算术/逻辑部件 ALU:用以完成+、-、*、/ 的算术运算及布尔代数的逻 辑运算, 并通过运算结果影响程序状态寄存器 PSW 的某些位, 从而为判断、 转移、 十进制修正和出错等提供依据。 2、累加器 A:在算术/逻辑运算中存放一个操作数或结果,在与外部存储 器和 I/O 接口打交道时,进行数据传送都要经过 A 来完成。 3、寄存器 B:在 *、/ 运算中要使用寄存器 B 。乘法时,B 用来存放乘数 以及积的高字节;除法时,B 用来存放除数及余数。不作乘除时,B 可作通用寄 存器使用。 4、程序状态标志寄存器 PSW:用来存放当前指令执行后操作结果的某些特 征,以便为下一条指令的执行提供依据。 Cy:进位标志。有进位或借位,则 Cy=1,否则 Cy=0 ;在布尔运算时,Cy(简 称 C)作为布尔处理器。 AC:辅助进位标志位。 F0:用户标志位:用户可用软件对 F0 置位“1”或清“0”,以决定程序的流向。 OV:溢出标志位:当运算结果溢出时,OV 为“1”,否则为“0”。 D.1:未定义。 P: 奇偶校验位:当累加器 A 中的“1”的个数为奇数时,P 置“1”,否则 P 置 “0”。 RS1、RS0:工作寄存区选择位:指令的执行提供依据。 AT89C2051 单片机的 P 口特点 P1 口:P1 口是一个 8 位双向 I/O 端口,其中 P1.2~P1.7 引脚带有 内部上拉电阻,P1.0 和 P1.1 要求外部上拉电阻。P1.0 和 P1.1 还分别作为片内 精密模拟比较器的同相输入(AIN0)和反相输入(AIN1)。P1 口输出缓冲器可吸收 20mA 电流,并能直接驱动 LED 显示。对端口写 1 时,通过内部的上拉电阻把端 口拉到高电位,这时可作输入口。P2 口作输入口使用时,因为内部有上拉电阻, 那些被外部信号拉低的引脚会输出一个电流(Iil)。 P3 口:P3.0~P3.5、P3.7 是带有内部上拉电阻的 7 个双向 I/O 端口。P3.6 用于固定输入片内比较器的输出信号并且它作为一通用 I/O 口引脚而只读。P3 口输出缓冲器可吸收 20mA 电流。对端口写 1 时,通过内部的上拉电阻把端口拉 6
到高电位,这时可作输入口。P3 口作输入口使用时,因为内部有上拉电阻,那 些被外部信号拉低的引脚会输出一个电流(Iil)。 AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可 选的掉电模式。在闲置模式下,CPU 停止工作。但 RAM,定时器,计数器,串口 和中断系统仍在工作。在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。