文档详情

时钟计时器的设计

枫**
实名认证
店铺
DOC
171.54KB
约15页
文档ID:423906438
时钟计时器的设计_第1页
1/15

课程设计(论文)题 目 名 称 时钟计时器的设计 课 程 名 称 单片机原理及应用课程设计 学 生 姓 名 学 号 系 、专 业 指 导 教 师 年 月 日摘 要本次电子时钟课程设计采用MCS-51系列单片机80C51为基本芯片,外使用12MHz 晶振与单片机80C51相连接,通过软件编程的方法实现以24小时为一个周期,同时8位7段LED数码管显示小时、分钟和秒的要求,并在计时过程中具有定时调时功能该电子钟设置3个按键,分别实现对时,分加一以及开启或暂停电子钟的作用在具体数码显示中能够实现自动记时,手动调时,满24小时自动清0的作用该电子时钟具有走时准确、显示直观、精度高、稳定等优点关键词:时钟;80C51;单片机;计时器目 录1 问题描述 12 设计思想 13 硬件设计 13.1定时器\计数器 13.2中断系统 23.3键盘和LED数码管显示器 24 软件设计 34.1主程序 34.2.数码管显示模块 34.3.定时器/计数器T0中断服务程序 34.4 按键处理模块 35 仿真分析 56 课程设计总结 6参考文献 6附录(源程序清单) 71 问题描述时钟计时器广泛应用于各种继电器、电磁开关,控制器、延时器、定时器等的时间测试。

目前所使用的时钟计时器大多是指针式或集成电路型的,结构相对复杂、测试功能单一本仪器应当具有实时时钟、整点报时、手动调时等功能2 设计思想用定时/计数器T0,工作于定时,采用方式1,对12MHZ的系统时钟进行定时计数,初值设为XXYY(自己设置)形成定时时间为50ms用片内RAM的7BH单元对50ms计数,计20次产生秒计数器78H单元加1,秒计数器加到60则分计数器79H单元加1,分计数器加到60则时计数器7AH单元加1,时计数器加到24则时计数器清0然后把秒、分、时计数器分成十位和个位放到8个数码管的显示缓冲区,通过数码管显示出来显示格式为小时十位、小时个位---分十位、分个位---秒十位、秒个位在处理过程中加上了按键判断程序,能对按键处理3 硬件设计3.1定时器\计数器(1)、MCS-51系列中51子系列有两个16位的可编程定时\计数器:定时\计数器T0和定时\计数器T1它由加法计数器、方式寄存器TMOD、控制寄存器TCON等组成方式寄存器用于设定定时计数器T0和T1的工作方式,控制寄存器用于对定时计数器启动、停止进行控制2)、每个定时计数器既可以对系统时钟计数实现定时,也可以外部信号计数实现计数功能通过编程设定来实现。

3)、每个定时计数器都有多种工作方式,其中T0有四种工作方式,T1有三种工作方式,T2有三种工作方式通过编程可设定工作于某种方式四种工作方式为:13位定时\计数器、16位定时\计数器、8位自动重置定时\计数器、两个8位定时\计数器(只有T0有)(4)、每一个定时计数器定时计数时间到时产生溢出,使相应的溢出位置位,溢出可通过查询或中断方式处理3.2中断系统(1)、MCS-51单片机提供5个硬件中断源,2个外部中断源,2个定时计数器T0和T1的溢出中断TF0和TF1,1个串行口发送TI和接收RI中断2)、MCS-51单片机中没有专门的开中断和关中断指令,对各个中断源的允许和屏蔽是由内部的中断允许寄存器IE的各位来控制的中断允许寄存器IE的字节地址为A8H,可以进行位寻址系统复位时,中断允许寄存器IE的内容为00H,如果要开放某个中断源,则必须使IE中的总控置位和对应的中断允许位置“1”3)、MCS-51单片机有5个中断源,为了处理方便,每个中断源有两级控制,高优先级和低优先级通过由内部的中断优先级寄存器IP来设置,中断优先级寄存器IP的字节地址为B8H,可以进行位寻址如果某位被置“1”,则对应的中断源被设为高优先级;如果某位被清零,则对应的中断源被设为低优先级。

对于同级中断源,系统有默认的优先权顺序,从高到低优先权顺序为外部中断0、定时计数器T0中断、外部中断1、定时计数器T1中断、串行口中断通过设置中断优先级寄存器IP能够改变系统默认的优先级顺序3.24、MCS-51单片机响应中断的条件为:中断源有请求且中断允许3.3键盘和LED数码管显示器键盘是单片机应用系统中最常用的输入设备,在单片机应用系统中,操作人员一般都是通过键盘向单片机系统输入指令、地址和数据,实现简单的人机通信键盘实际上是一组按键开关的集合,平时按键开关总是处于断开状态,当按下键时它才闭合键盘的结构形式一般有两种:独立式键盘和矩阵式键盘矩阵式键盘的工作方式有3种:查询工作方式、定时扫描工作方式和中断工作方式LED数码管显示器:在单片机应用系统中,经常用到LED数码管作为显示输出设备,LED数码管显示器虽然显示信息简单,但它具有显示清晰、亮度高、使用电压低、寿命长、与单片机接口方便等特点,基本上能够满足单片机应用系统的需要,所以在单片机应用系统中经常用到LED数码管显示器是由发光二极管按一定的结构组合起来的显示器件在单片机应用系统中通常使用的是8段式LED数码管显示器,它有共阴极和共阳极两种。

所谓译码方式是指由显示字符转换得到对应的字段码的方式对于LED数码管显示器,通常的译码方式有两种:硬件译码方式和软件译码方式LED数码管在显示时,通常有两种显示方式:静态显示方式和动态显示方式在使用时可以把它们组合起来在实际应用时,如果数码管个数较少,通常用硬件译码静态显示,在数码管个数较多时,则通常用软件译码动态显示4 软件设计电子时钟的软件系统由主程序和子程序组成,主程序程序包含初始化参数设置、按键处理、数码管显示模块等4.1主程序主程序执行流程如图1所示,主程序先对显示单元和定时器/计数器初始化,然后重复调用数码管显示模块和按键处理模块,当有键按下,则转入相应的功能程序4.2.数码管显示模块本系统共用8个数码管,从右到左依次显示秒个位、秒十位、横线、分个位、分十位、横线、时个位和时十位采用软件译码动态显示4.3.定时器/计数器T0中断服务程序定时器/计数器T0用于时间计时选择方式1,重复定时,定时时间设为50ms,定时时间到则中断,在中断服务程序中用一个计数器对50ms计数,计20次则对秒单元加1,秒单元加到60则对分单元加1,同时秒单元清0;分单元加到60则对时单元加1,同时分单元清0;时单元加到24则对时单元清0,标志一天时间计满。

在对各单元计数的同时,把它们的值放到存储单元的指定位置定时器/计数器T0中断服务程序流程图如图2所示4.4 按键处理模块按键处理设置为:如没有按键,则时钟正常走时当按下K0按键时,进入调分状态,时钟停止走动;按K1可K2按键可进行加1或减1操作;继续按K0键可分别进行分和小时的调整;最后按K0键将退出调整状态,时钟开始计时运行流程图如下所示:开始显示单元清零T0、T1设为16位计数模式允许T0中断调用显示子程序进入功能程序按下键否?否是 开始现场保护,重置初值启动下一个50ms50ms 计数器加1秒单元加1,50ms计数器清0,秒写入秒个位和秒十位50ms 计数器=20?否是分单元加1,秒单元清0,分写入分个位和分十位秒单元=60?时单元加1,分单元清0,时写入时个位和时十位分单元=60?时单元清0时单元=24?中断返回否否否是是是 1、主程序流程图 2、定时器/计数器T0中断服务程序流程图 5 仿真分析在Proteus ISIS的80C51中载入程序生成的HEX文件,按开始符号运行,在数码管上观察程序运行结果,系统仿真结果如图5.1所示。

设计功能如下: (1)、初始状态:未按键之前,上电,数码显示00-00-00程序运行后,从秒针开始自动运行当秒数到59后,下一秒自动变为00,分针变为01,以此类推 (2)、调整状态:仿真运行过程中,按p0键,系统暂停,此时,继续按p0无效第三次按p0,又开始,如此循环3) 、设置状态:按下p0暂停后,按p1,则时针加一, 按下p2,则时针减一;按两下p0,在按下p1,则分针加一,按下p2,则分针减一时间显示格式为:时分秒;误差分析:实际程序到实验板中的电子钟显示存在一定的误差,误差来源可能为三个方面:第一,在程序运行过程中,时钟周期的不精确导致机器周期与理论值存在一定的差别;第二在中断一秒显示过程中,一些指令需要消耗一定的机器周期,使得一秒延时比实际要长;第三在键抖动的反应程度在运行中比较慢 5.1实例仿真6 课程设计总结 通过这次的课程设计我认识到我对单片机的知识学的太少了,对于书本上很多知识还不能灵活运用,都需要去巩固加强,我会在以后的学习中弥补我的不足我也了解了Keil C51集成环境和PROTEUS仿真软件的使用,用此软件练习电子时钟的设计,不仅使我熟悉了软件的使用方法,而且复习了单片机编程的相关知识。

在使用中,我体验到了单片机的神奇之处,也激发了我不少的兴趣,引领着我不断的探索单片机的未知世界本次的课程设计,我也学到了一些更重要的东西,那就是如何从理论到实践的转化,怎样将所学到的知识运用于实践大学的课堂只是在学习专业知识,而我们应当把所学的知识用到我们现实的生活中去此次的的电子时钟设计给我奠定了一个实践基础,我会在以后的学习生活中磨练自己,使自己变得更加优秀在本次的设计中,特别感申老师的指导,在老师的讲解和指导下,我成功的解决了设计中的许多问题,也使我知道了认真的重要性也感谢同学给我的帮助,没有他们的帮助,我一个人是无法完成的,他们让我明白了学问的真正含义参考文献[1]戴梅萼,史嘉权编著.微型计算机技术及应用(第三版).北京:清华大学出版社,2003[2]周明德编著.微型计算机系统原理及应用(第四版).北京:清华大学出版社,2002[3]李顺增,吴国东,赵河明等.微机原理及接口技术.北京:机械工业出版社,2006[4]杨立新.微型计算机原理和应用[M].北京:科学技术文献出版社,1986.11 [5]李大友.微型计算机原理[M].北京:清华大学出版社,1998.7[6]眭碧霞.微型计算机原理与组成[M].人民邮电出版社,2003.8附录(源程序清单)ORG 0000HLJMP STARTORG 000BH ;定时器/计数器T0中断程序入口LJMP INTT0;主程序START:MOV R0,#70H MOV R7,#0CHINIT: MOV @R0,#00H INC R0 DJNZ R7,INIT MOV 72H,#10 MOV 75H,#10 MOV TMOD,#01H MOV TL0,#0B0H MO。

下载提示
相似文档
正为您匹配相似的精品文档