没有合适的资源?快使用搜索试试~ 我知道了~
51单片机电子时钟课程设计.doc
0 下载量 58 浏览量
2023-06-29
15:07:16
上传
评论
收藏 313KB DOC 举报
温馨提示
试读
20页
51单片机电子时钟课程设计.doc
资源推荐
资源详情
资源评论
一、设计要求
1、准确计时,以数字形式显示时、分、秒的时间。
2、小时以 24 小时计时形式,分秒计时为 60 进位。
3、校正时间功能,即能随意设定走时时间。
4、闹钟功能,一旦走时到该时间,能以声或光的形式告警提示。
5、设计 5V 直流电源,系统时钟电路、复位电路。
6、能指示秒节奏,即秒提示。
7、可采用交直流供电电源,且能自动切换。
二、设计方案和论证
本次设计时钟电路,使用了 ATC89C51 单片机芯片控制电路,单片机控制电
路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来
调整时钟的时、分、秒,用一扬声器来进行定时提醒,同时使用汇编语言程序
来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:键盘、芯片、
扬声器、LED 显示即可满足设计要求。
2.1、总设计原理框图
如下图所示:
2.2、设计方案的选择
1.计时方案
方案 1:采用实时时钟芯片
现在市场上有很多实时时钟集成电路,如 DS1287、DS12887、DS1302 等。
微 型
控 制
器
时钟电路
声光报时
校时输入
数据显示
这些实时时钟芯片具备年、月、日、时、分、秒计时功能和多点定时功能,
计时数据的更新每秒自动进行一次,不需要程序干预。因此,在工业实时测
控系统中多采用这一类专用芯片来实现实时时钟功能。
方案 2:使用单片机内部的可编程定时器。
利用单片机内部的定时计数器进行中端定时,配合软件延时实现时、分、
秒的计时。该方案节省硬件成本,但程序设计较为复杂。
2.显示方案
对于实时时钟而言,显示显然是另一个重要的环节。通常 LED 显示有两
种方式:动态显示和静态显示。
静态显示的优点是程序简单、显示亮度有保证、单片机 CPU 的开销小,
节约 CPU 的工作时间。但占有 I/O 口线多,每一个 LED 都要占有一个 I/O 口,
硬件开销大,电路复杂。需要几个 LED 就必须占有几个并行口,比较适用于
LED 数量较少的场合。当然当 LED 数量较多的时候,可以使用单片机的串行
口通过移位寄存器的方式加以解决,但程序编写比较麻烦。
LED 动态显示硬件连接简单,但动态扫描的显示方式需要占有 CPU 较多
的时间,在单片机没有太多实时测控任务的情况下可以采用。
本系统需要采用 6 位 LED 数码管来分别显示时、分、秒,因数码管个数
较多,故本系统选择动态显示方式。
2.3 硬件部分
1、STC89C51 单片机介绍
STC89C51 单片机是由深圳宏晶公司代理销售的一款 MCU,是由美国设计
生产的一种低电压、高性能 CMOS 8 位单片机,片内含 8kbytes 的可反复写的
FlashROM 和 128bytes 的 RAM,2 个 16 位定时计数器
[5]
。
STC89C51 单片机内部主要包括累加器 ACC(有时也简称为 A)、程序状态
字 PSW、地址指示器 DPTR、只读存储器 ROM、随机存取存储器 RAM、寄存器、
并行 I/O 接口 P0~P3、定时器/计数器、串行 I/O 接口以及定时控制逻辑电路
等。这些部件通过内部总线联接起来,构成一个完整的微型计算机。其管脚
图如图所示。
STC89C51单片机管脚结构图
VCC:电源。
GND:接地。
P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。
当 P1 口的管脚第一次写 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:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的
地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不
变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外
部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器 时,
将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE
只有在执行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果
微处理器在外部执行状态 ALE 禁止,置位无效。
PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个
机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信
号将不出现。
剩余19页未读,继续阅读
资源评论
zzzzl333
- 粉丝: 676
- 资源: 7万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于pygame实现的烟花代码
- mcu-printf关于51单片机使用printf函数进行串口调试的方法
- MySQL和数据表操作
- 微信小程序面试题.pdf
- 基于matlab实现电力系统仿真计算软件包,包括潮流计算,最优潮流计算等.rar
- 基于matlab实现电力系统各种故障波形仿真,单相接地故障,两相间短路,两相接地短路,三相短路等.rar
- 基于matlab实现电动汽车动力性,爬坡性,续驶里程等性能仿真.rar
- Python动态烟花代码.pdf
- 基于matlab实现串口发送接收数据 可配置端口,波特率等 发送可选择ASCII方式或HEX方式
- matlab基于BP神经网络手写字母识别(单一).zip代码9
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功