基于单片机的万年历设计毕业论文(编辑修改稿)内容摘要:

3。 38 附录 C 49 参考文献 50 致谢 51 XX学院 XX届毕业论文 1 1 引言 电子是推动人类社会文明 、 进步与发展的 巨大动力,随着电子产品的飞速发展,现已将人类带入了智能化的生活。 传统的机械表由于做工的高精细要求,造价的昂贵,材料的限制,时间指示精度的限制,使用寿命,以及其它 方面的限制,已不能满足人们的需求。 另外 从人们的日常生活到工厂的自动控制,从民用时钟到科学发展所需的时钟,现代人对时间的精度和观察时间的方便有了越来越多的需求。 人们要求随时随地都能快速准确的知道时间 , 并且要求时钟能够更直观、更可靠、价格更便宜。 这种要求催生了新型 电子 时钟的产生。 课题的来源和意义 电子技术的飞速发展,微机已开始向社会的各个领域渗透,同时大规模集成电路获得高速发展,单片机的应用正在不断地走向深入,由传统的 8 位 单片机 发展到后来的 16位,诸如 AVR 系列、 PIC 系列、 430 系列等,再到如今的高 级单片机 ARM 体系 下 配合操作系统实现智能化, 这无疑体现了单片机在我们生活中已占据了核心的地位。 本设计核心控制芯片采用了 STC89C52 微控制芯片,该芯片具有功能强、体积小、功耗低、价格便宜,工作可靠,使用方便等优点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器、仪表、数据采集、军工产品以及家用电器等各个领域。 另外,单片机的重要运用意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。 从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件的方法来实现了,这种 软件替代硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现的时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命, 因此得到了广泛的使用。 数字钟是采用数字电路实现对时、分、秒数字显示的计时装置,广泛运用于个人家庭、车站、码头、办公室等公共场所,成为了人们日常生活中必不可少的必需品,由于XX学院 XX届毕业论文 2 数字集成电路的发展 和石英晶体振荡器的广泛运用,使得数字钟的精度,远远超过老式钟表。 钟表的数字化 给人们生活带来了极 大的方便,而且大大地扩展了钟表原先的报警功能, 诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动开关路灯、定时开关烘箱、通断动力设备 、甚至各种定时电气的自动启动等。 所有这些,都是以时钟为基础的。 因此,研究数字时钟具有非常的现实意义。 系统总体方案介绍 本设计以核心控制芯片 AT89C52 为中心, 外挂 接 美国 DALLAS 公司生产的 DS12C887实时时钟芯片 和 DS18B20 温度传感器装置, 实时时钟为系统提供实时的时间。 温度传感器为系统实时反馈当前环境 下 的温度。 在大型公共场所, 当 不方便 使用 调时键 盘 直接调时时, 红外 遥控 装置 用于方便 远距离 调时。 1602 液晶 实时的为 MCU 处理的数据进行显示。 系统总框图 如图 系统总框图 2 方案论证 时钟芯片的选择 方案一:采用单片机本身作为时钟控制芯片来模拟时钟时间。 单片机在工作时,需要外接一个石英晶体振荡器来为单片机提供一个脉冲信号,振荡电路产生的振荡脉冲的频率为 f(也可称为主频 OSC),其并不直接使用,而是经过分频后为系统所用,振荡脉XX学院 XX届毕业论文 3 冲在片内通过一个时钟发生器二分频后才作为系统的时钟信号,时钟脉冲信号的频率为f/2;时钟脉冲六分 频后为机器周期,由此可见,一个机器周期的频率为 f/12,那么一个机器周期单片机执行一条指令,则每执行一条指令定时 /计数器数值加 1;因此,利用单片机内部定时 /计数器可以实现秒脉冲信号,然后通过编程来模拟时钟。 这种方案的好处是外围元器件少,电路简单清晰,设计方便易于实现,出问题的故障几率小。 但是这种方案需由大量的程序来模拟时、分、秒、年、月、日等的更新,编程相对来说较为复杂。 另外由于单片机内部时钟产生的秒脉冲容易受到温度漂移的影响和执行复杂程序时的延时的影响,而使得定时 /计数器会产生不定的误差,即使设计时间误差 补偿程序也很难实现提供准确的时间的功能。 并且这种设计还有一个最大的缺点就是如果单片机断电,时间就会停止,再次上电后时间又会回到初始设定的时间,又要对其调时,比较麻烦。 方案二 : 采用美国 DALLAS公司生产制造的 DS1302实时时钟芯片作为系统时钟芯片。 DS1302是由美国 DALLAS公司推出的涓流充电时钟芯片 , 内含有一个实时时钟 /日历 和 31字节静态 RAM, 通过简单的串行接口与单片机进行通信。 实时时钟 /日历电路提供秒 、 分 、时 、 日 、 日期 、 月 、 年的信息 , 每月的天数和闰年的天数可自动调整 , 时钟操作可通 过AM/PM 指示决定采用 24或 12小时格式。 DS1302与单片机间能简单地采用同步串行的方式进行通信 , 仅需用到三个口线 :( 1) RES( 复位 ),( 2) I/O( 数据线 ),( 3) SCLK(串行时钟),从而解决了由并行时钟芯片使得电路复杂的问题。 时钟 /RAM的读 /写数据以一个字节或多达 31 个字节的字符组方式通信 , DS1302 工作时功耗很低 , 保持数据和时钟信息时功率小于 1mW。 但是, DS1302时钟芯片没有内置电池,在电路掉电的情况下不能继续计时,而且在上电的时候需要校准时间。 其内部也没有振荡器,需要外接时钟震荡器方可使 用,从而使得外围电路较为复杂。 方案三:采用美国 DALLAS 公司生产制造的 DS12C887 实时时钟芯片作为系统时钟芯片。 DS12C887 是美国 DALLS 公司生产的一款实时时钟芯片,该器件提供 RTC∕日历 、定时闹钟 、三个可屏蔽的中断和一个通用的中断输出、可编程方波以及 114 字节电池备份的静态 RAM。 少于 31 天的月份,月末可自动调整,其中包括闰年补偿。 该器件还可以工作于 24 小时或带 AM∕ PM 指示的 12 小时格式。 一个精密的温度补偿电路用来监视 VCC的状态,一旦主电源故障,或断电,该器件可以自动切换到内部锂电池供 电,保证了时钟的正常工作 , 不至于使时间出乱。 该器件支持 Intel 和 Motorola 两种总线模式,内XX学院 XX届毕业论文 4 部集成了石英 晶体震荡器和涓流充电的锂离子电池,极大的减少了外围电路,且使用起来方便。 因此在嵌入式、电表、安全系统、网络集线器、网桥、路由器等等方面得到了广泛的运用。 比较以上三种方案可以看出,第三种方案更加准确而外围硬件电路设计也相对简单,软件设计也相对简洁,因此决定选择第三种方案。 显示器件的选择 方案一:采用 由长沙太阳人电子有限公司设计生产 制造的 LCD 液晶。 该器件重量轻、体积小、功耗低 (约 1015Mw)、 显示 内容丰 富 、 指令功能强( 可组合成各种输入 、 显示 、移位方式以满足不同的设计需求 )、接口简单方便( 可与 8 位处理器或微控制器相连 ) 、工作温度 宽( 050℃ )、可靠性高( 寿命为 50000 小时( 25℃ 时 ) )等优点 ; 该器件在显示上更加灵活,而且改变显示时只要改变显示程序就可以,不用改变硬件电路的设计,易于电路功能的扩展。 但是唯一的缺点是要是显示内容较少时,价格略显得昂贵些。 方案二:采用普通的 8 位 LED 数码管作为显示器件。 该器件显示较为明显清晰反应速度较快,价格便宜,在显示位数较少时性价比较高。 但是,如果显示 内容较多时, LED数码管显得较为麻烦,软件设计较为复杂,电路设计较为复杂,占用单片机 I/O 口较多,且耗能较强,显示位数有限,不利于电路的扩展。 比较以上两种方案可以看出,第一种方案较为适合。 无论从现实灵活方面、耗能等方面。 因此 本设计 采用第一种方案。 DS12C887 时钟电路设计 DS12C887 时钟芯片 概述 DS12C887 是美国 DALLS 公司生产的一款实时时钟芯片,该器件提供 RTC∕日历 、定时闹钟 、三个可屏蔽的中断和一个通用的中断输出、可编程方波以及 114 字节电池备份 的静态 RAM。 少于 31 天的月份,月末可自动调整,其中包括闰年补偿。 该器件还可以工作于 24 小时或带 AM∕ PM 指示的 12 小时格式。 一个精密的温度补偿电路用来监视 VCC的状态,一旦主电源故障,或断电,该器件可以自动切换到内部锂电池供电,保证了时钟的正常工作(在没有 VCC 的 +25℃环境下,电池容量可为振荡器和寄存器供电长达五年之久),不至于使时间出乱。 该器件支持 Intel 和 Motorola 两种总线模式,内部集成了石英晶体震荡器和涓流充电的锂离子电池,极大的减少了外围电路。 XX学院 XX届毕业论文 5 时钟精度依赖于石英晶 体精度和振荡器电路容性负载与石英晶体震荡容性负载之间的匹配度,温度变化所引起的石英晶体频率漂移会导致额外的误差,耦合到振荡器电路中的外部电路噪声会使时钟速度加快,本时钟出厂时经过校准,在 +25℃环境下运行每月误差为177。 1 分钟。 时钟、日历和闹钟单元 时钟和日历信息可以通过读取相应寄存器字节获得,通过写相应的寄存器字节对时钟进行初始化,存储时间、日历和闹钟的 10个字节内容可以是二进制格式如图 ( a),也可以是 BCD码格式如图 ( b),星期寄存器在午夜加 1,从 1递增到 7,夏时令功能用到了 星期寄存器,因此 1被定义为星期天,少于 30天的月份,月末可自动调整,其中包括闰年补偿。 在写内部时钟、日历和闹钟寄存器前,须将寄存器 B的 SET位设为逻辑 1,以防止意外的读写操作引起时钟的更新,除了所选的格式写入 10个字节的时钟、日历和闹钟寄存器外,寄存器 B的数据模式位( DM)必须置为适当的逻辑值。 所有 10个时钟、日历和闹钟字节必须使用相同的数据模式,写入数据模式后寄存器 B的 SET位应该清 0,以允许 RTC更新时钟和日历数据,一旦初始化完成, RTC将使用所选的模式更新所有的数据。 将闹钟的时间正确写入时、分、秒闹钟 单元,且闹钟使能位设为高,则每天在指定的时间都会触发闹钟中断。 在此模式中,闹钟寄存器和相应的时钟寄存器“ 0”位必须总是写入 0. 图( a) XX学院 XX届毕业论文 6 图( b) DS12C887 有 4 个控制寄存器,在任何时间都可以进行访问,即使处于更新周期。 控制寄存器 A : ( 1)第 0 位到 3 位:为速率选择器,这四个速率选择位用来选择 15 级分频器的 13 种分频之一或禁止分频器输出。 ( 2)第 4 位到 6 位:用来启动或关闭振荡器,并复位计时链。 010 是唯 一打开振荡器并允许 RTC 计时的位组合形式, 11组合使能振荡器,但将计时链保持在复位状态, 010写入 DV0、 DV DV2 后 500ms 进行下一次更新。 ( 3)第 7 位:该位是可监视的状态标志位,改位为 1 时,立即进行更新传输,该位为 0时在至少 244uS 的时间内不会进行更新传输。 该位为 0 时 RAM 中的时钟、日历和闹钟信息都可以访问, UIP 位是只读的,而且不受 RST 信号影响,将寄存器 B 的 SET 位置 1 时,禁止任何更新传输并且清除 UIP 位。 控制寄存器 B : ( 1)第 0 位:夏时令使能位, DSE 位是可读 /写位,置 1 时产 生两次夏时令调整,四月的第一个星期天,时间从 1: 59: 59 AM 调整到 3: 00: 00 AM。 十月的最后一个星期天,XX学院 XX届毕业论文 7 时间从 1: 59: 59 AM 调整为 1: 00: 00 AM。 如果 DSE 使能,内部逻辑会在午夜时判断第一 /或最后一个星期天的条件,如果判断时 DSE 位没有置位,夏时令功能不会起作用,当 DSE 清 0 时,这些调整不会有效。 该位不受 DS12C887 内部功能或 RST 的影响。 ( 2)第 1 位: 24/12 小时选择位, 1 代表 24 小时模式, 0 代表 12 小时模式。 该位是可读 /写位,不受 DS12C887 内部功能或 RST 影响。 ( 3)第 2 位:数据模式( DM),该位表示时钟和日立信息格式位二进制还是 BCD 码。 DM位通过程序设置为适当格式,如果需要可以读出。 该位不受任何 DS12C887 内部功能或RST 的影响。 DM=1 时代表二进制格式, DM=0 时 BCD 码格式。 ( 4)第 3 位:方波使能( SQWE),该位置 1 时, SQW 引脚输出一个方波信号,频率由寄存器 A 中的速率选择位 RS3RS0 设定, SQWE 位清 0 时, SQW 引脚保持低电平。 SQWE 位是可读 /写位,能由 RST 信号清除。 禁止时 SQWE 为低,当 VCC 低于 Vpf 时,变为高阻状态, RST 信号将 SQWE 位清 0。 ( 5)第 4 位:更新结束中断使能( UIE), UIE 位是可读 /写位,允许寄存器 C 中的更新结束中断标志( UF)驱动产生 IRQ 信号。 RST 引脚变低或 SET 位变高将清除 UIE 位,UIE 位不受任何 DS12C887 内部功能的影响,但会由 RST 信号清 0. ( 6)第 5 位:闹钟使能( AIE), AIE 位是可读 /写位,置为 1 时,允许寄存器 C 中的闹钟中断标志( AF)位驱动产生 IRQ 信号,在三个时钟字节与三个闹钟字节相等的每一时刻,都会产生一个闹钟中断,如果 AIE 位清 0, AF 位并不触法 IRQ 信号。 AIE 不受任何 DS12C887 内部功能的影响,但会由 RST 信号清 0。 ( 7)第 6 位:周期性中断使能( PIE), PIE 位为可读 /写位,允许寄存器 C 中的周期性中断标志( PF)位将 IRQ 引脚驱动为低电平 PIE 位置 1 时,以寄存器 A 中 RE3RS0 位指定的速率将 IRQ 引脚驱动为低电平,并产生周期性中断。 PIE 位清 0 时,阻止周期性中断驱动 IRQ 输出,但 PF 位仍以该速率周期性置位。 PIE 不受任何 DS12C887 内部功能的影响,但会由 RST 信号清 0。 ( 8)第 7 位: SET, SET 位清 0 时,更新传输功能正常运行,计数每秒加 1, SET 位写1 时,禁止任何更 新传输,程序可对时钟和日历字节进行初始化,而不会再初始化过程中发生数据更新。 SET 位为可读 /写位,不受 RST 信号或 DS12C887 的内部功能影响。 控制寄存器 C : XX学院 XX届毕业论文 8 ( 1)第 0 位到第 3 位:未使用,这些位读取值为 0,但不能被写入。 ( 2)第 4 位:更新结束中断标志位( UF),每次更新结束后, UF 位都将置 1。 如果 UF位置 1,。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。