资源描述:
《基于单片机的电子钟设计.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、吉首大学信息科学与工程学院课程设计报告书课程c语言程序设计课题:基于单片机的电子钟设计姓名:覃超向一洋张富学号:专业:电子信息工程年级:2011级指导教师:侯冬晴基地指导教师:侯冬晴2011年11月一、项目介绍与目的 随着电子技术的飞速发展,家用电器和办公电子设备逐渐增多,不同的设备都有自己的控制器,使用起来很不方便。这些具有人们所需要的智能化特性的产品减轻了人的劳动,扩大了数字化的范围,为家庭数字化提供了可能。 根据这种实际情况,设计了一个单片机多功能时钟系统,它有基本的时间功能,还有定时功能,既可作为闹铃,也可扩展为定时对家电等电气产品的自动控制,可以避免多种控制
2、器的混淆,利用一个控制器对多路电器进行控制;可增加温度传感器,进行实时温度显示,进一步扩展为利用不同的温度某些电气产品进行自动控制;也可增加湿度传感器,进行实时湿度显示,以便对湿度进行控制,方便人们的生活.二、设计方案1.项目环境要求在电脑上运行2.项目功能模块 基本功能 1在4位数码管上显示当前时间。(显示格式“时时分分”)2由LED闪动做秒显示。3利用按键可对时间及闹玲进行设置,并可显示闹玲时间。当闹玲时间到蜂鸣器发出声可使闹玲声停止。4实现秒表功能(百分之一秒显示)扩展功能1.日历功能(能对年,月,日,星期进行显示,分辨平年,闰年以及各月天数,并调整)2.音乐闹
3、铃(铃音可选择,闹铃被停止后,闪烁显示当前时刻8秒后,或按键跳入正常时间显示状态)3.定时功能(设定一段时间长度,定时到后,闪烁提示)4.倒计时功能(设定一段时间长度,能实现倒计时显示,时间长减到0时,闪烁提示)5.闹铃重响功能(闹铃被停止后,以停止时刻开始,一段时间后闹铃重响,且重响时间的间隔可调)模块电路主要分为:输入部分、输出部分、复位和晶振电路输入信号主要是各种模式选择和调整信号,由按键开关提供。本电路的输出信号为7段数码管的位选和段选信号,闹铃脉冲信号,提示灯信号。主设计图如3.设计内容本实验由汇编代码完成分为主子程序主程序为:MAIN:JNBP3.0,DA
4、TETZ;按下0键,显示日期并可对日期进行调整JNBP3.1,ZSTZ1;按下1键,显示时间,并可调时JNBP3.2,NLTZZ;按下2键,进行闹铃设置JNBP3.3,DSTZ;按下3键,进行定时设置JNBP3.4,CESHI;闹铃测试JNBP3.6,STOPWATCHTZ;按下6键,进入秒表方式ACALLDISP;调用时钟显示子程序JNBP0.6,RERING;判断是否开启闹铃重响功能RE:JNBP2.7,DSPDKQ;判断是否开启闹铃功能,没开则去判断定时FMQPD:;判断定时值R4,R3是否到零、闹铃时刻是否已到MOVA,HOUR;SUBBA,38H;JZFEN
5、;判断小时数是否到闹铃所定时间,若到,则对分进行判断;若不到,则对定时进行判断AJMPDSPDKQFEN:MOVA,MINUTE;SUBBA,37H;JZMIAO;判断分是否到闹铃所定时间,若到,则对秒进行判断;若不到,则对定时进行判断AJMPDSPDKQMIAO:MOVA,SECONDSUBBA,#0JZSHENGYIN1;判断秒是否到闹铃所定时间,若到,则时,分,秒都到达闹铃时刻,进入响铃子程序;若不到则判断定时AJMPDSPDKQRERING:;闹铃重响判断程序JNBF0,RE;标志位F0为0,不进行闹铃重响设定CPLF0MOV3CH,#1;定时判断标志位赋1,
6、定时判断功能开启JNBP0.7,M1;闹铃重响间隔时间选取MOVR4,#0;闹铃重响间隔30秒MOVR3,#30AJMPMAINM1:;闹铃重响间隔60秒MOVR4,#1MOVR3,#0AJMPMAINDSPDKQ:;判断是否应该进行定时判断MOVA,3CH;3CH是引入的判断因子,当其为0时,不对定时时间是否到0进行判断JNZDSPD2;当3CH不是0时,跳转到定时判断程序AJMPMAINDSPD2:MOVA,R4;JZS_PD;R4所存定时分数为0,则转而判断R3所存定时秒数AJMPMAIN;S_PD:MOVA,R3;JNZMAIN;R4,R3所存参数减为0,定时
7、长度已到JNBP0.6,SHENGYIN2;闹铃重响功能开启时,跳入响铃程序AJMPTISHI;不是闹铃重响定时,则定时时间到时,跳入提示程序AJMPMAINCESHI:ACALLRINGAJMPMAINSHENGYIN1:;调用响铃子程序LCALLRINGAJMPMAINSHENGYIN2:SETBF0;闹铃重响标志位设定LCALLRING;响铃CLRF0;标志位复位AJMPMAINNLTZZ:AJMPNLTZ1;跳入闹铃调整程序DSTZ:AJMPDSTZ1;跳入定时调整程序DATETZ:AJMPDATETZ1;跳入日期调整程序STOPWATCHT