基于单片机的数字闹钟设计系统

  • 格式:doc
  • 大小:518.50 KB
  • 文档页数:28

课程设计题目基于单片机的数字闹钟设计系统学生姓名学号学院电子与信息工程专业信息工程二O一O年十二月二十五日目录1系统概述 (2)2 AT89C51单片机简介 (2)3 硬件系统设计 (3)3.1系统框架设计 (3)3.2模块设计 (4)4 软件系统设计 (10)4.1主程序设计 (10)4.2源程序 (15)5 总结 (25)6 参考文献 (26)基于单片机的数字闹钟系统设计李鹏南京信息工程大学电子与信息工程学院信息工程系,南京210044摘要:随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面。

本文介绍了基于单片机的数字闹钟系统。

可以设置现在的时间及显示闹铃设置时间,若时间到则发出一分钟闹铃响。

本系统主要用到A T89C51单片机定时器时间计时处理、按键扫描及七段显示器扫描的设计方法等等。

关键字:单片机;A T89C51;数字闹钟Microcontroller Based Digital Clock SystemLi PengDept. Information Engineering, Nanjing University of Information Science & Technology, 210044ABSTRACTWith computers in the in filtration and the development of large-scale integrated circuits.SCM application is steadily deepening, as it has strong function, small size, low power dissipation, low prices, reliable, easy to use features, it is particularly suited to and control of the system, increasingly widely used in industrial automation control,automatic examination,intelligence instrument appearance,home appliances,electric power electronics,the machine electricity integral whole etc.This article describes the number of alarm systems based on single chip. You can set the time and display the current alarm setting time, if the time to issue the alarm goes off in one minute. The system is mainly used in processing time AT89C51 microcontroller timer time, and the seven-segment display key scan method of scanning the design and so on.Keywords: Microcontroller;A T89C51;Digital Clock1系统概述数字电子钟具有走时准确,一钟多用等特点,在生活中已经得到广泛的应用。

近些年,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求。

多功能数字钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。

单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。

单片机在多功能数字钟中的应用已是非常普遍的,人们对数字钟的功能及工作顺序都非常熟悉,但是却很少知道它的内部结构以及工作原理。

由单片机作为数字钟的核心控制器,可以通过它的时钟信号进行计时实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。

通过键盘可以进行定时、校时功能。

输出设备显示器可以用液晶显示技术和数码管显示技术。

本文所述数字闹钟设计主要指时钟显示、时间设置、整点报时等控制系统。

本文采用AT89C51型单片机为核心实现智能时钟控制,至所以选择AT89C51型单片机而没有选择其他单片机主要原因在于A T89C51型单片机进入市场时间早、总线开放、仿真开发设备多、芯片及其开发设备价格低廉、速度较快、电磁兼容性较好的。

AT89C51单片机与工业标准的MCS-51的各方面性能比较,其最大的特点是只读存储器可以反复擦除,是一种精简版本高效微控制器,AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

2 AT89C51单片机简介AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。

AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。

空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。

同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。

主要特性:• 8031 CPU与MCS-51 兼容• 4K字节可编程FLASH存储器(寿命:1000写/擦循环)• 全静态工作:0Hz-33MHz• 三级程序存储器保密锁定• 128*8位内部RAM• 32条可编程I/O线• 两个16位定时器/计数器• 6个中断源• 可编程串行通道• 低功耗的闲置和掉电模式• 片内振荡器和时钟电路3 硬件系统设计3.1系统框架设计系统框架如图1图1 系统框架图3.2模块设计3.2.1单片机系统电路AT89C51芯片外形及引脚分布如图2图2 A T89C51芯片外形及引脚分布图如图2所示,AT89C51有40引脚,双列直插(DIP)封装,所用引脚功能如下:1.VCC ——运行时加+5V2.GND ——接地3.XTAL1 ——振荡器反相放大器及内部时钟发生器的输入端4.XTAL2 ——振荡器反相放大器的输出端5.RST ——复位输入,高电平有效,在晶振工作时,在RST引脚上作用2个机器周期以上的高电平,将使单片机复位。

WDT溢出将使该引脚输出高电平,设置SFT AUXR的DISRTO位(地址8EH)可打开或关闭该功能。

DISRTO位缺省为RESET输出高电平打开状态。

6.EA/VPP ——片外程序存储器访问允许信号。

欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地),如果EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。

7.P1口,P2口——P1,P2是一组带内部上拉电阻的8位双向I/O口。

运行时通过P1口控制驱动电路的工作,将数据送到数码管,显示相应的段码,为了达到减少功耗或满足端口对最大电流的限制,应加上一限流电阻。

P2.0——P2.7口控制数码管的位选,使六个数码管轮流显示数据,等于0时位选三极管导通,等于1 时位选三极管截止。

8.无自锁开关——(S2-P3.7)开关接相应引脚P3.7,当开关按下时,相应引脚为低电平0,断开时引脚为高电平1。

3.2.2 复位电路单片机复位的条件是:必须使RST/VPD 或RST引(9)加上持续两个机器周期(即24个振荡周期)的高电平。

例如,若时钟频率为12 MHz,每机器周期为1μs,则只需2μs 以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。

单片机常见的复位如图所示。

电路为上电复位电路,它是利用电容充电来实现的。

在接电瞬间,RESET 端的电位与VCC相同,随着充电电流的减少,RESET的电位逐渐下降。

只要保证RESET 为高电平的时间大于两个机器周期,便能正常复位。

该电路除具有上电复位功能外,若要复位,只需按图中的RESET键,此时电源VCC经电阻R1、R2分压,在RESET端产生一个复位高电平。

复位电路设计如图3图3复位电路3.2.3晶振电路晶振电路设计如图4图4晶振电路XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL1应不接。

有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

C1,C2在是电时帮助晶振起振。

3.3.4数码管显示驱动电路数码管点亮田:段选和位选,结合图5,图6图5数码管引脚图(a )GND dpa bcd e f g dp g f e d c b a V(a )b )(b)图6 位选电路图5为数码管的引脚图,每位的段码线(a,b,c,d,e,f,g,dp)分别与1个8位的锁存器输出相连,由AT89S51控制组合0-9十个数据,如令其显示1则b,c引脚(即2,3引脚)送高电平,此时数码管显示1。

由于各位的段码线并联,8位I/O口输出段码对各个显示位来说都是相同的。

当数码管正常工作时必须接上拉电阻,数码管点亮一般要5~10mA的电流,po输出电流不到1mA,同时上拉电阻起到一个限流的作用。

在多位LED显示时,为了简化电路,降低成本,节省系统资源,将所有的N位段选码并联在一起,由一片74HC595控制。

由于所有LED的段选码皆由一个74HC595并行输出口控制,因此,在每一瞬间,N位LED会显示相同的字符。