新型音乐报时数字时钟设计和实现Word文档格式.docx
- 文档编号:17056165
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:17
- 大小:298.67KB
新型音乐报时数字时钟设计和实现Word文档格式.docx
《新型音乐报时数字时钟设计和实现Word文档格式.docx》由会员分享,可在线阅读,更多相关《新型音乐报时数字时钟设计和实现Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
在计算机系统中时钟也起到了必不可少的作用,时钟电路是计算机系统能够正常工作的前提。
对于单片机应用系统,时钟不仅可以为保障系统正常工作的基准震荡定时信号,这种工作原理主要是通过晶振频率来决定单片机系统工作快慢,同时时钟还可以标准系统的时针,对系统时钟进行定时,这种工作原理可以通过软件和专门的时钟芯片分别实现,但其中的软件实现是通过编程来完成,有很大的误差,只能适用于对于时间精度要求不高的场合。
如果对时间精度要求较高的情况下,建议使用专门的时钟芯片来实现。
典型的时钟芯片有:
DS1302,DS12887,X1203等都可以满足高精度的要求。
1.总体设计方案
1.1电路原理框图
1.1.1数字钟电路组成框图
利用单片机AT89C52作为本系统的中控模块。
单片机可把时钟芯片DS1302、数码管显示驱动芯片MAX7219读出来的数据利用软件来进行处理,然后通过数据传输和显示模版将单片机传出的数据显示出来,同时实现了音乐报时的功能,其中的设计总体框图如图1所示:
复位电路
时钟电路
STC89C52
控制电路
显示电路
蜂鸣器电路
键盘电路
图1总体框图
1.1.2各部分的作用及要求
键盘电路:
单片机如何与人之间进行交流,主要需要通过按键电路键盘,由于按键的读取容易引起误动作,此时可以采用软件抖动来处理,软件的触点在闭合和断开时,都会产生抖动,这里的触点逻辑电平还不够稳定,如果不采取相应的处理很可能会导致按键命令错误。
键盘电路就可以通过程序扫描来检测按键状态从而避免抖动,延时时间为10ms。
复位电路:
清零单片机程序计数器。
蜂鸣器:
发声。
时钟电路:
为单片机提供时钟。
显示电路:
显示时间。
单片机:
控制整个电路。
1.2数字钟的电路原理图
系统语音模板电路原理图主要是通过语音单片录放音电路,录放周期为八分钟,通过音频信号输送利用单片机电路将音频信号输入到大口径扬声器中,电路原理图如图2所示:
图2电路原理图
数字时钟主要是由走时,显示和调整时间这三种基本功能组成,这些基本功能都是由单片机时钟软件设计来体现。
走时部分主要是利用单片机的定时器和计数器来产生中断。
本设计设置定时器T0工作在模式1状态下,设置每隔50ms中断一次,中断20次正好是1s。
中断服务程序负责记载中断的次数,中断20次为1s,60s为1分,60分为1小时,24小时为1天。
用单片机定时器T1按时输出高低电平,单片机通过引脚周期性来输出特定频率的方波,从而演奏出一个音符。
这种方式需要单片机通过半周期高电平半周期低电平,一直循环下去。
周期可以通过音符的频率来计算,在演奏时,半个周期的定时时间初始值需要根据音符的不同而变化,然后送入定时器T1,从而定时循环的输出高低电平。
除此之外,音乐的节拍需要通过延时来实现,单片机演奏音乐需要两个数据表来存放食先计算好的音符频率对应的周期初始值。
通过这些数据的记录,单片机可以演奏低音和中音以及高音等21个音符。
演奏乐曲也是通过不同的音符对应定时时间初始值,从而控制音调,通过延迟来实现音乐节拍。
时钟的显示是使用2个四位一体LED数码管来显示时、分、秒,其软件设计原理是:
由中断产生的秒、分、小时数据,经过转换子程序转换成适应LED数码管显示的数据,数据通过单片机输出到数码管显示器,通过显示器扫描程序来显示时钟的走时时间。
调整时钟时间需要用到单片机的输入功能,我们将按键的开关作为单片机输入信号,当按键被触发时,就可以执行开关调整时钟时间功能。
时钟电路和复位电路都属于单片机的最小系统。
时钟电路是内部振荡方式,因此得到的时钟信号稳定性强。
复位电路有上电复位和开关复位两种基本形式,让单片机从一种确定的状态开始运行。
2.单元模块设计
2.1MCS51单片机控制电路
这个电子钟所采用的单片机是STC89C52,以此作为核心处理器就可以达到信号输出,LED显示等等功能的控制作用。
就像下图的3一样:
图3单片机最小系统
STC89C52所有的功能非常的丰富:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,2个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
除此之外这个单片机芯片还可以以0Hz的模式进行工作。
这个模式功耗接近于零,处理器停止运转,允许RAM、定时器/计数器、串口、中断继续工作。
在这个过程中,RAM可以保存内容,震荡机和单片机停止运转。
引脚结构:
VCC:
电源;
GND:
地。
P0口:
P0口的模式很容易理解就是8位漏极开路的双向1/O口。
以它为输出时,每8个TTL输入端被1位控制,在P0口的每1位被定义为1时,P0口就又输出口变为输入口了,对于外部的各种数据进行读取时,P0口为低8位地址/数据复用。
这样的情况,P0有内部有特殊的电阻,进行编程时P0口也可以进行接收,但是对程序进行校准和验证时也可以输出字节,只不过这个时候需要加外部上拉电阻。
P1口:
此口为8位双向1/O口里面含有一个上拉电阻,为输出口使用时,每1位可以执行4个TTL的端口进行输出口,在把P1端口每1位写1时,内部的8个位电被拉上拉电阻拉高,这个时候就可以当做输入口使用。
P2口:
P2包含一个上拉电阻8位的双向1/O口,当成输出口时,每1位可以执行4个输入的TTL端口。
在把P2端口的每1位写成1时P1口8个位电平被内部上拉电阻拉高,这个时候就可以被当成输入口,这个时候,在被进行拉低的引脚被内部的电阻影响,会输入电流。
读取外部的系统储存器,或者16位地址接收外部储存器的数据时,P2口的位置会高出八位地址,这个应用情景中,此口会被强制上拉输送1,以8位地址读取外部的数据储存器时,P2将会把P2储存器的内容。
在对Flash进行校验,P2口也接收高8位地址字节和一些控制信号整时钟时间是利用了单片机的输入功能,把按键开关作为单片机的输入信号,通过检测被按下的按键,从而执行赋予该开关调整时间功能。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,作为输出口时,每1位最多可以驱动4个TTL的输入端口。
当向P2端口的每1位写“1”时,P1口的8个位电平都可以在电阻拉高后作为输入口使用,外部拉低的引脚也会由于内部电阻的原因输出电流(IIL)。
P3口亦作为STC89C52特殊功能(第二功能)使用,如表1所示。
在flash编程和校验时,P3口也接收一些控制信号。
如表1所示。
RST:
复位输入。
晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。
看门狗计时完成后,RST脚输出96个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。
DISRTO默认状态下,复位高电平有效。
ALE/PROG:
地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在Flash编程时,此引脚(PROG)也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。
否则,ALE将被微弱拉高。
这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
PSEN:
外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。
当STC89C52
从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。
EA/VPP:
访问外部程序存储器控制信号。
为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。
为了执行内部程序指令,EA应该接VCC。
在flash编程期间,EA也接收12伏VPP电压。
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:
振荡器反相放大器的输出端。
2.2电源电路
系统的芯片需要+5V的工作电压,电流输出较大,然而电脑USB提供的额定功率较小,如果采用USB线连接微型计算机作为系统电源,虽然功率可能有稍微的不匹配,但并不需要更换电源,而且还会比直流的稳压电源更加方便可靠。
电源电路如图4所示:
图4电源电路
2.3按键电路
键盘是人与单片机打交道的主要设备,然而按键读取很有可能会出现错误。
在单片机组成的小系统中案件是最常见的输入方式,最常见的按键电路有一对一的直接连接和动态扫描的矩阵式连接,一对一的直接连接就是只一个CPU的输入口对应一个按键,左右存在高电位和低电位,低电位是一般状态,当按下按键后就会变成高点位。
一个按键对应一个端口,这种电路设计十分简单直接,并且可以在按键数量少时直接使用,这样的电路简单直接。
但大多数场合需要的案件数都是比较多的,因此我们需要更加实用的矩阵式连接,矩阵式连接需要软件通过抖动的方法实现,而软件触点会在闭合和断开时发生抖动,出现不稳定的逻辑电平,此时极容易出现按键命令错误等状况。
此时,我们需要采用软件延时的方法来避开抖动,延时时间为10ms。
当按下复位按键时,RST端产生高电平,使单片机复位。
复位后,其片内各寄存器状态改变,片内RAM内容不变。
单片机内部功能部件会受到功能寄存器控制,程序运行直接会受到程序计数器的pc控制,单片机的功能部件的初始状态受寄存器复位的影响。
图5按键电路
在此次设计中用到了可以适用多接口按键的独立式键盘。
独立式按键是直接用I/O口线构成的单个按键电路,如图5所示,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。
但当所需按键数量多,会占用过多的I/O口线。
键盘接到单片机的P1口上,按键后就会出现低电平信号,高电平信号为常态不按键时。
如图5所示。
2.4时钟电路
时钟时间显示功能,是在2个四位一体LED数码管的作用下,实现时分秒的显示,其设计原理为:
将形成的分、秒、时数据进行中断,并通过子程序转换,将这些数据转换为LED数码管数据,并在单片机输出功能的作用下,将这些数据输入到数码管,并在显示器程序作用下,显示时钟时间。
STC单片机系统有丰富的时钟源,从0M到80M的时钟源可通过编程熔丝进行选择,外接晶振电路,如图6。
由于单片机系统内部安装有高增益反相放大器当接通外接晶振后,就形成了自己振荡器时钟脉冲。
在本次设计过程中,是通过内部震荡方式实现的。
为了保证计时工作的精准性,晶体振荡器选择的是11.0592MHz幸好的振荡器,以及的C1,C2型号的两个辅助振荡器。
正常来说,时钟电路系统,主要由晶体控制芯片、晶体振荡器以及电容器构成,并在串行连接的方式实现数据传输,同时可以关闭时钟的充电功能。
时钟系统采用的32.768kHz晶振。
本次电路设计中,定时方式采用的是方式1,也就是最小定时时间设定为1us,最大定时时间设定为65.5ms。
如图6:
图6单片机时钟电路
2.5复位电路
复位指的是单片机影片的初始化操作。
时钟系统在经过复位操作后,单片机系统就能够正常运行。
当STC单片机复位引脚RST形成大于最小脉冲的低电平时,单片机系统自动进行复位操作。
而当RST保持低电平水平时,单片机系统则处于不断循环的状态。
而电路系统是通过电阻的作用,对电容器进行充电,并将电容电压提升到VCC,并在未达到VCC水平时,芯片复位脚处于较低电位水平。
而当芯片复位时,芯片引脚电平提升,造成芯片复位操作停止,这就是复位电路的操作情况。
为保证系统的应用需求,复位操作基本是在开关复位以及上电复位的方式实现复位。
上电复位在电源接通后,就可以实现复位操作,如图7。
电阻R1、R2以及C1形成复位电路,只要按动复位键,就能完成复位操作。
单片机复位系统进入初始化的状态,这一过程中,程序计数器PC=0000H,说明程序已经开始正常操作。
当单片机冷区系统开启后,单片机系统内的RAM就会产生随机值,并运行复位系统中的RAM内容,32个通用寄存器完成复位操作后的状态,如图7:
图7复位电路
2.6数码管显示电路
数码显示管的设计是本次电路系统设计工作的关键部分。
四位一体的数码管主要作用是动态扫描,也就是应当将数码管段控码数据分时送到相应的段控端。
而一个段控码被送入相应段控端时,此段段控码就会显示;
而其余数码管位控端无法及时输送到电瓶位置,数码管无法点亮。
点亮一段时间后,再将其送入相应的段控码,并依次将显示段的数码管送入到电平位置,这样数码管就会被依次点亮。
通过动态扫描显示功能,可以让使用人员看到稳定画面,其原理是利用人体眼部组织暂留效应以及亮度等因素实现的。
实验指出,当扫描刷新频率大约为50Hz且发光二极管写导通时间大于1ms时,显示效果较为出色。
四位一体的数码管,共连接十二个引脚,并按照逆时针顺序进行排列。
断电存储功能:
始终系统在正常运行过程中,相关数据会提前存入AT24C02存储器系统中,始终系统每次启动,系统首先读取这一存储系统中的有关数据,且采用的是容量为2个16行字的1602液晶显示系统,并通过16引脚连接口进行连接。
系统内部的字符发生存储器存储了大约160个字符图形,且每个字符图形,都设有固定保护系统,保证数据的安全不会丢失。
当系统和电源相连接时,数据也就能够保持足够的安全。
系统的现实电路,由两个5461BS型号的四位一体共阳数码管以及S9012PNP三极管构成。
如图8:
图8数码管显示电路
2.7蜂鸣器电路
通过蜂鸣器来实现闹铃的震动功能。
当时间达到设定闹铃时间时,单片机系统向蜂鸣器系统发出低电平信号,蜂鸣器在接受到信号后就会自动响铃。
蜂鸣器闹铃结构较为简单,单路信号就可以实现蜂鸣器的控制。
蜂鸣器发出的铃声,可通过不同软件来设定并设动响铃时间。
正常而言,蜂鸣器店里构成包括PNP三极管S9012、1k限流电阻等部分构成。
STC89C52单片机主要有T0、T1两个计数器以及2个16位定时器构成,其启动方式、定时时间以及启动形式,都可以在这相关程序来实现相关的设定。
当通过定时器或者计数器等作为定时设置器时,通过计数器进行内部周期计数,计数脉冲输入信号则由时钟内部系统进行设定,每经过一个周期,计数器则相应提升1个单位,直到达到最大限度。
电路系统定时器同定时系统振荡频率有一定的关联性,且单片机的机器周期,主要有12个振荡脉冲构成,所以计数器的计数频率大约是振荡器工作频率的1/12。
始终系统时间是由计数初值同计数器长度来确认的,当定时时间到了后且P3.7输出一定脉冲后,蜂鸣器就会自动报警。
如图9:
图9蜂鸣器电路
3.软件设计
3.1主程序流程框图
在微观系统设计过程中,除系统硬件部分的设计工作外,最主要的工作是根据使用人员需求进行程序设计。
所以,软件设计在微观系统设计中,有着举足轻重的作用。
因此对系统设计来说,软件作用更重要。
单片机系统主要有过程控制以及数据处理两部分构成。
数据处理工作主要有数据采集、DCD的转换等部分构成。
过程程序主要根据单片机的原理进行计算,跟着进行输出操作,从而便于生产。
在单片机系统设计过程中,应当重视这几方面的问题:
1、根据系统功能需求,将系统划分为多个不同部分,并设计合理系统的结构,从而保证系统研发过程中的清晰、合理、科学、有序;
2、形成科学的编程习惯,并重视程序设计、子模块设计等工作,这对系统调试、修改、优化和调整有着极大的意义和作用。
3、创建科学完善的数学模型,提升仿真性能,并选择符合系统所需的参数;
4、绘制完善的系统程序图;
5、在系统设计程序图中加入注释,便于使用人员的理解;
6、优化系统的抗干设计,提升系统的安全性。
系统设计是通过模块结构优化实现的。
系统设计主要包括延时子程序、按键扫描子程序、主程序、定时器等构成。
系统流程图如图10:
图10主程序流程框图
3.2中断服务程序流程框图
图11像我们展示的是中断服务程序流程图
Y
是否满24h?
显示缓冲单元清0
返回
N
是否满60m?
小时加1
分值加1
计数器重新加载
循环次数加1
是否满1s?
是否满60s?
秒值加1
开始
图11中断服务程序流程图
3.3显示子程序流程图
图12向我们展示的是子程序流程图
图12显示子程序流程图
3.4按键扫描子程序流程图
图13向我们展示的是按键扫描子程序流程图
延迟10ms
闭合状态?
结束
调按键处理子程序序
有按键按下?
NO
YES
图13键扫子程序流程图
3.5按键处理子程序流程图
图14向我们展示的是按键处理程序流程图
开关1按下?
模式值加1
开关4按下?
开关3按下?
开关2按下?
模
式
3
2
指示灯开关闹铃开关
4
1
小时加
分钟加
秒钟加1
闹铃时加
闹铃分加
小时减1
分钟减1
秒钟减1
闹铃时减1
闹铃分减1
模式5
模式
5
图14按键处理程序流程图
4.系统功能
(1)在四个电位键的作用下,完成数字时钟的调试。
使用人员在按第一下总控键的时候,就可以对时钟进行时调整,时位出现闪烁,可通过加一键或者减一键盘的方式,实现时钟的调整,同时在调整时间是秒针正常摆动;
按第二辖总控键时,进入分的调整,时钟分位出现闪烁,可通过加一键或者减一键的方式,实现分的调整;
按动第三总控键时,可进行时钟秒的设置,秒位出现闪烁,通过加一键或减一键的方式,对秒进行调整;
按动第四下总控键时,就可以进行闹钟设置,时钟闹钟位置出现闪烁,并可以对其进行加减操作;
按第五下总控键时,闹钟的分位出现闪烁,可对时钟进行脑正调整;
按第六下总控键时,就会推出时钟调整。
(2)通过两个四位数码管的作用,完成显示设计工作,其模式为时时-分分-秒秒。
数码管的选用的是八位芯片的P2引脚,分别将其并联接入芯片P0引脚,从而实现数码管的显示功能。
(3)用LED灯同电阻构成的电路,来完成闹钟显示功能。
当打开闹钟时,LED灯亮,反之则LED
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 新型 音乐 报时 数字 时钟 设计 实现