毕业设计(论文)基于单片机的多功能数字万历的设计.doc

上传人:laozhun 文档编号:3980314 上传时间:2023-03-30 格式:DOC 页数:57 大小:431KB
返回 下载 相关 举报
毕业设计(论文)基于单片机的多功能数字万历的设计.doc_第1页
第1页 / 共57页
毕业设计(论文)基于单片机的多功能数字万历的设计.doc_第2页
第2页 / 共57页
毕业设计(论文)基于单片机的多功能数字万历的设计.doc_第3页
第3页 / 共57页
毕业设计(论文)基于单片机的多功能数字万历的设计.doc_第4页
第4页 / 共57页
毕业设计(论文)基于单片机的多功能数字万历的设计.doc_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《毕业设计(论文)基于单片机的多功能数字万历的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的多功能数字万历的设计.doc(57页珍藏版)》请在三一办公上搜索。

1、基于单片机的多功能数字万年历的设计摘 要随着电子技术的迅速发展,特别是大规模集成电路出现,新一代电子产品给人类生活带来了根本性的改变。尤其是单片机技术的应用产品已经走进了千家万户,而数字万年历的出现给人们的生活带来的诸多方便。本文首先描述系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件接口技术和各个接口模块的功能及工作过程,其次,详细阐述了程序的各个模块和实现过程。本设计以数字集成电路技术为基础,单片机技术为核心。本文编写的主导思想是软硬件相结合,在硬件基础上来进行软件各功能模块的编写。本系统以单片机的C语言进行软件设计,增加了程序的可读性和可移植性,为了便于扩展和

2、更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。系统通过点阵式液晶为载体显示数据,所以具有人性化的操作和美观的页面效果,可以显示时间、公农历日期、星期、温度、节气,天干地支,并有闹铃功能。关键词: 单片机;万年历; 液晶技术 ; 农历Design of Multifunctional digital Perpetual Calendar Based on MCUAbstractWith the rapid development of electronic technology, especially with the emergence of large-scale int

3、egrated circuits, a new generation of electronic products has brought about a fundamental change to our human beings. In particular, products based on Microcontroller single-chip technology have entered tens of thousands of households and the emergence of digital calendar have brought about a lot of

4、 convenience to peoples lives.This article will first describe the working principle of the hardware system with the system block diagram to illustrate the structure, and highlighted by the application of the system interface technology of the hardware and the interface module functions and work pro

5、cesses. Secondly, I described the program in detail and how I did it. The design is based on digital integrated circuits technology, with single-chip technology as the core. The essence of this article is the combination of the hardware and the software. We proceed programming based on hardware.The

6、system uses C-language software programming, which increases the readability and portability. In order to facilitate the expansion and changes to the design of modular software structure, the design of the software adopts module programming which made the logic of the program is more concise. The sy

7、stem adopts the vector dot-matrix liquid crystal to display data and therefore have a user-friendly operation and aesthetically pleasing results, which can show the time, the Chinese date, week, temperature, weather, Heavenly Stems and Earthly Branches, and also include alarm functions.Keywords: mic

8、rocontroller single-chip; calendar; crystal technology; Chinese date目 录引 言1第1章 绪论2 1.1 课题的背景与意义21.2 数字万年历的现状与发展21.3 论文的主要工作及章节安排21.4 本章小结3第2章 系统方案论证42.1 多功能数字万年历系统概述42.2 设计任务与要求42.3 系统方案论证42.3.1 计时方案52.3.2 测温方案52.3.3 显示方案52. 4 本章小结5第3章 硬件电路的设计63.1 主控制器63.2 时钟电路DS130263.3 温度检测DS18B2073.4 液晶显示83.5 按键接

9、口83.6 语音闹铃模块83.7 电源模块93.8 本章小结11第4章 系统软件设计124.1 公历计算显示程序设计134.1.1 DS1302内部寄存器144.1.2 时间读取程序设计154.2 农历转换程序设计174.2.1 公历转农历算法研究174.2.2 干支纪年法简介184.2.3 公历转农历程序194.3 温度测量程序设计214.3.1DS18B20测温原理214.3.2 温度程序21 4.4二十四节气算法研究244.5 本章小结25结论与展望26致 谢27参考文献28附录A 总体电路图29附录B 外文文献及译文30附录C 参考文献题录及摘要35附录D 源程序37插图清单图2-1

10、数字万年历系统框图4图3-1 DS1302与ATMEGA16连接图7图3-2 DS18B20与ATMEGA16连接图8图3-3 报时电路9图3-4 稳压电源原理图10图3-5 电源电路10图4-1 系统程序流程图13图4-2 公历程序流程图14图4-3 DS18B20测温原理21表格清单表3-1 LCD12864显示内容8表4-1 DS1302的寄存器及其控制字14表4-2 RS位配置15引言人类的日常生活离不开时间,任何具有周期性变化的自然现象都可以用来测量时间。远古时代的中国人通过观测日影的位置以确定当时的时辰或刻数,发明了古老的计时工具日晷。日晷虽然只由一根晷针和刻有刻线的晷面组成,但是

11、它却利用了复杂的天体运动规律,这反映了我国古代劳动人民的智慧。随着科技的进步以及中西文化的交融 ,希腊人根据水流从一个容器滴漏到另一个容器的数量来计量时间从而发明了滴漏,在当时得到了普遍的应用。到十四世纪,简易的机械钟开始在欧洲流行,1656年出现了有摆的座钟。它是以伽利略发现的摆动具有规则性这个原理为基础而发明的。自此以后人类掌握了比较精确的计时工具,并不断改进计时方法。现在人们日常生活中广泛使用的是机械表、电子表、电子钟等。对于日以上的时间系统计量与安排则属于历法范畴,历法在我们几千年的华夏文明中占有重要的地位,中华子孙繁衍生息,最早就是依靠耕种为主的农业,那时人们是日出而作、日落而息。后

12、来经过长期的经验积累,掌握了太阳的变化,发现年、月、日都直接与天体运行周期相关。因此,人们就把四季更迭的周期定为年,把月亮盈亏变化的周期定为月。一回归年365.2422日,一朔望月为29.5306日,它们既不是月的整数倍,也不是日的整数倍,使用起来很不方便。因此在人为规定历法中的年和月都是整数日,这种整数日的年和月,称为历年和历月。这就是早期的历法,根据春夏秋冬的季节变化及天干地支时间为依据,来确定什么时候应该耕种,什么时间该收获,这些历法一直延续了几千年,这在世界上也是首屈一指的。现在人们日常生活中广泛使用的有历和挂历等。以上介绍的记录时间的钟表和记录年、月、日的挂历都只具有某一方面的功能,

13、比如钟表只能记录时间,即便是比较先进的钟表顶多也只能多一个记录日期的功能;挂历也只能记录日期而不能记录时间。随着科技的发展,电子技术和计算机应用领域不断扩大,特别是单片机的出现,是近代计算机技术发展史上的一个重要里程碑,因为单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。单片机单芯片的微小体积和低的成本,可以广泛地嵌入到如玩具,家用电器,机器人,仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统、舰船、个人信息终端及通讯产品中,成为现代电子系统中最重要的智能化工具之一,于是基于单片机的醒目而时尚的电子版万年历顺应而生。基于单片机的数字万年历结合了时钟

14、和日历的功能,将其二者融为一体,在显示时间的同时还能显示日期和年、月,它主要是通过单片机来读取时钟芯片的时间、日期,然后送给显示设备显示出来。本文设计的数字万年历与普通万年历相比具有一下特点:1.除了能显示通用的公历外还能显示我国的农历,除了能显示农历的日、月外还能显示农历的年号、节气。它是根据单片机读取到的时钟芯片的日期计算出农历的日期、年号和节气,然后通过单片机的I/O口直接送给液晶显示屏,通过软件程序来控制显示内容; 2.能查询1921年2月8日至2100年2月8日间任意一天的公历和农历的对应关系;3.能实时准确显示它所处环境的温度。本设计所采用的测温元件是美国DALLAS半导体公司生产

15、的一种智能温度传感器DS18B20,测温范围为55125,最高分辨率达到0.0625;4.能实现多点定时并且语音报时。第1章 绪论1.1 课题的背景与意义随着电子技术的迅速发展,特别是大规模集成电路出现,给人类生活带来了根本性的改变,尤其是单片机技术的应用产品已经走进了千家万户。近年来,我国科技的不断发展,我国经济发展的支柱产业电子产业获得长足发展,各种电子产品琳琅满目,随处可见,随着电子产品的更新速度的加快,各种功能强大,款式新颖的电子产品不断问世。数字万年历便是这一发展趋势中的代表,数字万年历则顺应了人们对时间方面的要求。它的出现给人们的生活带来的诸多方便,在时间极显宝贵的现代生活中,其作

16、用更是不言而喻。它在学校、车站、码头、剧院、医院、办公室等公共场所的应用非常广泛。但传统的数字万年历除显示时间之外,功能较为单一,逐渐失去了市场。顺应技术发展和人们生产、生活需求,各种功能的新式万年历不断涌现,且功能不断更新。数字万年历作为电子类的小产品以其方便、实用等优势成为市场上的宠儿,同时也成为单片机设计培训中一个很实用的课题。因为这个课题有很好的的开发性和可发挥性,因此对设计者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。而且要求设计的数字万年历在操作上力求简洁,功能上尽量齐全,显示界面也要出色。所以数字万年历无论从实用的角度和培养能力的角度都很有价值。1.2

17、 数字万年历的现状与发展当前,数字万年历技术已经进入了优化人-家庭 -环境的整体关系的阶段,它向着超微型、超高效以及集成电路的微型化方向发展,并为数字万年历上的集中控制提供了基础。目前,市场上出售的数字万年历品种很多,其中大部分是基于单片机技术设计的电子系统。它们一般由输入脉冲电路、单片机、晶振和复位电路、外部存储器电路和LED显示电路组成。当今,数字万年历主要还是用于计时、自动报时、定时、日期查询以及自动控制等方面。由于单片机技术以及数字集成电路技术的发展和采用了先进的石英技术,使得如今的数字万年历系统具有体积小、耗电省、计时准确、性能稳定、维护方便、走时准确、携带方便等优点,此外,现在市场

18、上已有现成的数字万年历集成电路芯片出售,而且价格便宜、使用也很方便。日历的发展经历了数千年的历史。现代日历随着使用范围的不断扩大,功能日益增加,种类也越来越多。从70年代以来,随着单片机和超大规模集成电路的发展,为数字万年历的飞速发展奠定了物质基础。近几年来,数字万年历的发展方向是朝着走时精度高、稳定性好、使用方便、耗电量小、走时延续时间长、体积小、功能多、制造成本低等方向发展。最新的数字万年历,它除了具有常见万年历功能外,而且还具有倒计时、多点定时、语音报时、实时温度测量等功能。在硬件方面它并没有太大的变化,主要是通过增加软件部分来实现倒计时、多点定时的功能。 不难想像,随着科学技术的飞速发

19、展, 各种高新技术的出现并被广泛应用到生产、生活中,未来数字万年历产品也必将沿着体积小、耗电省、计时准确、性能稳定、维护方便、走时准确、性能稳定、携带方便等方向发展而其成本却越来越低。1.3 论文的主要工作及章节安排论文主要围绕对数字万年历系统的设计为主线展开,主要包括复位电路设计、时钟电路设计、按键电路设计、实时控制电路设计、报时电路设计、数字万年历显示电路设计等硬件电路的设计以及为实现其各项功能而编写的软件程序设计等。论文具体章节的安排如下:第一章:阐述本课题的背景与意义,并对数字万年历系统的现状与发展展开了叙述,以及按章节具体介绍了论文所需要完成的工作。第二章:介绍了本套系统的组成,并讨

20、论了本套数字万年历系统的几种方案设计以及主要电路的方案设计与比较,从而从理论上得出了本套系统最合理的方案设计。第三章:介绍了本套系统的各硬件模块设计,提出了几种基本硬件电路的设计。第四章:介绍了数字万年历系统的软件设计以及如何读取DS1302时间以及公历与农历如何转换等。1.4 本章小结本章首先讲述了本文的选题来源及研究意义,然后讲述了数字万年历系统在国内外的发展过程及当前现状,其中叙述了数字万年历系统的优点,最后根据论文需要研究的主要内容,对课题的来源与所要完成的工作做了进一步的交代。第2章 系统方案论证2.1 多功能数字万年历系统概述本设计是利用键盘模块进行输入控制,将控制指令传送到单片机

21、,通过单片机的数据处理,配合复位电路以及时钟电路来驱动LCD显示和闹铃音乐,从而实现该数字万年历的各项功能。单片机是整个系统的核心,它既是协调整机工作的控制器,又是数据处理器,AVR公司的Mega系列能完成本系统所要求的所有功能,所以选用单片机ATmega16;时钟芯片采用DALLAS公司的DS1302涓流充电时钟芯片;按键电路拟采用四个按键,分别实现校时、定时功能,并且定时时间到可报时;显示电路采用12864点阵字符液晶显示器;语音系统是提示用户系统的实时状态或对系统进行操作,语音电路可提供整点报时、闹铃等功能,本系统选用简单的蜂鸣器来完成。本设计的基本结构框图如下: 键盘电路时钟电路DS1

22、302复位电路LCD显示语音系统 单片机ATmega16温度传感器DS18B20 图2-1 数字万年历系统结构图2.2 设计任务和主要内容本设计以单片机为控制核心,采用模块化设计,共分以下几个功能模块:单片机控制系统、实时时钟模块、环境温度检测模块、人机接口模块、语音模块等。1、 单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。它由单片机、时钟电路、复位电路等组成。2、 实时时钟芯片采用带 RAM的时钟芯片DS1302。该芯片可以进行时分秒的计数,具有100年日历,可编程接口,还具有报警功能和掉电保存功能,并且可以对其方便的进行程序控制,完全能满足设计的要求。3、 温

23、度检测电路采用DALLAS公司生产的单线数字温度传感器DS18B20,它具有独特的单线总线接口方式,具有接口简单、精度高、抗干扰能力强、工作稳定可靠等特点。4、 语音电路是提示用户系统的实时状态或对系统进行操作,语音电路可提供整点报时、闹铃等功能。根据这些功能要求,本系统选用简单的蜂鸣器。5、 人机接口模块采用四个普通控制键盘,液晶显示。液晶显示功耗低,轻便防震,由于本设计显示信息比较复杂,采用液晶显示界面友好清晰,操作方便,显示信息丰富。本设计采用LCD(12864)显示各种状态。2.3 系统方案论证2.3.1 计时方案时钟是本数字万年历最主要的部分,根据需要,可利用两种方案实现:方案一:本

24、方案完全用软件实现走时,原理为:利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到 60,则将其清零,并将相应的分字节值加 1;若分值达到 60,则清零分字节,并将时字节值加 1;若时值达到 24,则将十字节清零。该方案具有硬件电路简单的特点 , 但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高,而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。方案二:采用 Dallas 公司的专用时钟芯片 DS1302 。该芯片内部采用石英晶体振荡器,其芯片精度不大于 10ms/ 年,可直接读取时间、日期,使得软件编程相对简单。而且 DS1

25、302 可以在很小电流的后备电源( 2.5V-5.5V ,在 2.5V 时耗电小于 300nA )下继续计时,时钟在电网电压不足或突然掉电等突发情况下仍能正常工作。基于时钟芯片DS1302的上述优点,本数字万年历设计采用方案二完成时钟的功能。2.3.2 测温方案方案一:采用传统的方法,测温元件用热电偶或热电阻,但它们测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持,电路复杂,软件调试复杂,制作成本高。方案二:用一种智能传感器 DS18B20 作为检测元件,测温范围 -55 125 ,分辨率最大可达 0.0625 。 DS18B20可以直接读出被测温度值 , 而且采用3线制与单片

26、机相连,减少了外部硬件电路,具有低成本和易使用的特点。基于 DS18B20 的上述优点,本数字万年历的测温设计采用方案二完成温度的检测。2.3.3 显示方案方案一:采用数字万年历显示。数字万年历亮度高、体积小、重量轻,但其显示信息简单、有限,在本题目中应用受到很大的限制。 方案二:采用液晶显示。液晶显示功耗低,轻便防震。采用液晶显示界面友好清晰,操作方便,显示信息丰富。能使成品具有美观与人性化等特点,故采用此方案。2.3 本章小结本章主要围绕数字万年历这一整套系统为主线展开,首先讲述了数字万年历系统的组成,然后讲述了几种主要电路方案的设计与论证,比较了两种方案的不同以及优缺点,然后确定所设计的

27、数字万年历采用的方案。 第3章 系统硬件设计本系统以单片机为核心控制器,包含了时钟芯片的接口、键盘接口、温度检测接口以及液晶显示输出接口,因此在硬件设计中合理分配单片机的输入输出端口尤为重要,通过综合比较市场上的元器件的价格以及分析单片机的I/O 口数量,本系统最终选择了AVR 单片机中的 MEGA16 型,设计的硬件电路图见附录2,其单片机的I/O的分配如下:11个I/O口用于液晶显示,4个I/O口用于按键输入,3个 I/O 口用于时钟芯片,1个 I/O口用于温度检测,1个I/O口用于声音输出,单片机的20个I/O口充分利用。下面从系统硬件的各个组成部分一一做介绍。3.1 主控制器 ATme

28、ga16带有16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512字 节的EEPROM,1K字节的SRAM,32个通用I/O口线,32个通用工作寄存器,用于边界扫描 的JTAG 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/计数器(T/C), 片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可 选差分输入级可编程增益(TQFP 封装)的ADC,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,以及六个可以通过软件进行选择的省电模式。工作于空闲模式时CPU 停止工作,而USART、两线接口、A/D转换器、SRAM、T/C、S

29、PI端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;ADC噪声抑制模式时终止CPU和除了异步定时器与ADC以外所有I/O模块的工作,以降低ADC转换时的开关噪声;Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展 Standby 模式下则允许振荡器和异步定时器继续工作。该芯片是以Atmel高密度非易失性存储器技术生产的。片内ISP Flash允许程序存储器通过ISP 串行接口,或者通

30、用编程器进行编程,也可以通过运行于AVR内核之中的引 导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用 Flash存储区 (Application Flash Memory)。在更新应用 Flash存储区时引导 Flash区(Boot Flash Memory)的程序继续运行,实现了RWW操作。通过将8位RISC CPU与系统内可编程的Flash集成在一个芯片内,ATmega16成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。3.2 时钟电路DS1302本系统时钟芯片选择了DS1302芯片,该芯片是DALLAS 公司推出的涓流充电时钟 芯片,内含有一个实

31、时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行 通信实。时钟/日历电路提供秒、分、时、日、日期、月、年的信息,每月的天数和闰 年的天数可自动调整,时钟操作可通过AM/PM 指示决定采用24或12小时格式。DS1302与 单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线:(1)RES(复位);(2)I/O(数据线);(3)SCLK(串行时钟)。时钟/RAM 的读/写数据以一个字节或多达31个字节的字符组方式通信。DS1302由DS1202改进而来,有主电源、后备电源双电源引 脚:Vcc1在单电源与电池供电的系统中提供低电源,并提供低功率的电池备份;Vcc2在 双电源

32、系统中提供主电源。在这种运用方式中,Vcc1连接到后备电源,以便在没有主电 源的情况下能保存 时间信息以 及数据。 DS1302由Vcc1或Vcc2中较大者供电。当 Vcc2(Vcc1+0.2V)时,Vcc2给DS1302供电;当 Vcc2Vcc1时,DS1302由Vcc1供电。DS1302 工作时功耗很低,保持数据和时钟信息时功率小于1mW。DS1302与ATmega16的接口电路图如图3-1所示: 图3-1 DS1302与ATmega16连接图3.3 温度检测 DS18B20随着现代信息技术的飞速发展和传统工业改造的逐步实现,温度自动检测和显示系统在很多领域得到广泛应用,传统的温度检测元件

33、如热敏电阻、AD590,虽然成本低,但因其后续处理电路复杂、可靠性相对较差、测量准确度低,因此逐步被新型温度传感器所代替,本万年历采用了美国 DAL-LAS公司最新推出的 DS18B20数字式温度传感器 ,并由 DS18B20和ATmega16组成了室温测量系统,可根据实际需要任意设定温度值,并进行自动控制。DS18B20 是美国DALLAS 公司继DS18B20 之后推出的增强型单总线数字式温度传感 器,它在转换速度、转换时间、传输距离、分辨率等方面较DS18B20 有了很大的改进,给 用户带来了更方便、更令人满意的效果。图3-2 DS18B02与ATmega16连接图3.4 液晶显示液晶显

34、示模块具有体积小、功耗低、显示内容丰富等特点,现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件,功能介绍:LCD12864-12(黄色背光)是一款具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为12864, 内置8192个16*16点汉字,和128个16*8点ASCII字符集。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字. 也可完成图形显示。低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电

35、路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。拟显示内容如表3-1所示。 表3-1 lcd12864画面1显示内容20090601星期一己丑年五月初九芒种19:25:0829.1度3.5 按键接口 按键输入部分主要用于时间调整、定时设置、闹钟设置以及查询公历某日对应的 农历日期,最终确定由四个按键来实现上述功能,由于按键比较少,所以用普通按钮接在 I/O 口,启用 I/O 口的内部上拉电阻,用查询法完成读键功能。3.6 语音闹铃模块报时是本套数字万年历的一个重要功能,报时器可用蜂鸣器和扬声器来实现,本次设计采用蜂鸣器实现闹铃报时,蜂鸣器俗称喇叭,是一种一体化结构的

36、电子讯响器,它是目前被广泛应用于计算机、打印机、复印机、报警器、电话机等各种电子产品中的一种元器件。它可用于提示、报警、音乐等许多应用场合。蜂鸣器发声原理是接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,蜂鸣器与家用电器上面的喇叭在用法上也有相似的地方,通常工作电流比较大,因此需要一定的电流才能驱动它。由于单片机I/O引脚输出的电流较小,所以单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。本次设计采用了一个很简单的电路来实现蜂鸣器的连接,利用一个三极管来放大驱动蜂鸣器,电路连接如图3-3所示。在本设计电路中,设计者采用PNP管

37、9012来做为控制蜂鸣器的开关,由图3-3可以看出当PD6引脚为高电平时,PNP管截止,蜂鸣器不工作;当PD6引脚为低电平时,PNP管导通,蜂鸣器工作,其中R2为限流电阻。采用PNP管9012的作用是为了防止系统上电时峰鸣器发出声音,因为系统复位以后,I/O口输出的是高电平。用户可以通过程序控制PD6管脚的置低和置高来使蜂鸣器发出声音和关闭,同时,蜂鸣器的声音大小及音调可以通过调整PD6管脚的置高时间及输出的波形进行控制,这一点可以在调试程序的时候来实现。 图3-3 报时电路3.7 电源的设计电源部分的设计目的就是为各个硬件提供工作电源。单片机ATmega16芯片,显示电路等都采用5V电源供电

38、。具体的方案是用W7805集成稳压电源提供+5V的电压供给单片机。其原理是(以+5V为例介绍)用交流电220V通过变压器变压,变为交流的9V电压,再经过整流变为直流电后,再接一个W7805使其转换为所需的直流电作为外接电源。集成稳压电源又称三端集成稳压器,它是指将功率调整管、取样电阻、基准电压、误差放大、启动及保护电路等全部集成在一块芯片上,具有特定输出电压的稳压集成电路。三端是指电压输入端、电压输出端和公共接地端。这类稳压器的输出为固定电压。国内外厂家均将此系列稳压器命名为78系列,如7805、7812等。其中“78”后面的数字代表该稳压器输出的正电压数值,以伏特为单位。例如7805即表示稳

39、压输出为5V,7812表示稳压输出为12V等。有时我们会发现型号78前面和后面还有一个或几个英文字母,如W78、AN78、L78CV等。前面的字母称“前缀”,一般是各生产厂(公司)的代号;后面的字母称“后缀”用以表示输出电压容差和封装外壳的类型。稳压电源由电源变压器、整流电路、滤波电路和稳压电路四个部分组成,如图3-4所示图3-4 稳压电源原理图电源变压器的作用是将来自电网的220V交流电压uI变换为整流电路所需要的交流电压u1。在稳压电源中一般用四个二极管组成桥式整流电路,整流电路的作用是将交流电压u2变换成脉动的直流电压u3。由于输入电压u3发生波动、负载和温度发生变化时,滤波电路输出的直

40、流电压u3会随着变化。因此,为了维持输出电压U0稳定不变,还需加一级稳压电路。稳压电源是单片机系统的重要组成部分,它不仅为系统提供多路电压源,还直接影响到系统的技术指标和抗干扰性能。一个稳压电源输出电压和最大输出电流决定于所选三端稳压器。在本次设计中采用+5V电压所以选用H7805稳压器。它的主要特点如下:1.输出电流可达1A 2.输出电压有:5V 3.过热保护 4.短路保护 5.输出晶体管SOA保护光靠一个稳压器还不行,还需要有电容或电阻与其连接才能得到较稳定的+5V电压。220V电压必须经过整流才可接到稳压器的输入端,则整个电源电路可分整流、滤波、稳压三部分。电路图如图3-5所示。图3-5

41、 电源电路整流部分为桥式整流电路,其桥式整流电路的工作原理如下:E为正半周时,对D1、D3加正向电压,Dl,D3导通;对D2、D4加反向电压,D2、D4截止。电路中构成E、Dl、后接负载、D3通电回路,在后接负载上形成上正下负的半波整洗电压,E为负半周时,对D2、D4加正向电压,D2、D4导通;对D1、D3加反向电压,D1、D3截止。电路中构成E、D2、D4通电回路,同样在后接负载上形成上正下负的另外半波的整流电压。如此重复下去,结果在后接负载上便得到全波整流电压。从图2-6中还不难看出,桥式电路中每只二极管承受的反向电压等于变压器次级电压的最大值,比全波整流电路小一半。滤波部分为带极性的电容

42、,如图3-5中电容E2即为滤波电容其值取2200uF。稳压部分接三端稳压集成芯片H7805,能输出5V稳压电源,电容C0来抵消输入线较长时的电感效应,以防止电路产生自激振荡,其容量较小,一般小于1uF。用E3消除输出电压中的高频噪声,并有滤波的作用。另外,二极管D5起保护作用。3.8 本章小结本章主要介绍的是本设计的硬件结构设计,通过单片机相关的I/O口输入、输出来实现相应的控制功能。还具体介绍了时钟电路、温度电路、按键电路、显示电路、语音电路以及电源电路等的设计。第4章 系统软件设计本系统的软件部分主要进行公历计算程序设计,公历转农历的算法的研究,温度 测量程序设计,按键的扫描输入等。程序开

43、始运行后首先要进行初始化,把单片机的各引脚的状态按程序里面的初始化命令进行初始化,初始化完成后运行温度测量程序,读取出温度传感器测量出来的温度,然后运行公历计算程序,得到公历的时间、日期信息 , 再运行按键扫描程序,检测有无按键按下,如果没有按键按下则直接调用公历转农历程 序,根据得到的公历日期信息计算出农历的日期和年号,如果有按键按下则更新按键修 改后的变量后送给农历计算程序,由农历计算程序根据修改后的变量计算出对应的农历 年份,计算完成后运行显示程序,显示程序将得到的温度数据、公历信息、农历信息送给液晶屏让其显示。系统总体程序流程图如图所示:图4-1 系统整体程序流程图4.1 公历计算显示

44、程序设计本系统使用的是时钟芯片 DS1302,公历程序主要完成从 DS1302 各个寄存器中读出 年、周、月、日、时、分、秒等数据,再进行处理。在首次对 DS1302 进行操作前,必 须对它进行初始化,然后从 DS1302 中读出数据,再经过处理后,送给液晶屏显示。公历程序流程图如图 4-2 所示:图4-2 公历程序流程图4.1.1 DS1302内部寄存器DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD 码形式。其日历、时间寄存器及其控制字见表4-1。表4-1 DS1302的日历、时钟寄存器及其控制字寄存器名命令字取值范围各位内容写操作读操作76543210

45、秒寄存器80H81H00-59CH10SECSEC分寄存器82H83H00-59010MINMIN小时寄存器84H85H01-12或00-2312/24010/APHRHR日期寄存器86H87H00-28、29、30、310010DATADATA月份寄存器88H89H01-1200010MMONTH周寄存器8AH8BH01-0700000DAY年寄存器8CH8DH00-9910YEARYEAR注:本数据均来自DS1302操作说明书。此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。DS

46、1302与RAM相关的寄存器分为两类,一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为COHFDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、 FFH(读)。CH:时钟停止位寄存器2 的第7 位12/24 小时标志 CH=0 振荡器工作允许bit7=1,12 小时模式CH=1 振荡器停止bit7=0,24 小时模式WP:写保护位寄存器2 的第5 位:AM/PM定义 WP=0 寄存器数据能够写入AP=1 下午模式WP=1 寄存器数据不能写入AP=0 上午模式 TCS:涓流充电选择DS:二极管选择位 TCS=1010 使能涓流充电DS=01 选择一个二极管 TCS=其它 禁止涓流充电DS=10 选择两个二极管 DS=00 或11, 即使TCS=1010, 充电功能也被禁止 表4-2 RS位配置RS位电阻典型位00没有没有0101R1R12K2K1010R2R24K4K11R38K注:数据来源于DS1302操作说明书。4.1.2 时间读取程序设计本系统的时间读取主要来源于单片

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号