音乐万年历基于at89s52带完整程序

上传人:桔**** 文档编号:487756003 上传时间:2023-01-03 格式:DOC 页数:50 大小:2.84MB
返回 下载 相关 举报
音乐万年历基于at89s52带完整程序_第1页
第1页 / 共50页
音乐万年历基于at89s52带完整程序_第2页
第2页 / 共50页
音乐万年历基于at89s52带完整程序_第3页
第3页 / 共50页
音乐万年历基于at89s52带完整程序_第4页
第4页 / 共50页
音乐万年历基于at89s52带完整程序_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《音乐万年历基于at89s52带完整程序》由会员分享,可在线阅读,更多相关《音乐万年历基于at89s52带完整程序(50页珍藏版)》请在金锄头文库上搜索。

1、简易数字时钟的设计(完整程序附在最后)摘要:本电子钟利用单片机AT89S52控制日历时钟芯片DS12C887实现多功能数字时钟。该时钟由单片机控制日历时钟芯片实现年份、月份、日期、时间信息的获取,并且通过LCD12864对年份、月份、日期、星期、节日、时间信息进行显示,可以对年份、月份、日期、星期、时间进行修改,具有掉电后时间信息不丢失的功能。另外具有闹钟功能和具有整点报时功能,可设置闹铃时间,当闹铃时间到时,进行闹铃,通过任意按键可解除闹铃;当整点到来,鸣奏音乐。采用18B20进行温度测控,超出温度阈值将会进行报警。我们将程序固化到单片机中,并且设有程序下载口,可以方便对程序进行升级。关键词

2、:多功能数字时钟,单片机AT89S52,日历时钟芯片DS12C887,闹铃,整点报时。1 设计要求基本设计要求(1)单片机控制日历时钟芯片实现年份、月份、日期、星期、时间信息的获取。(2)在LCD上对年份、月份、日期、星期、时间、信息进行显示。(2)可以对年份、月份、日期、星期、时间进行修改。(3)具有掉电后时间信息不丢失的功能。发挥部分(1)具有闹钟功能。可设置闹铃时间,当闹铃时间到时,进行闹铃。通过按键可解除闹铃。(2)具有整点报时功能。(3)程序固化到单片机中,并且可直接进行程序下载和更新。2 总体设计2.1 系统组成及工作原理本电子钟由单片机、定时、显示、按键、定时提醒、ISP在线编程

3、6部分组成。产品以AT89S52单片机、DS12C887时钟芯片为核心,显示部分采用LCD12864,使用6个按键、1蜂鸣器和一个温度传感器,加上ISP在线编程模块。DS12C887时钟芯片产生时钟信号和存放闹铃数据,其精度和可靠性高,在单片机掉电状态下能正确走时、保存闹铃数据长达10年,故能实现停电重起后定时设计不变的关键设计指标。AT89S52单片机实时获取DS12C887的时间和闹铃数据,驱动LCD和蜂鸣器。显示部分的LCD有高亮度,低成本等诸多优点。蜂鸣器作闹铃提示切合实际、直观。按键方面采用软件消抖,减少硬件电路的同时增加了可靠性。本产品完全达到设计要求,辅助的ISP在线编程让产品具

4、有强大的扩展功能,使其不仅仅是一个电子钟,更是一个单片机试验平台。2.2 DS12C887时钟芯片原理DS12C887能够自动产生世纪、 年、月、日、时、分、秒等时间信息,其内部又增加了世纪寄存器,从而利用硬件电路解决 “千年”问题;DS12C887 中自带有锂电池,外部掉电时,其内部时间信息还能够保持10年之久;对于一天内的时间记录,有12 小时制和 24 小时制两种模式。在 12 小时 制模式中,用 AM 和 PM 区分上午和下午; 时间的表示方法也有两种,一种用二进制数 表示,一种是用 BCD 码表示;DS12C887 中 带有 128 字节 RAM,其中有 11 字节 RAM 用来存储

5、时间信息,4 字节 RAM 用来存储 DS12C887 的控制信息,称为控制寄存器,113 字节通用 RAM 使用户使用;此外用户还 可对 DS12C887 进行编程以实现多种方波输出,并可对其内部的三路中断通过软件进行屏蔽。3 硬件设计3.1 硬件组成用Visio画出硬件组成框图,并进行描述 本万年历以AT89S52单片机、DS12C887时钟芯片为核心,显示部分采用LCD12864,使用6个按键、1蜂鸣器和一个温度传感器,加上ISP在线编程模块。DS12C887时钟芯片产生时钟信号和存放闹铃数据。3.2 单片机核心模块单片机最小系统3.2.1主要特性单片机AT89S52是 ATMEL公司生

6、产的低电压、高性能COMS 8位单片机,它有128Byte RAM、8KByte可编程FLASH ROM,指令系统与MCS-51系列兼容。采用KEILC51编译软件,PROTUES仿真平台,能方便实现程序的仿真。ISP在线编程,能方便的更新程序。可对选用的单片机特点进行描述,可画出单片机最小系统并描述电路连接。3.2.2单片机引脚说明AT89S52 采用 40Pin 封装的双列直接 DIP 结构,40 个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4 组 8 位共 32 个 I/O 口,中断口线与 P3 口线复用。现在我们对这些引脚的功能加以说明:Pin20: 接地脚。 Pin40:

7、 正电源脚,正常工作或对片内 EPROM 烧写程序时,接 +5V 电源。 Pin19: 时钟 XTAL1 脚,片内振荡电路的输入端。 Pin18: 时钟 XTAL2 脚,片内振荡电路的输出端。 时钟有两种方式,一种是片内时钟振荡方式,但需在 18 和 19 脚外接石英晶体 (2-12MHz) 和振荡 电容,振荡电容的值一般取 10p-30p 。另外一种是外部时钟方式,即将 XTAL1 接地,外部时钟信号 从 XTAL2 脚输入。 输入输出 (I/O) 引脚: Pin32-Pin39 为 P0.0-P0.7 输入输出脚, Pin1-Pin8 为 P1.0-P1.7 输入输出脚, Pin21-Pi

8、n28 为 P2.0-P2.7 输入输出脚,Pin10-Pin17 为P3.0-P3.7输入输出脚,这些输入输出脚的功能阐述如下: P0 口( 32 脚 39 脚):是双向 8 位三态 I/O 口,在外接存储器时,与地址总线的低 8 位及数据 总线复用,能以吸收电流的方式驱动 8 个 TTL 负载。P1 口( 1 脚 8 脚):是 8 位准双向 I/O 口。由于这种借口输出没有高阻状态,输入也不能锁存, 故不是真正的双向 I/O 口。 P1 口能驱动(吸收或输出电流) 4 个 TTL 负载。 P2 口( 21 脚 28 脚):是 8 位准双向 I/O 口。访问外部存储器时,它可以作为高 8 位

9、地址总线 送出高 8 位地址。 P2 可以驱动(吸收或输出电流) 4 个 TTL 负载。 P3 口( 10 脚 17 脚):是 8 位准双向 I/O 口, P3 口能驱动(吸收或输出电流) 4 个 TTL 负载。 P3 口除了作为一般的准双向通用 I/O 口使用外,每个引脚还有第二功能。 P3 口的 8 条线都定义有第二功能 6 ,如表 4.1 所列。 P3引脚第二功能:P3.0 RXD (串行口输入端) P3.1 TXD (串行口输出端) P3.2 INT0 (外部中断 0 请求输入端,低电平有效) P3.3 INT1 (外部中断 0 请求输入端,低电平 有效) P3.4 T0 (定时器 /

10、 计数器 0 的技数脉冲输入端) P3.5 T1 (定时器 / 计数器 0 的技数脉冲输入端) P3.6 WR (片外数据存储器写选通信号输出端,低电平有效) P3.7 RD (片外数据存储器写选通信号输出端,低电平有效) Pin9:RESET/Vpd 复位信号复用脚,当单片机通电,时钟电路开始工作,在 RESET 引脚上出现 24 个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器 PC 指向 0000H , P0-P3 输出 口全部为高电平,堆栈指钟写入 07H ,其它专用寄存器被清 “0” 。 RESET 由高电平下降为低电平后, 系统即从 0000H 地址开始执行程序。然而,

11、初始复位不改变 RAM (包括工作寄存器 R0-R7 )的状态, 单片机复位后的状态如下: P0 P3=FFH ,各口可用于输出,也可用于输入; SP=07H ,第一个入栈内容将写入 08H 单元; IP、IE 和 PCON 的有效位为 0 ,各中断源处于低优先级且均被关断,串行通讯的波特率不加倍; PSW=00H ,当前工作寄存器为 0 组。 Pin30:ALE/PROG 当访问外部程序器时, ALE( 地址锁存 ) 的输出用于锁存地址的低位字节。而访 问内部程序存储器时, ALE 端将有一个 1/6 时钟频率的正脉冲信号,这个信号可以用于识别单片机 是否工作,也可以当作一个时钟向外输出。更

12、有一个特点,当访问外部程序存储器, ALE 会跳过一 个脉冲。 如果单片机是 EPROM ,在编程其间, PROG 将用于输入编程脉冲。 Pin29:PESN 当访问外部程序存储器时,此脚输出负脉冲选通信号, PC 的 16 位地址数据将出现 在 P0 和 P2 口上,外部程序存储器则把指令数据放到 P0 口上,由 CPU 读入并执行。Pin31:EA/Vpp 程序存储器的内外部选通线, 8051 和 8751 单片机,内置有 4kB 的程序存储器, 当 EA 为高电平并且程序地址小于 4kB 时,读取内部程序存储器指令数据,而超过 4kB 地址则读取 外部指令数据。如 EA 为低电平,则不管

13、地址大小,一律读取外部程序存储器指令。显然,对内部 无程序存储器的 8031,EA 端必须接地。 3.3晶振电路振荡器是数字钟的核心。振荡器的稳定度及频率的精确度决定了数字钟计时的准确程度,通常选用石英晶体构成振荡器电路。石英晶体振荡器的作用是产生时间标准信号。3.4显示电路本电路采用1602LCD,由于数码管只能显示数字数码管显示内容单一,液晶则比较丰富,而这个实验中,要求功能较多,为了使电路显示的更清晰明了,本实验最终决定采用1602LCD显示。且液晶显示已占居社会主流,优势明显。模块引脚功能表: 引脚号引脚名称方向功能说明1VSS-模块的电源地2VDD-模块的电源正端3V0-LCD驱动电

14、压输入端4RS(CS)H/L并行的指令/数据选择信号;串行的片选信号5R/W(SID)H/L并行的读写选择信号;串行的数据口6E(CLK)H/L并行的使能信号;串行的同步时钟7DB0H/L数据08DB1H/L数据19DB2H/L数据210DB3H/L数据311DB4H/L数据412DB5H/L数据513DB6H/L数据614DB7H/L数据715PSBH/L并/串行接口选择:H-并行;L-串行16NC空脚17/RETH/L复位 低电平有效18NC空脚19LED_A-背光源正极(LED+5V)20LED_K-背光源负极(LED-OV)3.5时钟电路3.6独立按键电路独立按键电路图鉴于使用中断电路

15、会增加硬件电路的复杂度,本电路采用独立按键的方法,只需在程序中加入扫描程序即可。其中P1.4接按键1,P1.5接按键2,P1.6接按键3,P1.7接按键4,其中按键4为确定,通过按键已可以切换至不同的工作方式,譬如时间,日期,闹铃设置,秒表;按键2为加键,通过按键2可以调整时间和闹钟的加键,按键3为减键,按键1为退出键。在秒表中键4为开始键和暂停,2和3为清零键。3.7蜂鸣器电路4 程序设计4.1 主程序设计main() char e=0,f=0,w2=0,w3=0;s1=1;s2=1;s3=1;s4=1;EA=1;/打开总中断 EX0=1;/开外部中断1 IT1=1;/设置负跳变沿触发中断ds_in

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号