logo资料库

基于51单片机电子闹钟毕业设计.doc

第1页 / 共39页
第2页 / 共39页
第3页 / 共39页
第4页 / 共39页
第5页 / 共39页
第6页 / 共39页
第7页 / 共39页
第8页 / 共39页
资料共39页,剩余部分请下载后查看
摘 要
ABSTRACT
目 录
第一章 引 言
1.1 课题的来源
1.2 课题研究的目的和意义
1.3本课题的主要内容及达到的技术要求
第二章 系统总体架构设计
2.1 单片机型号的选择
2.2 按键的选择
2.3 显示器的选择
2.4 计时部分的选择
2.5 发音部分的设计
2.6 显示器驱动电路
2.7 电源的选择
2.8 Protues和Keil软件介绍
第三章 系统硬件电路设计
3.1 硬件总体电路图设计
3.2 硬件功能模块电路的设计
3.2.1 AT89C51单片机简介
3.2.2 键盘电路的设计
3.2.3 段码驱动电路
3.2.4 蜂鸣器驱动电路
第四章 系统软件设计
4.1 主程序部分的设计
4.2 中断定时器的设置
4.3 闹钟子函数
4.4 计时函数
4.5 键盘扫描函数
4.6 时间和闹钟的设置
第五章 系统仿真测试
总 结
致 谢
参考文献
附 录
摘 要 摘 要 单片机自 20 世纪 70 年代问世以来,以其极高的性能价格比,受到人们的重视和 关注,应用很广、发展很快。而 51 单片机是各单片机中最为典型和最有代表性的一种。 本设计以 AT89C51 芯片为核心,辅以必要的外围电路,设计了一个结构简单,功 能齐全的电子时钟,它由 5V 直流电源供电。在硬件方面,除了 CPU 外,使用八个七 段 LED 数码管来进行显示,LED 采用的是动态扫描显示,使用 74LS245 芯片进行驱动。 通过 LED 能够较为准确地显示时、分、秒。四个简单的按键实现对时间的调整。软件 方面采用 C 语言编程。整个电子钟系统能完成时间的显示、调时、校时和三组定时闹 钟的功能。能够正常完成时钟的定时、调时以及提示功能。采用蜂鸣器作为闹钟响铃。 选用单片机最小系统应用程序,添加比较程序、时间调整程序及蜂鸣器程序,通过 时间比较程序触发蜂鸣器,实现闹钟功能,完成设计所需求的软件环境。介绍并使用 Keil 单片机模拟调试软件,测试程序的可行性并用 Proteus 进行仿真。 关键词:单片机,定时器,中断,闹钟,蜂鸣器 1
英 文 摘 要 ABSTRACT Because of its extremely high performance-price ratio, the single-chip computer (SCC) has been paid great attention to ever since it came out in 1970s of 20th Century, and has gained an extensive applicable field and fast development. Among all kinds of SCCS, 51 SCC is the most typical and representative one. This design, adopting AT89C51 chip as the core part with some necessary peripheral circuits, is a simple electronic clock which uses 5V DC as the power supply. In hardware aspect, besides the CPU, eight seven-segment LED digi-tubes are used for display, which work in a dynamically scanning display mode and driven by 74SL245 chip. The LEDS can accurately indicate hour 、minute and second. Four buttons can be used to adjust the time. While in the software aspect, the programming language is C language. The whole electronic clock system has functions of time display, adjustment 、timing and three groups of alarm function. Choose the smallest SCM system applications, add Comparison procedures, time to adjust procedures and faint buzzing procedures, Through relatively faint buzzing trigger procedures to achieve alarm clock function, Completed the design needs of the software environment. Keil introduced and the use of SCM software simulation debugging, testing the feasibility and proteus by simulation. Keyword: single slice machine,in fixed time machine,break off,alarm clock,speaker 2
目 录 目 录 摘 要...................................................................................................................................... 1 ABSTRACT............................................................................................................................. 2 目 录...................................................................................................................................... 3 第一章 引 言.................................................................................................................... 5 1.1 课题的来源....................................................................................................................5 1.2 课题研究的目的和意义................................................................................................5 1.3 本课题的主要内容及达到的技术要求........................................................................ 6 第二章 系统总体架构设计.................................................................................................... 7 2.1 单片机型号的选择........................................................................................................7 2.2 按键的选择....................................................................................................................7 2.3 显示器的选择................................................................................................................7 2.4 计时部分的选择............................................................................................................8 2.5 发音部分的设计............................................................................................................8 2.6 显示器驱动电路............................................................................................................8 2.7 电源的选择....................................................................................................................8 2.8 PROTUES 和 KEIL 软件介绍.........................................................................................8 第三章 系统硬件电路设计.................................................................................................. 10 3.1 硬件总体电路图设计..................................................................................................10 3.2 硬件功能模块电路的设计..........................................................................................10 3.2.1 AT89C51 单片机简介...........................................................................................10 3.2.2 键盘电路的设计.................................................................................................. 11 3.2.3 段码驱动电路...................................................................................................... 11 3.2.4 蜂鸣器驱动电路.................................................................................................. 12 第四章 系统软件设计.......................................................................................................... 13 4.1 主程序部分的设计....................................................................................................13 4.2 中断定时器的设置......................................................................................................13 4.3 闹钟子函数..................................................................................................................15 3
目 录 4.4 计时函数......................................................................................................................16 4.5 键盘扫描函数..............................................................................................................18 4.6 时间和闹钟的设置......................................................................................................18 第五章 系统仿真测试.......................................................................................................... 20 总 结.................................................................................................................................... 22 致 谢.................................................................................................................................... 23 参考文献................................................................................................................................ 24 附 录.................................................................................................................................... 25 4
第一章 引 言 第一章 引 言 1.1 课题的来源 随着生活水平的提高,人们越来越追求人性化的事物,传统的时钟已不能满足人 们的需求。现代的时钟不仅需要模拟电路技术而且需要数字电路技术和单片机技术, 增加时钟的功能。数字电子钟可利用软件编程尽量做到硬件电路简单稳定,减小电磁 干扰和其他环境干扰,减小因元器件精度不够引起的误差;尽管如此数字钟还是可以改 进和提高,比如选用更精密的元器件。但与机械式时钟相比已经具有更高的准确性和 直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。 1.2 课题研究的目的和意义 20 世纪末,电子科技得到了飞速的发展,在其推动下,现代电子产品几乎应用到 社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也 使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说 总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情, 当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可 能酿成大祸。例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充电时间等 造成的。而钟表的数字化给人们生产生活带来了极大的方便。 数字钟是通过数字电路实现时,分,秒数字显示的计时装置,广泛用于个人家庭、车 站、码头办公室等公共场所,成为人们日常生活中不可少的必需品。由于数字集成电路 的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数 字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能,诸 如定时自动闹钟、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定 时开关烤箱、通断动力设备、甚至各种定时电气的自动启用等。所有这些,都是以钟 表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。本系统 利用单片机实现具有计时、校时等功能的数字时钟,是以单片机 AT89C51 为核心元件 同时采用 LED 数码管显示器动态显示“时”、“分”、“秒”的现代计时装置。另外具有校 时功能,秒表功能,和定时器功能,利用单片机实现的数字时钟具有编程灵活,便于 功能的扩充等优点。 5
1.3 本课题的主要内容及达到的技术要求 第一章 引 言 本设计应解决的主要问题有两大方面,即硬件电路设计和软件设计两大方面。其 中硬件电路部分又可分为四个模块:键盘模块、显示模块、计时模块和发声模块。硬 件电路部分致力于低成本、低功耗和易实现性,采用 51 单片机和 LED 显示屏等部件 符合其可实现性和经济性。软件部分则应做到代码的精简、准确、易读懂,遂采用简 单易懂的 C 语言来编写主程序。通过 Keil uVision4 编译成 HEX 文件,最后应用 protues 模拟软件,通过硬软件的结合实现数字钟的精确计时、校时、三组闹钟设置和定时闹 钟功能。 6
第二章 系统总体架构设计 第二章 系统总体架构设计 2.1 单片机型号的选择 通过对多种单片机性能的分析,最终认为 AT89C51 是最理想的电子时钟开发芯片。 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器的低电压,高性能 CMOS8 位 微处理器,器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中, ATMEL 的 AT89C51 是一种高效微控制器,而且它与 MCS-51 兼容,且具有 4K 字节可 编程序存储器和 1000 次擦写循环,数据保留时间为 10 年,是最好的选择。 2.2 按键的选择 方案一:采用 4×4 矩阵式键盘。如果选择此方案,那么在修改时钟或设置闹铃时 间时就可以直接从键盘输入,方便、快捷,直观易懂。但程序较为复杂,键盘扫描程 序编写难度较大。同时单键单功能也是对按键的使用也比较浪费。 方案二:独立式按键。如果设置过多按键,将会占用较多 I/O 口,而且会给布线 带来不便,因此,此方案适用于按键较少的情况。如果选择此方案,由于按键较少, 在修改时间或设置闹铃时间时就不能直接输入,只能通过加或减完成,稍为麻烦一些, 但其程序简单,按键的原理设计也相对方案一简单好操作,唯一不足的地方:需写明 操作方法,每次操作都需按照操作步骤来,无法跳跃式操作。 由于并不需要经常修改时间和设置闹铃时间,而且方案二的程序简单,按键少、 成本低,因此,选择方案二。 2.3 显示器的选择 方案一:液晶显示器 LCD。如果选择此方案,将会降低系统的功耗,这样就可以 用电池供电,便于携带。但液晶显示器的驱动电路复杂,使用起来有一定的难度。 方案二:用数码管作为显示器 LED。数码管的驱动电路简单,使用方便,如果选 择了此方案,那么在夜间看时间的时候就不需要有光源,非常方便。其缺点是功耗较 大。 由于数码管使用起来较为方便,在夜间看时间也很方便,因此选择方案二。 7
第二章 系统总体架构设计 2.4 计时部分的选择 如果使用时钟芯片,系统就不怕掉电且时间精确。但这种芯片比较贵,况且,设 计本系统主要是为了学习单片机程序的编写和调试以及设计硬件电路的一些方法,因 此采用软件的方法来计时而没有采用价格较高的时钟芯片。 2.5 发音部分的设计 通过三极管放大后驱动蜂鸣器工作,再通过软件这时产生等时时间方波驱动蜂鸣 器发出间断嘀声,这样就可以省去硬件振荡电路,降低成本。 2.6 显示器驱动电路 由于通过数码管公共及的电流较大且避免过多地使用分立元件,采用了一片 74LS245 来驱动段码,用 P3 口作位码驱动。 2.7 电源的选择 如果是用电池供电,就比较方便携带,但是本系统,采用了数码管作为显示器, 功耗较大,需要经常更换电池。况且,本系统的体积较大,即使使用电池供电也不能 随身携带,因此,用电池供电不大合适,所以用 5V 外部稳压电源来供电。 2.8 Protues 和 Keil 软件介绍 Protues: Protues 软件是英国 Labcenter electronics 公司出版的 EDA 工具软件。 它不仅具有其它 EDA 工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最 好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好 者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus 是 世界上著名的 EDA 工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协 同仿真,一键切换到 PCB 设计,真正实现了从概念到产品的完整设计。是目前世界上 唯一将电路仿真软件、PCB 设计软件和虚拟模型仿真软件三合一的设计平台,其处理 器模型支持 8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086 和 MSP430 等,2010 年即将增加 Cortex 和 DSP 系列处理器,并持续增加其他系列处理器模型。在 编译方面,它也支持 IAR、Keil 和 MPLAB 等多种编译。 Keil:Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件 开发系统,与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显的优 势,因而易学易用。Keil 提供了包括 C 编译器、宏汇编、连接器、库管理和一个功能 强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些 8
分享到:
收藏