摘要
本设计是基于单片机的定时闹钟设计。单片机是在一块半导体芯片上集成了
CPU、存储器以及输入和输出接口电路的微型计算机;其集成度高、功能强、通
用性好,特别是它具有体积小、重量轻、能耗低、价格便宜、抗扰、能力强和使
用方便等特点。它不仅仅是一项技术性上的突破,同时也是对能源方面的有效节
约与有效利用,因此深受国家有关技术部门和能源部门的重视和支持。其组合而
成的配件产品在日常生活的使用过程中非常方便、简单且实用,深受着广大消费
者的喜爱,从而使单片机技术在社会中得到了广泛的发展和应用。目前,已成为
测量控制应用系统中的优选机种和新电子产品的关键部件。特别是 20 世纪 70 年
代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展
很快,推广率高,市场利润率高。而 51 单片机是各单片机中最为典型和最有代
表性的一种。
本次设计的定时闹钟在硬件方面就采用了 AT89C51 芯片,用 6 位 LED 数码管
来进行显示。LED 用 P0 口进行驱动,采用的是动态扫描显示,能够比较准确显
示时时—分分—秒秒。通过 S1、S2、S3、和 S4 四个功能按键可以实现对时间的
修改和定时,定时时间到喇叭可以发出报警声。在软件方面采用汇编语言编程。
整个定时闹钟系统能完成时间的显示,调时和定时闹钟、复位等功能,并经过系
统仿真后得到了正确的结果。
目录
1 概述........................................................................................................................... 1
1.1 设计意义...........................................................................................................1
1.2 设计任务...........................................................................................................1
1.3 设计系统的主要功能.......................................................................................1
2 系统总体方案及硬件设计....................................................................................... 2
2.1 系统总体方案...................................................................................................2
2.2 系统设计方框图.................................................................................................2
2.3 硬件设计.............................................................................................................2
2.3.1 芯片:AT89C51........................................................................................... 2
2.3.2 喇叭:SPEAKER............................................................................................. 5
2.3.3 时钟电路..................................................................................................... 5
2.3.4 显示器模块的设计..................................................................................... 5
3 软件设计................................................................................................................... 7
3.1 划分模块.............................................................................................................7
3.2 程序流程图.........................................................................................................7
3.3 模块程序.............................................................................................................8
3.3.1 时间的设置程序......................................................................................... 8
3.3.2 闹钟时间的设置程序............................................................................... 10
3.3.3 喇叭响应程序........................................................................................... 12
3.4 数码显示...........................................................................................................13
PROTEUS 软件仿真................................................................................................ 14
5 课程设计体会......................................................................................................... 16
参考文献..................................................................................................................... 16
附 1:源程序代码...................................................................................................... 17
附 2:系统原理图...................................................................................................... 26
4
1.1 设计目的
1 概述
本设计是一个定时闹钟,它仅使用单片的 20 引脚单片机完成闹钟的全部功
能。设计目的是为了学习和巩固单片机知识,使对已学过的基础知识能有更深入
的理解,学会独立思考、独立思考、独立工作,以及提高对所学应用基本理论分
析和解决实际问题的能力。
1.2 设计任务
本文设计的定时闹钟采用 AT89C51 芯片,用汇编语言进行编程,时、分、秒
用 6 位 LED 数码管显示。在电路中通过四个按键 S1、S2、S3 和 S4 来进行定时和
调时,定时时间到通过喇叭发出报警声。
1.3 设计系统的主要功能
· 能显示 时时-分分-秒秒。
· 能够设置定时时间、 修改定时时间。
· 到定时时间能发出报警声。
1
2 系统总体方案及硬件设计
2.1 系统总体方案
1)由于要显示数字时间,所以需要 6 位数码管。
2)时间的定时用时钟电路,修改时间和定时用手动按键控制,报警声通过
喇叭发出。
3)AT89C51 单 片 机 加 上 外 围 器 件 ( 数 字 显 示 器 7SEG-MPX6-CC-BLUE ,
RESPACK-8 排阻和 SPEAKER 喇叭)和应用程序(ISIS 6 Professional 软件和
WAVE6000 编译软件),构成相应的应用系统。
2.2 系统设计方框图
如图 1 所示
晶振
及复位
键盘
(按钮)
2.3 硬件设计
2.3.1 芯片:AT89C51
单片机
AT89C51
RESPACK-8
7SEG-MPX6
-CC-BLUE
数码管显示
SPEAKER
喇叭
图 1
AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROM—Falsh
Programmable and Erasable Read Only Memory)的低电压,可稳定地工作于
5V 的电源下.该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准
的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合
在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制器.
AT89C51管脚说明:
VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1
2
口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,
它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,
当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输
出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部
下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校
验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出
4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的
缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2
口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位
地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH
编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门
电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,
由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚 备选功能
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 /INT0(外部中断0)
P3.3 /INT1(外部中断1)
P3.4 T0(记时器0外部输入)
P3.5 T1(记时器1外部输入)
P3.6 /WR(外部数据存储器写选通)
P3.7 /RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电
平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址
3
的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端
以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作
对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器
时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,
ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个
机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信
号将不出现。
/EA/VPP : 当 /EA 保 持 低 电 平 时 , 则 在 此 期 间 外 部 程 序 存 储 器
(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部
锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期
间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
如图 2 所示
图 2
4
2.3.2 喇叭:SPEAKER
由 P3.7 口控制喇叭,使其定时时间到能发出报警声。
2.3.3 时钟电路
单片机的时钟产生方法有两种:内部时钟方式和外部时钟方式。本系统中 AT
89C51 单片机采用内部时钟方式。最常用的内部时钟方式是采用外接晶体和电容
组成的并联谐振回路。振荡晶体可在 1.2MHz~12MHz 之间。电容值无严格要求,
但电容取值对振荡频率输出的稳定性、大小和振荡电路起振速度有少许影响,一
般可在 20pF~100pF 之间取值。AT98C51 单片机的时钟电路。如图 3 所示
XTAL2
AT89C51
XTAL1
C1
30PF
C2
30PF
JZ
12M
图 3
上拉电阻:RESPACK-8
控制按键:BUTTON ACTIVE SPST PushButton
本系统要进行时间的调整和定时,因此用 4 个手动按键对其进行控制。
2.3.4 显示器模块的设计
利用7SEG-MPX6-CC-BLUE数字显示器的1-6引脚连接AT89C51单片机 P2.0
–P2.5接口,其他8个引脚分别与AT89C51单片机的P0.0 - P0.7和共阳极管
RESPACK-8排阻的 2 - 9 引脚分别连接。
数码管:7SEG-MPX6-CC-BLUE
单片机中通常使用 7 段 LED,LED 是发光二极管显示器的缩写。LED 显示器
由于结构简单,价格便宜,体积小,亮度高,电压低,可靠性高,寿命长,响应
速度快,颜色鲜艳,配置灵活,与单片机接口方便而得到广泛应用。LED 显示器
5