当前位置:文档之家› 定时闹钟-C51单片机课程设计

定时闹钟-C51单片机课程设计

题目:定时闹钟目录一、概述 (1)1.1设计目的及意义 (1)1.2设计任务 (1)1.3设计系统的主要功能 (1)二、系统总体方案及硬件设计 (2)2.1系统总体方案 (2)2.2系统设计总框图 (2)2.3硬件设计 (2)2.3.1单片机最小系统设计 (2)2.3.2报警模块设计 (6)2.3.3显示模块设计 (7)2.3.4调时模块设计 (9)三、软件设计 (10)3.1主程序流程图 (10)3.2定时中断子程序流程图 (11)3.3程序设计 (11)四、系统的仿真与调试 (12)4.1 proteus软件仿真 (12)4.2系统的调试 (11)五、设计总结与体会 (13)参考文献 (13)附录1:源程序代码 (14)附录2:系统原理图 (24)一、概述1.1设计目的及意义学习和巩固单片机技术、电子技术、传感器技术及智能仪器等知识,使对已学过的基础知识能有更深入的理解,并融会贯通。

学会独立思考、独立工作,培养一定的自学能力和独立分析问题能力,以及增强系统地运用已学理论知识去解决实际问题的能力,同时培养成良好的科学态度和严谨的设计习惯。

1.2设计任务完成所选题目的分析与设计,达到技术性能要求。

提交正式课程设计总结报告一份。

本文设计的定时闹钟的核心模块采用AT89C51芯片,时、分、秒用6位LED数码管显示。

在电路中通过四个按键S1、S2、S3和S4来进行定时、调时和复位,定时时间到通过蜂鸣器发出报警声。

1.3设计系统的主要功能(1)能显示时时-分分-秒秒。

(2)能够设置定时时间、修改定时时间。

(3) 定时时间到能发出报警声。

二、系统总体方案及硬件设计2.1系统总体方案(1) 由于LED显示器相对于其它显示器(如LCD显示器)来说其价格要便宜许多,而且亮度更高,耐温范围较广,所以采用6位数码管来显示“时时-分分-秒秒”。

(2) 时间的定时用单片机内部时钟电路,在一定的时间内能使其误差较小,如经过一年其误差才仅有数秒。

修改时间和定时用手动按键控制,报警声通过蜂鸣器发出。

这样可以使得硬件电路设计较为简单,且软件设计也易于实现,并能够降低成本。

(3)核心模块采用AT89C51单片机,功能强、通用性好、价格便宜,且易于控制。

加上外围器件(数码管、排阻、按键和蜂鸣器)和应用程序,便构成了相应的应用系统。

2图1定时闹钟系统设计总框图2.3硬件设计2.3.1单片机最小系统设计(1) 芯片:AT89C51因为51单片机是各单片机中最为典型和最有代表性的一种,在20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用广泛,发展很快,推广率和市场利润率较高,且适合于本设计系统中CPU内存和I/O等资源的要求,所以本设计采用AT89C51作为核心控制芯片。

AT89C51是一种带4KB闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的单片机,可稳定地工作于5V的电源下。

其集成度高、功能强、能耗低、通用性好、价格便宜。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。

其组合而成的配件产品在日常生活的使用过程中非常方便、简单且实用,深受着广大消费者的喜爱。

AT89C51管脚说明如下:V:供电电压端。

CCGND:接地端。

P0口:P0口为三态双向口,能带8个TTL电路。

有两种功能:第一功能是一个8位漏极开路型的双向I/O口,这时P0口可看做数据总线;第二功能是在访问外部存储器时,分时提供低8位地址和8位双向数据总线,这时先用做地址总线再用做数据总线。

在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P0口内部无上拉电阻,作为I/O口使用时,必须外接上拉电阻。

P1口:P1口是一个内部带上拉电阻的8位准双向I/O口(使用前有一个准备动作),负载能力为4个TTL电路。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部带上拉电阻的8位准双向I/O口,P2口缓冲器可接收、输出4个TTL门电流。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口是一个内部带上拉电阻的准双向I/O口,可接收输出4个TTL门电流。

同时为闪烁编程和编程校验接收一些控制信号。

P3口的8个引脚都有各自的第二功能,可作为AT89C51的一些特殊功能口,如表1所示。

表1 P3口第二功能RST V:RST为复位信号输入端。

当振荡器复位器件时,要保持RST脚两个机器周/PD期(24个时钟周期)以上的高电平时间。

PDV一V为内部RAM的备用电源输入端。

当主电源CC旦发生断电或电压降到一定值时,可通过PDV为单片机内部RAM提供电源,以保护片内V上电后能继续正常运行。

RAM中的信息不丢失,使CCALE PROG:ALE为地址锁存允许信号,当访问外部存储器时,ALE用来锁存0 /P口送出的低8位地址信号。

在FLASH编程期间,PROG用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR的8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令时才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

PSEN:外部程序存储器的读选通信号。

在由外部程序存储器取指期间,PSEN产生负脉冲做为外部ROM的选通信号,每个机器周期两次PSEN有效。

但在访问外部数据存储器时,不会产生有效的PSEN信号。

PSEN可驱动8个LSTTL门输入端。

EA V:访问外部程序存储器控制信号。

当EA保持低电平时,则在此期间只访问外/PP部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,EA将内部锁定为RST。

当EA端保持高电平时,CPU访问程序存储器有两种情况:一是访问的地址空间在0到4KB范围内,CPU访问片内程序存储器;二是访问的地址超出4KB时,CPU 将自动执行外部程序存储器的程序。

在FLASH编程期间,此引脚也用于施加12V编程电源(PPV)。

XTAL:晶体振荡电路的反向器输入端。

1XTAL:晶体振荡电路的反向器输出端。

2(2) 时钟电路单片机的时钟产生方法有两种: 内部时钟方式和外部时钟方式。

本系统中AT89C51单片机采用内部时钟方式。

最常用的内部时钟方式是采用外接晶体和电容组成的并联谐振回路。

振荡晶体可在1.2MHz~12MHz之间。

电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小和振荡电路起振速度有少许影响,一般可在20pF~100pF之间取值。

AT98C51单片机的时钟电路如图3所示。

图3AT98C51单片机的时钟电路(3) 复位电路复位是单片机的初始化操作。

单片机系统在上电启动运行时,都需要先复位。

其作用是使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。

单片机的外部复位电路有上电自动复位和按键手动复位两种。

本系统中AT89C51单片机采用上电加按键手动复位电路,如图4所示。

图4AT89C51单片机的复位电路2.3.2报警模块设计为实现设计的定时闹钟系统在定时时间到时发出报警声,采用蜂鸣器作为报警发声装置。

在本设计中有多种报警声可供选择,可选择报警时播放音乐。

报警电路设计如图5所示。

图5定时闹钟系统的报警电路2.3.3显示模块设计本系统中采用6位LED数码管显示时、分、秒,用两片74HC573分别对段码和位码进行锁存,实现动态扫描方式显示,节省单片机I/O口资源,简化硬件电路。

(1) LED显示器单片机中通常使用8段LED,LED是发光二极管显示器的缩写。

LED显示器由于结构简单,价格便宜,体积小,亮度高,电压低,耐温范围广,可靠性高,寿命长,响应速度快,颜色鲜艳,配置灵活,与单片机接口方便而得到广泛应用。

LED显示器是由若干个发光二极管组成显示字段的显示部件,当发光二极管导通时,相应的一个点或一个笔划发光,控制不同组合的二极管导通,就能显示出各种字符。

LED显示器有多种形式,如:“米”字型显示器,点阵显示器和七段数码显示器等。

在本系统中采用八段数码显示器。

因为共阴极的LED数码管它的驱动电流是分开的,在单片机进行动态扫描的时候不会影响彼此的电流,故本系统中的6位LED数码管均用共阴极的数码管。

(2) 74HC573芯片特点:三态总线驱动输出,置数全并行存取,缓冲控制输入,使能输入有改善抗扰度的滞后作用。

原理说明:74HC573的八个锁存器都是透明的D型锁存器,当使能(G)为高时,Q 输出将随数据(D)输入而变。

当使能为低时,输出将锁存在已建立的数据电平上。

输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。

这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。

特别适用于缓冲寄存器,I/O通道,双向总线驱动器和工作寄存器。

74HC573引脚说明:OE:3态输出使能输入(低电平有效)。

D0 - D7:数据输入端。

Q0 - Q7:3态锁存输出。

LE:锁存使能输入。

GND:接地。

VCC:电源电压。

74HC573的引脚图、逻辑图及真值表如下:图6 74HC573引脚图图7 74HC573逻辑图表2 74HC573真值表OE LE D QH X X ZL L X NO CHANGE L H L LL H H H(3) 显示电路将两片74HC573的数据输入端D0 - D7都分别与AT89C51单片机的P0.0 - P0.7和RESPACK-8排阻的 2 -9 引脚连接,两片74HC573的锁存使能端L分别接至P2.6和P2.7,74HC573的输出端接至数码管2.3.4调时模块设计本系统要进行时间的调整和定时,因此用4个手动按键对其进行控制。

键盘电路设计如图9所示。

当按下时间调整键S1时,系统可进行时间调整的小时设置;当再按下S1时,可进行时间调整的分钟设置;再按下S1时,可进行时间调整的秒钟设置;再次按下S1时,系统恢复正常时间显示。

当按下设置定时键S2时,系统可进行闹钟定时时间的小时设置,此时S1作为报警声选择键,可通过S1选择报警声;再按下S2时,可进行定时时间的分钟设置,此时也可通过S1选择报警声;第三次按下S2时,系统恢复正常时间显示,此时S1恢复为时间调整按键。

相关主题