您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于单片机的多功能音乐电子时钟
基于单片机的可调数字时钟设计11.设计说明1.1前言1.1.1题目来源的背景及课题意义由于单片机技术的不断发展,其控制系统已能够取代复杂电子线路或数字电路构成的控制系统,单片机主要以软件编程来实现电子线路的外围控制,并能够实现智能化。单片机具有集成度高、处理功能强、可靠性高、性能稳定等优点,在工业控制、智能仪器仪表、办公自动化、家用电器等诸多领域得到广泛的普及和应用。数字钟是实现对“时”、“分”、“秒”数字显示的计时装置,广泛用于个人家庭、车站、码头、办公室等公共场所,成为人们生活中不可缺少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛使用,数字钟的精度、稳定度远远超过老式机械钟。与传统机械钟相比,它具有走时准确、显示直观无机械传动装置等优点。它以其小巧,价格低廉,走时精度高,使用方便,便于集成化而受到了人们的欢迎并很快走进了千家万户。因此,研究数字钟,有着非常现实的意义。1.1.2数字时钟的应用数字时钟具有走时准确,一钟多用等特点,已成为人们日常生活中的必需品,给人们的生活、学习、工作、娱乐带来极大的方便。随着数字集成电路技术的发展和石英振荡器的更新换代,数字时钟具有了走时更准确、性能更稳定、携带更方便等优点,被广泛用于计时、自动报时、自动控制及航天等领域。1.2数字时钟的基本设计原理数字时钟一般由走时、显示和调整时间3项基本功能组成,这些功能在单片机时钟里主要由软件设计体现出来,其中,走时部分利用单片机的定时器/计数器产生的中断。本设计设置定时器T0工作在模式1状态下,设置每隔50ms中断一次,中断20次正好是1s。中断服务程序里记载这中断的次数,中断20次为1s,60s为1分,60分为1小时,24小时为1天。时钟的显示是使用2个四位一体LED数码管来显示时、分、秒,其软件设计原理是:由中断产生的秒、分、小时数据,经过转换子程序转换成适应LED数码管显示的数据,并通过单片机的输出功能输入到数码管显示器,在通过显示器扫描程序,显示出时钟的走时时间。调整时钟时间是利用了单片机的输入功能,把按键开关作为单片机的输入信号,通过检测被按下的按键,从而执行赋予该开关调整时间功能。基于单片机的可调数字时钟设计21.3整个系统实现的基本功能(1)用四个电位按键来实现对电子时钟的调试工作,当按第一下总控键时进入调时状态,时位闪烁,可以用加一键和减一键对时进行调整,在调整时秒正常运行;当按第二下总控键时时钟进入调分设置,分位闪烁,可以用加一键和减一键对分进行调整,另外有一个时钟控键来实现闹钟是否开启;当按第三下总控键时时钟进入秒设置,秒位闪烁,以用加一键和减一键对秒进行调整;当按第四下总控键时,时钟进入闹钟调整模式,闹钟时位闪烁,可对其进行加减;当按第五下总控键时,闹钟分位闪烁,可对其进行加减;当按第六下总控键时,时钟退出调整模式,进入正常走时。(2)用两个四位数码管来实现设计的显示部分,其演示模式是:时时-分分-秒秒。该数码管组合的功能管脚是八个位选择连接芯片的P2引脚,八个显示管位并联再接入到芯片P0引脚。从而在功能上区分开,实现数码管的显示功能。(3)用一个LED灯和电阻组成的简易电路结合设计来实现闹钟状态的指示功能,闹钟开时,LED灯亮,而闹钟关时,LED灯灭。(4)用一个蜂鸣器和三极管等配件组成一个闹钟电路,再与芯片的P3.7引脚连接。当时钟到设定的报时点时便会发出音乐来实现闹钟功能。(5)用一个按键和其他部件组成的复位电路与芯片连接来实现整个程序及硬件的重新复位功能。基于单片机的可调数字时钟设计32数字时钟的硬件设计2.1系统总体方案设计本设计采用STC89C52单片机设计一个数字电子钟,通过两个4位一体LED数码管显示时、分、秒,并设有6个按键。电路分为6部分,分别为复位电路、键盘电路、时钟电路、蜂鸣器电路、显示电路和控制电路。复位电路采用按键复位方式。键盘电路采用独立式键盘。时钟电路用11.0592MHz的晶振产生时钟信号。蜂鸣器电路由三极管与蜂鸣器组成。显示电路采用8个三极管驱动两个4位LED显示。控制电路采用8位的STC89C52单片机作为CPU。STC89C52是整个系统的核心,本项目一共使用的STC89C52的端口有P1、P0、P2口及P3口,其中P0、P2口用来控制数码管的显示。STC89S52使用的是11.0592MHz的无源晶振,其振荡周期是时钟周期的12倍,因此每一条单周期指令的执行时间是1us;使用P1口来实现键盘的操作功能。在程序中对键盘的控制采用的是扫描的方式,在需要得到键盘输入时,就每200毫秒对键盘进行一次扫描,以次来避免键盘的过快反应从而出现紊乱现象。STC89C52中的P0和P2端口用于实现对数码管显示电路的控制。P0接数码管的段控制,P2用于接数码管的位控制,实现时钟的显示。STC89C52中的P1.4~P1.7口实现了整个系统的四个控制键,这四个控制键分别是“设置”、“加一”、“减一”和“闹钟开关”,这四个控制键是整个系统中的总控制键。同样,这四个控制键也是使用扫描的方式进行判断的。但是这四个控制键不需要使用专门的解码,而是直接使用低电平的判断方式来进行控制。STC89C52中的P3.6用于控制蜂鸣器,P3.7用于控制闹钟指示灯。本系统基本框图1所示:图1设计方案框图复位电路时钟电路STC89C52控制电路显示电路蜂鸣器电路键盘电路基于单片机的可调数字时钟设计42.2电源电路系统的芯片需要+5V的工作电压,所需输出的电流比较大,而电脑USB可以提供额定功率为5V/500mA的稳定电源供USB设备使用。采用普通的USB线连接微型计算机作为系统电源,虽然功率上稍大于系统需要,但不需要更换电源,并且比直流稳压电源更轻便,可随时使用、调试系统。电源电路如图2所示:图2:电源电路2.3按键电路键盘是人与单片机打交道的主要设备,按键的读取容易引起误动作。可采用软件去抖动的方法处理,软件的触点在闭合和断开的时候会产生抖动,这时触点的逻辑电平是不稳定的,如不采取妥善处理的话,将引起按键命令错误或重复执行,在这里采用软件延时的方法来避开抖动,延时时间为10ms。本设计采用独立式键盘,独立式按键是直接用I/O口线构成的单个按键电路,如图3所示,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。但当所需按键数量多,会占用过多的I/O口线。键盘接到单片机的P1口上,当键按下时,在其相应的口线上产生低电平信号,键松开时仍为高电平信号。图3:键盘电路基于单片机的可调数字时钟设计52.4时钟电路STC系列单片机的时钟具有丰富的时钟源,内部从0M到80M的时钟源,可以通过编程熔丝位来选择,外接晶振电路如图4所示,由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。本设计采用的是内部振荡方式,为了获得精确的计时,晶体振荡器选用11.0592MHz的型号,两个30pf的C1,C2电容起到辅助振荡作用。本设计中定时方式为工作方式1,即最小定时时间为1us,最大定时时间约为65.5ms。图4:单片机时钟电路2.5复位电路复位是单片机的硬件初始化操作。经复位操作后,单片机系统才能开始正常工作。当STC系列单片机的复位引脚RST(全称RESET)出现大于最小脉冲的低电平时,单片机就执行复位操作。如果RST持续为低电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:上电复位和开关复位。上电复位要求接通电源后,自动实现复位操作。复位电路如图5所示。电阻R1、R2和C1构成复位电路,按下复位键可实现手动复位。单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,32个通用寄存器复位后的状态为确定值。基于单片机的可调数字时钟设计6图5:复位电路2.6数码管显示电路数码管显示电路是本设计最核心的部分。显示电路由两个5461BS四位一体共阳数码管和S9012PNP三极管组成。如图6所示:图6:数码管显示电路2.6.1数码管简介四位一体数码管的内部结构,如图7所示。由图可知,四个数码管的位控端连接在一起,共用8根数据线,四个公共端却单独占一根口线。假设段控端有段码输入时,每基于单片机的可调数字时钟设计7个数码管的段控端都收到了段码,但只有位控线有效的数码管才能显示数据,反之亦反。共阳极数码管段控端为低电平有效,位控端高电平有效,共阴极数码管恰恰相反。四位一体数码管用于动态扫描,即把数码管显示数据的段控码分时送到其对应的段控端。当一个段控码被送到段控端时,显示此段控码数据的数码管,它的位控端置有效电平,数码管点亮;而其他数码管的位控端送无效电平,数码管不亮。持续点亮一段时间,再送其它的段控码,依次把显示段控码的数码管,使其位控端为有效电平,其他数码管的位控端为无效电平,就这样数码管依次被点亮。利用动态扫描显示使我们看到一幅稳定画面的实质是利用了人眼的暂留效应和发光二极管发光时间的长短,发光的亮度等因素.通过实验发现,当扫描刷新频率(发光二极管的停闪频率)为50Hz,发光二极管导通时间≥1ms时,显示亮度较好,无闪烁感。四位一体数码管共十二个引脚,从数码管的正面看,它以第一脚为起点,逆时针排列的。由图7可知,6、8、9、12为公共端,A-11、B-7、C-4、D-2、E-1、F-10、G-5、DP-3。显示字型和代码关系如表1所示。图7:共阳数码管管脚图表1十六进制数字型代码字符共阳段码共阴段码字符共阳段码共阴段码0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7GHF8EH71H7F8H07H-BFH40H880H7FH熄灭FFH00H基于单片机的可调数字时钟设计82.6.2三极管驱动电路由于单片机输出或输入电流有限,因此无法驱动数码管LED点亮,所以通过单片机输出直接与三极管相连,并且单片机输出也只有两种状态(1和0),此时三极管工作在开关状态下,从而点亮与三极管相连数码管。本设计中三极管接数码管的位选端,当单片机输出低电平时,三极管导通,与其相连的共阳极数码管显示器开始工作。由于当四位一体数码管中的一位LED全亮的时候,驱动要提供的电流较大,所以位驱动选用了三极管放大电路进行电流的放大。三极管放大电路主要有以下两种:共集放大,共射放大。本设计使用共射放大电路,如图8所示。共射放大电路的基极驱动是用低电平,这就避免了上电时产生涌流冲击的出现。该电路为本系统实现电流的放大,驱动数码管点亮,保证了整个系统的稳定性。图8三极管放大电路2.7蜂鸣器电路采用蜂鸣器闹铃,当到设定时间时,单片机向蜂鸣器送出低电平,蜂鸣器响铃。采用蜂鸣器闹铃结构简单,只需要单路信号控制,发出的闹铃声音可以根据响和不响的不同的软件延时时间来控制,当然也能发出音乐声音。蜂鸣器电路由一个1k限流电阻、一个PNP三极管S9012组成。由89C52的P3.7口控制蜂鸣器电路,定时时间到,P3.7输出一定频率脉冲时,蜂鸣器将发出响声;一分钟后停止。电路如图9所示:基于单片机的可调数字时钟设计9图9:蜂鸣器电路2.8单片机最小系统本数字电子钟设计采用STC89C52单片机芯片作为中央控制器,实现信号的输出、LED的显示及相关的控制功能。如图10所示:图10:单片机最小系统STC89C52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,2个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位
本文标题:基于单片机的多功能音乐电子时钟
链接地址:https://www.777doc.com/doc-6339720 .html