时钟论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机实现定时闹铃时钟的系统设计
参与者:张…李…周…. 一系统电路功能分析:“
单片机闹铃时钟是采用STC系列单片机作为控制系统的核心,
模型也采用此单片机作为主控系统,包括与之相关联的(显示模块,按键控制,闹铃模块等)外围电路;通过单片机来控制外围电路,
在外围电路的共同参与下,实现数字钟的整体功能。
在设计中利用
单片机定时计数器来完成定时并用两组输出口控制数码管显示;并需要通过编程向某一输出口输出方波实现报时及闹铃等功能。
二整体设计及模块化分:
走时尽可能准确,其次再根据
人们日常的使用习惯来设定
其附加功能。
需要数码显示模块,外部中断系统,
扬声器模块,按键控制,闹铃模块等。
㈠设计要求:
基于单片机电路,借鉴生活中常见的电子钟的功能,结合实际要求使
用汇编语言设计一个简单的电子钟系统。
要求使用简便,功能实用,
误差小,有一定创新性。
㈡电子数字钟实现的主要功能:
①实现正常走时(秒→分→时→日→月等)
②能够预置时间和日期
③能够整点报时
④具有闹铃及设定闹铃时间功能
⑤有整点报时前十秒的提示功能
⑥能够预置生日时间
⑦在任何一种预置状态下,预置项目会闪烁显示
各时间显示如下:
三.模块方案设计论证
㈠显示方案论证
1液晶显示模块:液晶显示范围广,显示的东西多,显示效果好显示清晰,但价格昂贵,程序相对复杂,需要占用较多的系统资源。
2数码静态显示:控制方式简单,价格便宜,但占用I/O口较少,硬件连接比较复杂,显示效果一般。
3简单数码动态显示:控制相对简单,价格便宜,占用I/O口较少,硬件连接简单,但显示一般。
4带译码器(锁存、驱动)动态数码显示:控制方式相对简单,占用I/O口最少,硬件连接简单,显示效果一般,需要外围芯片多,价格昂贵。
经过讨论最终确定选用第三种方案——简单数码动态显示。
此方案成本低,功能可以实现数字中的要求,且软硬件都相对简单。
㈡控制方案论证
1.直接加减:使用7按键,1按键切换闹钟,6按键对时分秒分别加减,控制方式相当简单,但需要较多按键与I/O口,功能一般,成本较高。
2.矩阵键盘:使用16按键对时分秒直接设置,能最为灵活的对数字钟进行设置,功能强大,但控制方式相对困难,成本较高,需要较多按键与I/O口。
3.换位加减:使用4按键,1键切换闹钟,1键换位,另两键加减,控制方式相对简单,占用I/O口少,成本低廉,但功能一般。
4.采用八位拨码开关:控制开关集中,控制简单,成本低,硬件连接简单,每一按键实现一个功能,便于操作,
经过反复比较,在3种方案中选取了第4种——八位拨码开关,此方案成本低,功能已经足够满足数字钟的需要,而且硬件软件均比较简单。
四.单一模块设计
在完成了系统的整体分析和规划设计之后,便进入了实质性的模块设过程,模块设计是整个实验项目的关键(基础),单一模块设计的
好坏与否决定了系统功能能否稳定运行并实现各功能的关键。
㈠.初始化模块:
初始化模块包含了各种端的跳转语句,存储资源的分配,各存储器和寄存器的赋值以及中断及计时器的状态设置。
程序中共用到17字节的内部数据存储地址其中包含三字节位寻址地址,以便进行位判断。
初始化模块流程图:
初始化模块流程
㈡.开关检测模块
开关检测模块主要执行两个任务:
1.读取闹铃使能端控制拨码开关开K5的值,并赋予闹铃使
能端相应的值;
2.读取显示选择开(关K1K2)的值送入到显示缓存模块中,
(K0…K8为控制开关)
㈢.显示主程序
显示主程序是程序中最复杂的模块,要实现的功能也是最多的,占用了程序运行过程中90%以上的执行时间。
预置闪烁优先级:LED34>LED12>LED56即同预置优先级相同(参见调试部分详细说明)闪烁首先判断是否对LED34进行判断闪烁,如果是则另外两个显示值直接显示,如果不是则判断是否对LED12进行闪烁,如果是则直接显示LED56的值,只有当前两个显示值都不闪烁的时候,才判断是否对LED56进行闪烁,这
样就确保了每次只有一个显示值闪烁。
预置通过GS标志位判断预知的亮/灭,由R1控制每50次显示对GS取反一次。
㈣.闹铃及整点报时判断
在显示主程序中每隔一段时间调用一次程序來实现闹铃及报时功能。
符合闹铃条件时,每调用一次程序就对P1.6取反一次,而调节调用的时间间隔就可以调节报时的输出频率在主程序中设置每完成对一个数码管的便调用一次程序,显示一个数码管的时间大约是1ms,因此响铃频率最高音约为500Hz,程序判断闹铃使能RE后分成两个分支,当re=1时判断闹铃条件是否满足,当re=0时,直接判断整点报时条件是否满足。
五硬件电路设计
显示及控制模块:
系统硬件电路根据系统功能可知,需要六个数码管,一个外部中断源INT0,一个扬声器及外围模块等
如图,晶振频率为12MHz,拨码开关数值由P0口读入,P2口的输出作为控制数码管的段控信号,经三极管驱动(或74ls573/373八位数据锁存器)接到数码管中。
注意不同极性的数码管采用驱动的三极管是不同的;(本设计采用NPN型三级管)数码管采用共阴极接法;P1.0-P1.5作为数码管的位控信号输出端;开关SW2经过一个基本RS锁存器接入INT0,没接一次开关INT0取反一次,接两次输入一个下降沿;扬声器由P1.6口控制。
六.编码中方常见的程序结构说明
七.硬件电路调试
硬件电路都是试用万能板焊接电路,电路简单,调试起来相
对比较容易;
一.调试操作项目 ① 将跳线把j5同INT0连接起来,使
P3.2受sw2控制;
②用长跳线把j2,j3同LED相连,使
LED56送至P1.4,P1.5的信号受控;
③用长跳线将P1.6与扬声器相连(由于
这个操作会影响单片机其他输出电路的
使用,因此需要注意此操作必须是在程
序烧写下载后才能进行,否则会报错);
④用长跳线将j10同+5v连接
二.软件程序烧写下载
1:在程序烧写过程中也遇到过一些
差错,在下载系统上下载完成后而下
载系统的模块显示系统跟预期的设
想效果不太一样,正常情况下程序烧
写完成后在显示模块上应该显示的
是全部的零然后开始正常计时进位;
2:在程序下载完毕后通电试验后出
现显示模块数字显示不稳定有干
扰;
3:通电试验后发现按键与之相对应
的功能不相符,案件作用错位;
三:硬件调试
在通电之后发现复位电路的按键不起作用,通
电之后复位电容始终处于导通状态,电路始终
处于复位状态,显示模块不能正常计时,原始
电路如图所示:
通过仔细检查后发现电解电容的极性接反
了,导致电容不能正常充放电,同时复位按
键就相当于短路而达不到复位功能,还有一
点就是电解电容,不符合要求,通过更换电
容改换电容的极性接法,故障排除。
八.系统功能优化拓展设想
㈠:优化
由于种种因素,在设计过程中不得不放弃一些功能并且也难免有一些没有考虑的地方,这里我对自己在这些方面的想法进行一些简单的设想阐述。
1.在程序编写过程中因为只考虑到程序的完整性,是程序显得冗长复杂,而增加可调用子程序的方法来缩短源程序的长度。
2.模块太多、集成度不高,使整个电路看起来显的复杂笨重化,所以可以考虑使用集成度高的电路;比如说显示模块可以使用液晶显示模块,数码显示驱动锁存模块可以使用专用的集成芯片(如74LS573/373/484/138等)。
集成化也是以后发展的趋势,但必要情况下为达到某种特效分离模块还是不可或缺的,在同等优先的条件下集成化还是首选,这样可以降低误差率使电路显得小巧简单。
3.程序共使用了一个中断按钮和六个拨码开关按钮,实际应用当中用七个按钮来控制数字钟虽然操作简单,但增加了硬件的成本和体积(每个按钮都需要占用一定体积)。
因此应考虑通过修改程序来减少按钮数量,这样可以减少体积节约成本。
实际上,只需要一个中断按钮和两个拨码开关即可实现程序要求。
用一个拨码开关确定是正常显示还是预置,另一个拨码开关确定闹铃是
否有效,而中断按钮确定预置项目及预置的清除。
这样会大大增加中断程序的复杂程度,但基本原理比较简单。
㈡:拓展
其实没实际一个东西都不是尽善尽美的,都存在一定的不足你,而一些功能可能现在来实现它有一定的难度但我们可以通过学习加深对知识和技能的掌握来实现一些现在还实现不了的功能。
可以通过拓展设想:
A、交替显示年月日及时分秒
增加该功能实际上是增加了检测开关程序的复杂程度,当开关号确定要交替显示年月日及时分秒时,增加一个计数寄存器R6 和一个标志位06H(bit)开控制将谁赋给显示缓存LED(12/34/56). 06H(bit)由R6 控制,R6 每轮显示结束值减一,计数50 次清零同时对06H(bit)取反(用DJNZ 指令实现),检测开关号时同时检测06H(bit)的值以控制赋值项目。
B、跑表功能:按ms 显示时间,以中断启动或停止计时
在判断显示跑表功能后,启动定时计数器T1,用类似走时程序的办法来实现跑表功能。
这样会增加中断程序T1 的复杂程度。
C、倒计时功能:可设定任意时间进行倒计时,利用前述预置时间的办法来预置倒计时的时间,利用类似跑表功能的办法来
实现倒计时功能。
这样同样会增加中断程序T1 的复杂程度。
以上B 和C 两个功能都需要使用定时计数器T1,但是由于T1 只有受外界控制时才启动,因此不会发生冲突。
附:
结束语
随着电子技术在不断进步,机械式时钟已经被淘汰,取而代之的是具有高度准确性和具有更长的使用寿命等优点的数字时钟。
我们应尽量考虑到人的因素,增强时钟的实用性和操作性,为使用者提供切实的方便,营造一种舒适的生活氛围。
所以,在设计的时候,应该从多面、多角度去考虑问题,而且应该进一步提高时钟的质量,并尽可能的增加一些使用的功能。