基于AT89C51的单片机定时闹钟设计与实现

版权申诉
5星 · 超过95%的资源 3 下载量 71 浏览量 更新于2024-06-27 1 收藏 206KB DOC 举报
本篇文档详细介绍了基于单片机的定时闹钟设计,主要使用了AT89C51芯片,这是一种具有4K字节可编程闪存的8位微控制器,它结合了高性能CPU和存储器,适用于低电压工作环境,具有高集成度、低成本和抗干扰特性。单片机作为微型计算机的核心,因其体积小、功耗低和易于开发的特点,广泛应用于各种测量控制应用系统,尤其在节能领域有着显著的优势。 设计目标旨在通过实际操作加深对单片机原理和应用的理解,提升独立解决问题的能力。硬件部分,闹钟设计采用了6位LED数码管作为显示器,通过P0口进行动态扫描驱动,能够清晰显示小时、分钟和秒。四个功能按键S1、S2、S3和S4分别用于修改和设定时间,当设定的时间到达时,内置的喇叭会发出报警声。软件设计使用汇编语言编程,实现了时间显示、调时、定时闹钟和复位等功能,并通过Proteus软件进行了仿真验证。 系统设计分为硬件和软件两大部分:硬件包括AT89C51芯片、时钟电路、数码管显示器和喇叭;软件则根据功能需求划分为多个模块,如时间设置、闹钟设置和喇叭响应程序。文档还提供了源程序代码和系统原理图,以便读者深入了解设计过程。 通过这个项目,学生不仅可以掌握单片机基础操作,还能锻炼实际动手能力和问题解决策略,对单片机技术在日常生活中的应用有了更深的认识。设计的完成标志着对所学知识的巩固和提升,为后续的单片机或其他嵌入式系统的学习打下了坚实的基础。
2023-02-27 上传
电子技术基础课程设计报告 定 时 闹 钟 2014年12月24日 摘要 本设计是一个定时闹钟,它仅使用单片的40引脚单片机完成闹钟的全部功能。设计目 的是为了学习和巩固单片机知识,使对已学过的基础知识能有更深入的理解,学会独立 思考、独立思考、独立工作,以及提高对所学应用基本理论分析和解决实际问题的能力 。 本文设计的定时闹钟采用80c51芯片,用汇编语言进行编程,时、分、秒用6位LED数 码管显示。在电路中通过四个按键S1、S2、S3和S4来进行定时和调时,定时时间到通过 喇叭发出报警声。 设计系统的主要功能 · 能显示 时时-分分-秒秒。 · 能够设置定时时间、 修改定时时间。 · 到定时时间能发出报警 1 系统总体方案及硬件设计 1.1 系统总体方案 1)由于要显示数字时间,所以需要6位数码管。 2)时间的定时用时钟电路,修改时间和定时用手动按键控制,报警声通过喇叭发出 。 3)80c51单片机加上外围器件(2个3位共阳数码管,8个限流电阻和一个蜂鸣器)和 应用程序(ISIS 7 Professional软件和KEIL编译软件),构成相应的应用系统。 1.2系统设计方框图 1.3硬件设计 1.3.1芯片:80c51 80c51芯片内不包含一个8位中央处理器cpu,4kb程序存储器ROM,128B随机存取存储器 ,RAM,4个8位并行I/O接口,1个全双工串行通信接口,2个16 位定时器、计数器级及21个特殊功能寄存器。 由先进CMOS 工艺制造并带有非易失性Flash 程序存储器 全部支持12 时钟和6 时钟操作 P89C51X2 和P89C52X2/54X2/58X2 分别包含128 字节和256 字节RAM 32 条I/O 口线 3 个16 位定时/计数器 6 输入4 优先级嵌套中断结构 1 个串行I/O 口 可用于多机通信 I/O 扩展或全双工UART以及片内振荡器和时钟电路。此外,由于器件采用了静态设计,可提 供很宽的操作频率范围,频率可降至0 。可实现两个由软件选择的节电模式,空闲模式和掉电模式,空闲模式冻结CPU但RAM定 时器,串口和中断系统仍然工作掉电模式保存RAM的内容 但是冻结振荡器 导致所有其它的片内功能停止工作。由于设计是静态的时钟可停止而不会丢失用户数据 运行可从时钟停止处恢复。 .1.3.2蜂鸣器 由P3.7口控制蜂鸣器,使其定时时间到能发出报警声。 1.3.3时钟电路 单片机的时钟产生方法有两种:内部时钟方式和外部时钟方式。本系统中单片机采用 内部时钟方式。最常用的内部时钟方式是采用外接晶体和电容组成的并联谐振回路。振 荡晶体可在1.2MHz~12MHz之间。电容值无严格要求,但电容取值对振荡频率输出的稳定 性、大小和振荡电路起振速度有少许影响,一般可在20pF~100pF之间取值。 单片机的时钟电路:如图所示 限流电阻:8个10k电阻 控制按键:本系统要进行时间的调整和定时,因此用4个手动按键对其进行控制。 1.3.4显示器模块的设计 利用2个七段数码管6个选位引脚连接C51单片机 P2.5 –P2.0接口,其他8个引脚分别通过限流电阻与C51单片机的P0.0 - P0.7和共阳极数码管连接。 数码管: 单片机中通常使用7段LED,LED是发光二极管显示器的缩写。LED显示器由于结构简单 ,价格便宜,体积小,亮度高,电压低,可靠性高,寿命长,响应速度快,颜色鲜艳, 配置灵活,与单片机接口方便而得到广泛应用。LED显示器是由若干个发光二极管组成显 示字段的显示部件,当发光二极管导通时,相应的一个点或一个笔划发光,控制不同组 合的二极管导通,就能显示出各种字符。 如图所示 2软件设计 2.1划分模块 根据设计要求,定时闹钟程序可分为以下几个模块: 1)显示时间的设置; 2)闹钟时间的设置: 4)定时时间的响应。 3.2程序流程图 程序流程图 2.3汇编程序 ORG 0000H LJMP START ORG 000BH LJMP TIME ;;;;;;;;初始化;;;;;;;; START: MOV SP, #50H MOV 20H,#00H ;定义秒 MOV 21H,#00H ;定义分 MOV 22H,#00H ;定义时 MOV 23H,#01H ;定义闹钟分钟 MOV 24H,#01H ;定义闹钟小时 MOV 25H,#00H MOV 26H,#01H MOV 30H,#00H ;BCD SECOND MOV 31H,#00H MOV 32H,#00H ;BCD MINUTE MOV 33H,#00H MOV 34H,#00H ;BCD HOUR MOV 35H,#00H MOV 36H,#01H MOV 37H,#00H MOV 38H,#01H MOV 39H,#00H MOV 50H,