电子时钟课程设计范文.docx

上传人:b****6 文档编号:4438448 上传时间:2022-12-01 格式:DOCX 页数:12 大小:195.96KB
下载 相关 举报
电子时钟课程设计范文.docx_第1页
第1页 / 共12页
电子时钟课程设计范文.docx_第2页
第2页 / 共12页
电子时钟课程设计范文.docx_第3页
第3页 / 共12页
电子时钟课程设计范文.docx_第4页
第4页 / 共12页
电子时钟课程设计范文.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

电子时钟课程设计范文.docx

《电子时钟课程设计范文.docx》由会员分享,可在线阅读,更多相关《电子时钟课程设计范文.docx(12页珍藏版)》请在冰豆网上搜索。

电子时钟课程设计范文.docx

电子时钟课程设计范文

 

电子时钟课程设计

 

单片机课程设计

题目:

电子时钟

班级:

姓名:

学号:

指导教师:

设计时间:

评语:

 

成绩

摘要

针对数字时钟的问题,利用8051单片机,proteus软件,vw(伟福)等软件,运用单片机中定时计数器T0,中断系统以及按键的控制实现了电子时钟的设计。

设计的电子时钟经过数码管显示,并能经过按键的设计实现小时与分钟的调整。

时间的启动与暂停等等。

关键字:

数字时钟;单片机;定时计数器

1引言

时钟,自她创造的那天起,就成为人类的朋友,但随着时间的推移,科学技术不断的发展,人们对时间计量的进度要求越来越高,应用越来越广。

怎样让时钟更好地为人类服务,怎样让我们的老朋友焕发青春呢?

这就要求人们不断设计出新型时钟。

现金,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都使用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示器,减小了计时误差,这种表具有时、分、秒显示的功能,还能够进行时、分的校对,片选的灵活性好。

时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。

在一个单片机应用系统中,时钟有两方面的含义:

一是指为保障系统正常工作的基准震荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,及定时时间,它一般有两种方法实现:

一是软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要起不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,一般采用这种方法。

本文主要介绍用单片机内部的定时计数器来实现电子时钟的方法,以单片机为核心,辅以必要电路,构成了一个单片机电子时钟。

单片机应用系统由硬件系统和软件系统两部分组成。

硬件系统是指单片机以及扩展的存储器、I\O接口、外围扩展的功能芯片以及接口电路。

软件系统包括监控程序和各种应用程序。

在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行控制。

与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和I\O接口,使单片机应用系统能够运行。

在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器。

在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器。

配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按键和几个LED指示灯就能够进行处理了。

在单片机应用系统在中配置的键盘能够是独立键盘,也可能是矩阵键盘。

显示器能够是LED指示灯,也能够是LED数码管,也能够是LCD显示器,还能够使用CRT显示器。

单片机应用系统中键盘一般用的比较多的是矩阵键盘,显示器用的比较多的是LED数码管还有LCD显示器。

2设计方案及原理

2.1中断系统简介

MCS-51单片机提供5个硬件中断源,2个外部中断源,2个定时计数器T0和T1的溢出中断TF0和TF1,1个串行口发送TI和接收RI中断。

MCS-51单片机中没有专门的开中断和关中断指令,对各个中断源的允许和屏蔽是由内部的中断允许寄存器IE的各位来控制的。

中断允许寄存器IE的字节地址为A8H,能够进行位寻址。

系统复位时,中断允许寄存器IE的内容为00H,如果要开放某个中断源,则必须使IE中的总控置位和对应的中断允许位置“1”。

MCS-51单片机有5个中断源,为了处理方便,每个中断源有两级控制,高优先级和低优先级。

经过由内部的中断优先级寄存器IP来设置,中断优先级寄存器IP的字节地址为B8H,能够进行位寻址。

如果某位被置“1”,则对应的中断源被设为高优先级;如果某位被清零,则对应的中断源被设为低优先级。

对于同级中断源,系统有默认的优先权顺序,从高到低优先权顺序为外部中断0、定时计数器T0中断、外部中断1、定时计数器T1中断、串行口中断。

经过设置中断优先级寄存器IP能够改变系统默认的优先级顺序。

2.2计数器定时器简介

MCS-51系列中51子系列有两个16位的可编程定时\计数器T0和定时\计数器T1。

它由加法计数器、方式寄存器TMOD、控制寄存器TCON等组成。

方式寄存器用于设定定时计数器T0和T1的工作方式,控制寄存器用于对定时计数器启动、停止进行控制。

每个定时计数器既能够对系统时钟计数实现定时,也能够外部信号计数实现计数功能经过编程设定来实现。

定时计数器有四种工作方式,经过编程可设定工作于某种方式。

四种工作方式为:

13位定时\计数器、16位定时\计数器、8位自动重置定时\计数器、两个8位定时\计数器(只有T0有)。

每一个定时计数器定时计数时间到时产生溢出,使相应的溢出位置位,溢出可经过查询或中断方式处理。

2.3键盘和数码管简介

键盘是单片机应用系统中最常见的输入设备,在单片机应用系统中,操作人员一般都是经过键盘向单片机系统输入指令、地址和数据,实现简单的人机通信。

键盘实际上是一组按键开关的集合,平时按键开关总是处于断开状态,当按下键时它才闭合。

键盘的结构形式一般有两种:

独立式键盘和矩阵式键盘。

矩阵式键盘的工作方式有3种:

查询工作方式、定时扫描工作方式和中断工作方式。

LED数码显示管在单片机应用系统中,经常见到LED数码管作为显示输出设备,LED数码管显示器虽然显示信息简单,但它具有显示清晰、亮度高、使用电压低、寿命长、与单片机接口方便等特点,基本上能够满足单片机应用系统的需要,因此在单片机应用系统中经常见到。

LED数码管显示器是由发光二极管按一定的结构组合起来的显示器件。

在单片机应用系统中一般使用的是8段式LED数码管显示器,它有共阴极和共阳极两种。

所谓译码方式是指由显示字符转换得到对应的字段码的方式。

对于LED数码管显示器,一般的译码方式有两种:

硬件译码方式和软件译码方式。

LED数码管在显示时,一般有两种显示方式:

静态显示方式和动态显示方式。

在使用时能够把它们组合起来。

在实际应用时,如果数码管个数较少,一般见硬件译码静态显示,在数码管个数较多时,则一般见软件译码动态显示。

2.4设计思想

电子时钟是利用单片机内部的定时器\计数器来实现的,它的处理过程如下:

首先设定单片机内部的一个定时器\计数器工作于定时方式,对机器周期计数形成基准时间,然后对基准时间计数形成秒,秒计60次形成分,分计60次形成小时,小时计24次则计满一天。

然后经过数码管把它们的内容在相应位置显示出来即可。

数码管显示能够采用静态显示方法或动态显示方法。

静态显示方法需要数据锁存器等硬件,接口复杂,时钟显示一般用6个或8个数码管。

由于系统没有其它的复杂的任务处理,而且显示的时钟信息随时都可能变化,一般采用动态显示方式。

动态显示方法线路相对简单,但需动态扫描,扫描频率要大于人眼视觉暂留频率,信息看起来才稳定。

在具体处理时,定时器计数器采用中断方式工作,对时钟的形成在中断服务程序中实现。

在主程序中只需对定时器计数器初始化、调用显示子程序和控制子程序。

时间调整的方法,设计了简单的按键,能够经过按键实现时、分的调整,在主程序中加入了键盘设置子程序。

用定时/计数器T0,工作于定时,采用方式1,对12MHZ的系统时钟进行定时计数,形成定时时间为50ms,因此定时初值为15536(3CB0H)。

用片内RAM的7BH单元对50ms计数,计20次秒计数器78H单元加1,秒计数器加到60则分计数器79H单元加1,分计数器加到60则时计数器7AH单元加1,时计数器加到24则时计数器清0。

然后把秒、分、时计数器分成十位和个位放到8个数码管的显示缓冲区,经过数码管显示出来。

显示格式为小时十位、小时个位---分十位、分个位---秒十位、秒个位。

3硬件设计

图2.1硬件原理图1

图2.2硬件原理图2

4软件设计

4.1设计模块

程序分为4个部分:

主程序,中断服务程序,显示程序,按键处理程序。

4.1.1主程序

主程序设置显示缓冲区以及定时计数器T0初始值,并开始计数,重复调用键盘扫描与显示子程序。

流程如图3.1。

图3.1主程序流程图

4.1.2中断服务程序

定时计数器T0用于时间计时。

选择方式1,重复定时,定时时间设为50ms,定时时间到则中断,在中断服务程序中用7BH对50ms计数,计20次则对秒单元(78H)加1,秒单元加到60则对分单元(79H)加1,同时秒单元清0;分单元加到60则对时单元(80H)加1,同时分单元清0;时单元加到24则对时单元清0,标志一天时间计满。

中断服务程序流程图如图3.2

图3.2中断服务程序流程图

4.1.3显示程序

本系统共采用8个显示块,从右向左依次是秒各位、秒十位、横线、分各位、分十位、横线、时各位、时十位,分别连接P2.7、P2.6、P2.5、P2.4、P2.3、P2.2、P2.1、P2.0,对应显示缓冲区70H、71H、72H、73H、74H、75H、76H、77H。

P2口作为位选线,P0口作为段码线,数码块为共阳极连接,采用动态显示的方法。

4.1.4按键处理程序

按键从上到下依次为K0、K1、K2,分别与P1.0、P1.1、P1.2相连接。

按下K0键后,时钟停止计时,并进入小时调整状态,按K1或K2键可进行加1或减1操作,再按一次K0键,进入分钟调整状态,同样按K1或K2键可进行加1或减1操作,再按下K0键则恢复计时状态。

4.2程序清单

ORG0000H

LJMPSTART

ORG000BH;定时器/计数器T0中断程序入口

LJMPINTT0

START:

MOVR0,#70H;主程序

MOVR7,#0CH

INIT:

MOV@R0,#00H

INCR0

DJNZR7,INIT

MOV72H,#0AH

MOV75H,#0AH

MOVTMOD,#01H

MOVTL0,#0B0H

MOVTH0,#03CH

SETBEA

SETBET0

SETBTR0

START1:

LCALLSCAN

LCALLKEYSCAN

SJMPSTART1

DL1MS:

MOVR6,#14H;延时1MS子程序

DL1:

MOVR7,#19H

DL2:

DJNZR7,DL2

DJNZR6,DL1

RET

DL20MS:

ACALLSCAN;延时20MS子程序

ACALLSCAN

ACALLSCAN

RET

SCAN:

MOVA,78H;数码管显示程序

MOVB,#0AH

DIVAB

MOV71H,A

MOV70H,B

MOVA,79H

MOVB,#0AH

DIVAB

MOV74H,A

MOV73H,B

MOVA,7AH

MOVB,#0AH

DIVAB

MOV77H,A

MOV76H,B

MOVR1,#70H;循环扫描显示

MOVR5,#80H;选通最右边的第一个数码块

MOVR3,#08H

SCAN1:

MOVA,R5

MOVP2,A

MOVA,@R1

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVP0,A

LCALLDL1MS

INCR1

MOVA,R5

RRA

MOVR5,A

DJNZR3,SCAN1

MOVP2,#00H

MOVP0,#0FFH

RET

TAB:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH

;“0~9”,“-”的共阳极字段码

INTT0:

PUSHACC;定时器/计数器T0中断服务程序

PUSHPSW

CLRET0

CLRTR0

MOVTL0,#0B0H

MOVTH0,#03CH

SETBTR0

INC7BH

MOVA,7BH

CJNEA,#14H,OUTT0

MOV7BH,#00

INC78H

MOVA,78H

CJNEA,#3CH,OUTT0

MOV78H,#00

INC79H

MOVA,79H

CJNEA,#3CH,OUTT0

MOV79H,#00

INC7AH

MOVA,7AH

CJNEA,#18H,OUTT0

MOV7AH,#00

OUTT0:

SETBET0

POPPSW

POPACC

RETI

KEYSCAN:

CLREA;按键处理程序

JNBP1.0,KEYSCAN0

JNBP1.1,KEYSCAN1

JNBP1.2,KEYSCAN2

KEYOUT:

SETBEA

RET

KEYSCAN0:

LCALLDL20MS

JBP1.0,KEYOUT

WAIT0:

JNBP1.0,WAIT0

INC7CH

MOVA,7CH

CLRET0

CLRTR0

CJNEA,#03H,KEYOUT

MOV7CH,#00

SETBET0

SETBTR0

SJMPKEYOUT

KEYSCAN1:

LCALLDL20MS

JBP1.1,KEYOUT

WAIT1:

JNBP1.1,WAIT1

MOVA,7CH

CJNEA,#02H,KSCAN11

INC79H

MOVA,79H

CJNEA,#3CH,KEYOUT

MOV79H,#00

SJMPKEYOUT

KSCAN11:

INC7AH

MOVA,7AH

CJNEA,#18H,KEYOUT

MOV7AH,#00

SJMPKEYOUT

KEYSCAN2:

LCALLDL20MS

JBP1.2,KEYOUT

WAIT2:

JNBP1.2,WAIT2

MOVA,7CH

CJNEA,#02H,KSCAN21

DEC79H

MOVA,79H

CJNEA,#0FFH,KEYOUT

MOV79H,#3BH

SJMPKEYOUT

KSCAN21:

DEC7AH

MOVA,7AH

CJNEA,#0FFH,KEYOUT

MOV7AH,#17H

SJMPKEYOUT

END

总结

针对电子时钟的问题,利用单片机内部的定时计数器T0计时的功能以50MS为最小计时单位,进行计时,计20次为一秒,秒单元计60次为一分钟,分单元计60次为一小时,小时单元计24次为一天,每个单元计满则自动清0。

单片机外部经过P2口与数码显示管连接,显示秒,分,时,同时还可经过按键调整时间。

最后运用proteus软件仿真,并运行成功。

在设计软件程序,编写论文过程中还存在部分不足之处,在以后的学习中积极改进,进一步掌握汇编语言的编写技巧,熟练单片机硬件内容,改正缺点。

参考文献

[1]李华,王思明,张金敏.单片机原理及应用[J].兰州:

兰州大学出版社,.

[2]闫玉德,俞虹.MCS-51单片机原理与应用[J].北京:

机械工业出版社,.

[3]肖靖.单片机入门与实验设计[J].北京:

北京航天航空大学出版社,.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1