1、摘要本设计是作息时间控制器,由单片机最小系统、按键模块、数码管显示模块、闹钟模块组成。采用单片机AT89S52与12MHZ晶振相连;通过按键K1、K2、K3、K4控制时间的校正、闹钟时间设定;数码管显示模块用来显示时间,显示格式为“时分”,并能够根据需要显示年、月、日,由数码管小数点闪动作为秒计数;闹钟模块进行到时提醒并作出相应动作:发光二极管闪亮,同时播放音乐。本设计中,利用单片机定时器设计时间计时处理,采用单片机内部的T0定时器溢出中断来实现,工作在T1方式下,定时50微妙,则连续中断20次即为一秒,得到了我们所需时间的最小单位秒,60秒为一分,60分为一小时,24小时为一天,1、3、5、
2、7、8、10、12月为31天,4、6、9、11月为30天,闰年二月为29天,非闰年二月为28天,12个月为一年。采用这种时间设计思想来进行时间设置。在整个系统的设计中,单片机的P0口输出显示信号,P1口按键输入控制、P2口用来扫描,为动态显示、P3口闹钟模块。该设计用C51编写程序,由于汇编语言的移植性比较差,而C语言则比较灵活。许多子函数都可以直接移植过去。目录摘要 1目录 21概述 11.1 51单片机简介 11.2 设计要求及功能 11.3 本设计实现的功能 12 系统总体方案及硬件设计 22.1 系统总体方案框图 22.2 按键控制模块 32.3 时间显示模块 42.4 闹钟模块 43
3、软件设计 53.1 系统软件设计思想 53.2 系统主程序 53.3 中断子程序 63.4 按键扫描子程序 84 Proteus软件仿真 94.1 Proteus软件简介 94.2 Proteus软件仿真 95课程设计体会 13参考文献: 14附1:源程序代码 15附2:系统原理图 251概述1.1 51单片机简介单片微型计算机简称单片机,即把组成微型计算机的各个功能部件,如中央处理器、随机存储器、只读存储器、I/O接口电路、定时器/计数器以及串行通信接口等集成在一块芯片上,构成一个完整的微型计算机。由于单片机主要面对的是测控对象,突出的是控制功能,所以它从功能和形态上来说都是应测控功能领域应
4、用的要求而诞生的。随着单片机技术的发展,它在芯片内集成了许多面对测控对象的接口电路,如ADC、DAC、高速I/O口、脉冲宽度调制器、监视定时器等,这些接口电路已经突破了微型计算机传统的体系结构,所以单片机也成为微型控制。51单片机是对目前所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。目前很多公司都有51系列的兼容机型推出,在目前乃至今后很长的一段时间内将占有大量市场
5、。1.2 设计要求及功能本设计是作息时间控制器,其设计实现的功能主要有:使用4位七段显示器来显示现在的时间,显示格式为“时分”,由LED闪动作为秒计数表示。可以设定作息时间,并进行到时提示。能够根据预先设定好的作息时间表自动启停控制电路,完成对外部设备的实时控制。1.3 本设计实现的功能本设计实现的功能为:使用七段显示器显示时间,显示格式为“时分”,并可显示日期,显示格式为“月日”,年份单独显示。可以设定作息时间,进行到时提示,并作出相应动作:2 系统总体方案及硬件设计2.1 系统总体方案框图图2-1 系统方框图本次设计实现的功能主要有:使用4位七段显示器来显示现在的时间,显示格式为“时分”,
6、由LED小数点闪动作为秒计数表示。由按键输入控制设置年月日以及当前时间、并可设置闹钟定时,时间到由蜂鸣器发出响声并作出相应动作:二极管闪亮,同时播放音乐。2.2 按键控制模块图2-2按键控制模块按键控制模块主要有由四个按键组成:K1、K2、K3、K4、。其中K1的功能是模式切换键;K2的作用是加一;K3的作用是闹钟使能;K4的作用是减一。当需要设定时间或是校正时间,即可按下模式切换键来进行。校正时间:按第一次K1键,进入小时校正状态,通过按K2、K4键进行小时校正,按一下K2键则加一,按一下K3键则减一;按第二次K1键,进入分校正状态,通过按K2、K4键进行分钟校正;按第三次K1键,进入小时设
7、定状态,此时若不需要设置则不操作;按下第四次K1键,进入分钟设定状态,若此时不需要设置则不操作;按下第五次K1键进入月份校正状态,通过按K2、K4键进行月份校正;按下第六次K1键,进入日校正状态,通过按K2、K4键进行日校正;按下第七次K1键进入年份校正状态,通过按K2、K4键来进行年份校正;校正完毕后,再按一次K1键,则退出时间校正状态,并显示当前校正后的准确时间。设定时间:按第一次K1键进入小时校正状态,此时若不需要设置,则不操作;以此类推,到第三次按下K1键,进入小时设定状态,通过按K2、K4键进行小时设定;按下第四次K1键,进入分钟设定状态,通过按K2、K4键进行分钟设定,设定完毕后,
8、按一下K3键(闹钟使能);继续按K1键,若不需要设置,则不操作,以此类推,到按最后一次K1键则退出时间设定状态并显示当前时间,当时间与我们设定的时间一致时,通过闹钟电路响声提示,若要关闭闹钟,此时再按一次K3键即可停止响声。2.3 时间显示模块图2-3显示模块时间显示模块主要由四位数码管来显示,配合按键控制模块的校正与设定时间,相应的显示。时间正常显示时,LED每闪动60次,分钟自动加一;每六十分钟小时自动加一;每24小时天自动加一。2.4 闹钟模块图2-4闹钟音乐模块闹钟模块快的主要功能:闹铃。当设定时间与当前时间一致时,则闹钟自动闹铃进行提示,同时二极管闪亮一分钟后,自动退出响铃状态,若按
9、K3键,闹钟退出响铃状态。3软件设计3.1 系统软件设计思想本系软件设计中,利用单片机定时器设计时间计时处理,采用单片机内部的T0定时器溢出中断来实现,工作在T1方式下,定时50微妙,则连续中断20次即为一秒,得到了我们所需时间的最小单位在程序中除了有主函数外还包含许多子函数,如延时函数、按键扫描函数、初始化函数、时间显示函数、设定闹钟显示函数、设定日期显示函数、设定年份显示函数、月份选择函数、年份显示辅助函数。3.2 系统主程序在主控程序循环中主要工作为扫描是否有按键,若有按健则做相应的功能处理,同时也扫描显示器显示时间数据,并检查所设置的时间是否到了。时间计时处理程序是等过了1s后,则更新
10、时间数据,将最新的时、分的数据转换为数字数据并显示在七段显示器上。图3-2主程序流程图3.3 中断子程序中断子程序的主要功能:提供时间基准。当连续中断20次时,即为一秒,此时秒加一;当秒值为60时,分钟加一,同时秒清零;当分钟值为60时,小时加一,同时分钟值清零;当小时为24时,天值加一,同时小时清零;由于每月天数不定,1、3、5、7、8、10、12月为31天,当计数到此类月份时,天值为32时,月值加一,同时天值为1;4、6、9、11月为30天,当计数到此类月份时,天值为31时,月值加一,同时天值为1;如果是闰年,则2月为29天,当计数到此类月份时,天值为30时,月值加一,同时天值为一;如果不
11、是闰年,则2月为28天,当计数此类月份时,天值为29时,月值加一,同时天值为一;当月值为13时,则年值加一,同时月值为一。图3-3定时器中断函数3.4 按键扫描子程序按键扫描子程序是程序计中相当重要的一部分。按键扫描子程序的功能是:扫描是否有按键按下,若有键按下,则执行相应功能。图3-4按键扫描子程序4 Proteus软件仿真4.1 Proteus软件简介Proteus软件是来自英国Labcenter electronics公司的EDA工具软件,Proteus软件有近20年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是
12、,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,Proteus能够很容易的为用户建立了完备的电子设计开发环境。 Proteus产品系列也包含了革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。不愧为一款非常优秀的单片机仿真软件。Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。此系统受益于15年来的持续开发,被电子世界在其对PCB设计系统的比较文章中评
13、为最好产品“The Route to PCB CAD”。Proteus产品系列也包含了我们革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。其功能模块:个易用而又功能强大的ISIS原理布图工具;PROSPICE混合模型SPICE仿真; ARES PCB设计. PROSPICE仿真器的一个扩展PROTEUS VSM:便于包括所有相关的器件的基于微处理器设计的协同仿真。此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,LEDs甚至LCD显示CPU模型. 支持许多通用的
14、微控制器,如PIC,*R,HC11以及8051. 交互的装置模型包括:LED和LCD显示,RS232终端,通用键盘,强大的调试工具,包括寄存器和存储器,断点和单步模式IAR C-SPY和Keil uVision2等开发工具的源层调试应用特殊模型的DLL界面-提供有关元件库的全部文件Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补
15、了实验和工程应用间脱节的矛盾和现象。4.2 Proteus软件仿真初始界面:启动Proteus进行仿真时显示的初始化时间。初始界面仿真图如图4-2-1所示。图4-2-1时间显示仿真图时间校正:当我们需要正确的显示时间即可进行时间校正,按一下K1即进入小时校正状态,通过K2加一或K4减一来进行小时校正,再按一次K1键即可进行分钟校正,校正原理同小时校正相同。其仿真图如图4-2-2所示。图4-2-2 时间校正仿真图闹钟设定:当我们需要闹钟提醒时即可使用此功能,连续按三下K1键即可进入闹钟小时设定状态,通过K2键加一或K4键减一,进行小时设定,再按一次K1键即可进行分钟设定,其设定原理与小时设定原理相同,按一下K3键,则时间设定完毕,到时会
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1