单片机课程设计《多功能数字电子时钟Word格式.docx

上传人:b****4 文档编号:8166751 上传时间:2023-05-10 格式:DOCX 页数:25 大小:208.76KB
下载 相关 举报
单片机课程设计《多功能数字电子时钟Word格式.docx_第1页
第1页 / 共25页
单片机课程设计《多功能数字电子时钟Word格式.docx_第2页
第2页 / 共25页
单片机课程设计《多功能数字电子时钟Word格式.docx_第3页
第3页 / 共25页
单片机课程设计《多功能数字电子时钟Word格式.docx_第4页
第4页 / 共25页
单片机课程设计《多功能数字电子时钟Word格式.docx_第5页
第5页 / 共25页
单片机课程设计《多功能数字电子时钟Word格式.docx_第6页
第6页 / 共25页
单片机课程设计《多功能数字电子时钟Word格式.docx_第7页
第7页 / 共25页
单片机课程设计《多功能数字电子时钟Word格式.docx_第8页
第8页 / 共25页
单片机课程设计《多功能数字电子时钟Word格式.docx_第9页
第9页 / 共25页
单片机课程设计《多功能数字电子时钟Word格式.docx_第10页
第10页 / 共25页
单片机课程设计《多功能数字电子时钟Word格式.docx_第11页
第11页 / 共25页
单片机课程设计《多功能数字电子时钟Word格式.docx_第12页
第12页 / 共25页
单片机课程设计《多功能数字电子时钟Word格式.docx_第13页
第13页 / 共25页
单片机课程设计《多功能数字电子时钟Word格式.docx_第14页
第14页 / 共25页
单片机课程设计《多功能数字电子时钟Word格式.docx_第15页
第15页 / 共25页
单片机课程设计《多功能数字电子时钟Word格式.docx_第16页
第16页 / 共25页
单片机课程设计《多功能数字电子时钟Word格式.docx_第17页
第17页 / 共25页
单片机课程设计《多功能数字电子时钟Word格式.docx_第18页
第18页 / 共25页
单片机课程设计《多功能数字电子时钟Word格式.docx_第19页
第19页 / 共25页
单片机课程设计《多功能数字电子时钟Word格式.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机课程设计《多功能数字电子时钟Word格式.docx

《单片机课程设计《多功能数字电子时钟Word格式.docx》由会员分享,可在线阅读,更多相关《单片机课程设计《多功能数字电子时钟Word格式.docx(25页珍藏版)》请在冰点文库上搜索。

单片机课程设计《多功能数字电子时钟Word格式.docx

按键处理是先检测秒按键是否按下,秒按键如果按下,秒就加1;

如果没有按下,就检测分按键是否按下,分按键如果按下,分就加1;

如果没有按下,就检测时按键是否按下,时按键如果按下,时就加1;

如果没有按下,就把时间显示出来。

(3)中断:

中断技术在单片系统中有着十分重要的作用,它不仅可以提高单片机CPU的效率,也可以对突发事件处理。

所谓中断就是当CPU正在执行程序A时,发生了另一个急需处理的事件B,这是CPU暂停当前执行的程序A,立即转去执行处理事件B的程序,处理完事件B后,再返回到程序A继续执行,这个过程被叫做中断。

关于中断的概念有下列几个名词:

(1)程序A称为主程序,

(2)处理事件B的程序称为中断服务程序,(3)主程序中转向中断服务程序的地方称为断点,(4)引起中断的原因即事件B称为中断源,(5)转去执行中断服务程序称为中断响应。

关于中断的概念可以打个如下的比喻。

领导(CPU)在自己的房间办公(执行主程序),下属(外设)有问题打电话来请示(中断源)。

1.3系统设计目的

通过课程设计的教学实践,巩固、加深和扩大51系列单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力。

对课题设计方案的分析、选择、比较、熟悉用51单片机做系统开发、研制的过程,软硬件设计的方法、内容及步骤。

提高动手实践能力、提高科学的思维能力。

1.4系统设计要求

1.掌握单片机最小系统的电路原理图;

2.硬件的焊接、连接;

3.独立编辑、编译软件;

4.调试要求:

(1)上电以后自动进入计时状态,起始于00:

00。

(2)设计键盘调整时间,完成时间设计,并设置闹钟。

(3)定时时间为1/20秒,采用定时器实现。

(4)采用LED数码管显示,时、分,秒采用数字显示。

(5)采用24小时制,具有方便的时间调校功能。

(6)具有时钟和秒表的切换功能。

第2章硬件电路设计

2.1总原理图

如原理图所示,硬件系统主要由单片机最小应用系统、LED数码管显示模块、电源模块、晶振模块、按键模块等组成。

图2-1电子时钟原理图

2.2各个模块设计

1、单片机最小系统

AT89S52概述:

是一款非常适合单片机初学者学习的单片机,它完全兼容传统的8051,8031的指令系统,他的运行速度要比8051快最高支持达33MHz的晶体震荡器,在此系统中使用12MHz的晶振。

AT89S52具有以下标准功能:

8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止……

详述:

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器。

一个6向量2级中断结构,全双工串行口及时钟电路。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止.

2、显示模块

LED数码管是由发光二极管构成的,亦称半导体数码管。

将条状发光二极管按照共阴极(负极)或共阳极(正极)的方法连接,组成“8”字,再把发光二极管另一电极作笔段电极,就构成了LED数码管。

若按规定使某些笔段上的发光二极管发光,就能显示从0~9的…系列数字。

同荧光数码管(VFD)、辉光数码管(NRT)相比,它具有:

体积小、功耗低、耐震动、寿命长、亮度高、单色性好、发光响应的时间短,能与TTL、CMOS电路兼容等的数显器件。

+、-分别表示公共阳极和公共阴极。

a~g是7个笔段电极,DP为小数点。

另有一种字高为7.6mm的超小型LED数码管,管脚从左右两排引出,小数点则是独立的。

本系统利用6位LED数码管显示时间,共阴极结构。

LED数码管由7段发光二极管组成,当要显示某个数字时只要将数字所对应的引脚送入低电平。

3.按键模块

本设计中主要有三个控制按键,按键功能为:

(1)P3.2为调时间模式,长按P3.2进入调分状态:

图2-2

(3)按下P3.4进入秒表状态:

4.晶振模块

下图所示为时钟电路原理图,在AT89S51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。

而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。

时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。

图2-3晶振电路

2.3器件清单

元件名

封装名

型号

CRYSTAL

XTAL-1

VOLTREG

TO-220

MC7805T

TRANS4

FLY4

10TO1

VSIN

CAP

RB.2/.4

CAPACITORPOL

RAD-0.1

TRANSISTOR

TO18

PNP

TRANSISITOR

TO92A

NPN

SPEAKER

SIP-2

LED

DIODE-0.4

SW-PB

RES2

AXIAL0.3-1.0

DPY_7-SEG_DP

DIP8

单片机

AT89S52

表一元件器件清单

第3章软件设计

3.1硬件框图

根据以上的电子时钟的设计要求可以分为以下的几个硬件电路模块:

单片机模块、数码显示模块、晶振模块、电源模块与按键模块等,模块之间的关系图如下面得方框电路图所示。

图3-1

3.2程序流程图

(1)总体流程图

图3-2

(2)时钟调整模式

图3-3

(3)秒表模式

图3-4

第4章心得体会

本次课程设计是用AT89S52单片机CPU及接口电路设计一个数字时钟,经过一个星期的调试,结果满足设计要求,验证无误。

通过单片机硬件电路的调试,实现了预先设定的功能,设计主要用到了多种芯片,程序也比较长比较麻烦,同时也遇到了不少困难,尤其是关于校时模块的设计实现。

关于显示模块,在以前的实验中做过,所以问题很容易解决。

随着集成电路和计算机技术的迅速发展,使电子仪器的整体水平发生巨大变化,传统的仪器逐步的被智能仪器所取代。

智能仪器的核心部件是单片机,因其极高的性价比得到广泛的应用与发展,从而加快了智能仪器的发展。

而传感器作为测控系统中对象信息的入口,越来越受到人们的关注。

传感器好比人体“五官”的工程模拟物,它是一种能将特定的被测量信息(物理量、化学量、生物量等)按一定规律转换成某种可用信号输出的器件或装置本次课设中的半桥电子秤就是在以上仪器的基础上设计而成的。

因此,只有充分了解有关智能仪器、单片机、传感器以及各部分之间的关系才能达到要求。

通过本次设计,我们系统的了解了实时时钟的设计流程,尤其是硬、软件的设计方法,掌握了键盘显示电路的基本功能及编程方法,掌握了键盘电路和显示电路的一般原理,也进一步掌握了89S52定时器的使用和中断处理器程序的编程方法。

开拓了思路,锻炼了实践动手能力,提高了分工协作能力和分析问题,解决问题的能力,达到了本次课程设计的目的。

在调试电路的过程中也积累了一些宝贵的经验,比如说,在I/O口要保证标准的高电平”1”的产生,一般要上拉电阻5.1k,在一些需要高电平的地方,不能用悬空来模拟,必须严格的按照“+5v”来连接,特别是调试过程中的分部分进行很重要。

此次单片机课程设计,从选题到定稿,从理论到实践,在整整两个星期里,学到了很多的东西。

同时不仅巩固了以前所学过的知识,而且还学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

这次的课程设计还让我学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。

更重要的是,我在这一设计过程中,学会了坚持不懈,不轻言放弃。

设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。

在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

我们通过查阅大量有关资料,并在小组中互相讨论,交流经验和自学,若遇到实在搞不明白的问题就会及时请教老师,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。

单片机课程设计虽然结束了,但通过设计所学到的东西将长久存在。

相信这次设计带给我们的严谨的学习态度和一丝不苟的科学作风将会给我们未来的工作和学习打下一个更坚实的基础。

单片机课程设计,是对单片机知识的验证,可以帮助我们理解巩固所学知识,激发我们对单片机课程的兴趣,更锻炼了我们独立思考、开拓创新的能力。

在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。

为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。

我们是在做单片机课程设计,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。

其次,在这次课程设计中,我们运用到了以前所学的专业课知识,如:

CAD制图、汇编语言、模拟和数字电路知识等。

虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。

最后,要做好一个课程设计,就必须做到:

在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;

要有一个清晰的思路和一个完整的软件流程图;

在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;

要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;

在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。

另外,这次课程设计让我感到了团队合作的重要性。

在团队中,我们互帮互助,对整个课程设计来说,这是至关重要的,缺少每一个人都会对我们的设计产生影响。

还有要感谢指导老师在我们遇到困难时,给予我们的建议与鼓励。

第5章附件

附录A.源程序清单

;

AT89S52时钟程序;

********************************************************定时器T0、T1溢出周期为50MS,T0为秒计数用,T1为调整时闪烁及秒表定时用,P3.2、P3.3、P3.4为调整按钮,P0口为字符输出口,P2为扫描口,P1.2为蜂呜器口,采用共阳显示管。

50H-55H为闹钟定时单元,60H-65H为秒表计时单元,70H-75H为显示时间单元,76H-79H为分时计时单元。

03H标志=0时钟闪烁,=1秒表,05H=0,不闹铃,=1要闹铃.07H每秒改变一次,用作间隔呜叫.

********************************************************

DISPFIRSTEQU30H;

显示首址存放单元

BELLEQUP1.2

CONBSEQU2FH;

存放报时次数

CLOCKEQU2DH

****************************************

中断入口程序

ORG0000H;

程序执行开始地址

LJMPSTART;

跳到标号START执行

ORG0003H;

外中断0中断程序入口

RETI;

外中断0中断返回

ORG000BH;

定时器T0中断程序入口

LJMPINTT0;

跳至INTTO执行

ORG0013H;

外中断1中断程序入口

RETI;

外中断1中断返回

ORG001BH;

定时器T1中断程序入口

LJMPINTT1;

跳至INTT1执行

ORG0023H;

串行中断程序入口地址

串行中断程序返回

以下程序开始;

整点报时用

QQQQ:

MOVA,#10H

MOVB,79H

MULAB

ADDA,78H

MOVCONBS,A

BSLOOP:

LCALLDS21MS

LCALLDL1S

DJNZCONBS,BSLOOP

CLR08H;

清整点报时标志

AJMPSTART1

主程序开始;

START:

LCALLST;

上电显示00:

00

MOVR0,#00H;

清00H-7FH内存单元

MOVR7,#80H;

CLEARDISP:

MOV@R0,#00H;

INCR0;

DJNZR7,CLEARDISP;

MOV20H,#00H;

清20H(标志用)

MOV55H,#1

MOV54H,#2

MOV7AH,#0AH;

放入"

熄灭符"

数据

MOVTMOD,#11H;

设T0、T1为16位定

MOVTL0,#0B0H;

50MS定时(T0计时用)

MOVTH0,#3CH;

50MS定时初值

MOVTL1,#0B0H;

50MS定时初值MOVTH1,#3CH;

SETBEA;

总中断开放

SETBET0;

允许T0中断

SETBTR0;

开启T0定时器

MOVR4,#14H;

1秒定时用计数值

MOVDISPFIRST,#70H;

显示单元为70-75H

以下主程序循环

START1:

LCALLDISPLAY;

调用显示子程序

JNBP3.2,SETMM1;

P3.2口为0时转时间

JNBP3.3,TSFUN;

定时闹铃设定

JNBP3.4,FUNPT;

秒表功能

JB08H,QQQQ

AJMPSTART1;

P3.2口为1时跳回START1

FUNPT:

LJMPFUNPTT

START12:

LJMPSTART1

以下闹铃时间设定程序,按P3.3进入设定

TSFUN:

LCALLDS20MS

JBP3.3,START1;

WAIT113:

JNBP3.3,WAIT113;

等待键释放

JB05H,CLOSESP;

闹铃已开的话,关闹铃

MOVDISPFIRST,#52H;

进入闹铃设定程序,显示52-55H闹钟定时单元

DSWAIT:

SETBEA

LCALLDISPLAY

JNBP3.4,DSFINC;

分加1

JNBP3.2,DSDEC;

分减1

JNBP3.3,DSSFU;

进入时调整

AJMPDSWAIT

CLOSESP:

CLR05H;

关闹铃标志

CLRBELL

DSSFU:

LCALLDS20MS;

消抖

JBP3.3,DSWAIT

LJMPDSSFUNN;

进入时调整;

SETMM1:

LJMPSETMM;

转到时间调整程序SETMM

DSFINC:

JBP3.4,DSWAIT

DSWAIT12:

等键释放

JNBP3.4,DSWAIT12

CLREA

MOVR0,#53H;

LCALLADD1;

闹铃设定分加1

MOVA,R3;

分数据放入A

CLRC;

清进位标志

CJNEA,#60H,ADDHH22;

ADDHH22:

JCDSWAIT;

小于60分时返回

ACALLCLR0;

大于或等于60分

DSDEC:

JBP3.2,DSWAIT

DSWAITEE:

JNBP3.2,DSWAITEE

LCALLsub1;

闹铃设定分减1

LJMPDSWAIT

以下键等待释放时显示不会熄灭用

WAIT21:

AJMPWAIT22

WAIT31:

AJMPWAIT33

WAIT41:

AJMPWAIT44

WAIT51:

AJMPWAIT55

WAIT61:

AJMPWAIT66

WAIT81:

AJMPWAIT88

WAIT91:

AJMPWAIT99

闪动调时程序\秒表功能程序;

T1中断服务程序,用作时间调整时调整单元闪烁指示或秒表计时

INTT1:

PUSHACC;

中断现场保护

PUSHPSW

JB03H,MMFUN;

=1时秒表

MOVTL1,#0B0H;

装定时器T1定时MOVTH1,#3CH;

DJNZR2,INTT1OUT;

MOVR2,#06H;

CPL02H;

JB02H,FLASH1;

MOV72H,76H;

MOV73H,77H;

MOV74H,78H;

MOV75H,79H;

INTT1OUT:

POPPSW;

恢复现场

POPACC;

中断退出

FLASH1:

JB01H,FLASH2;

MOV72H,7AH;

MOV73H,7AH;

AJMPINTT1OUT;

转中断退出

***************************************

显示程序;

显示数据在70H-75H单元内,用六位LED共阳数码管显示,P0口输出段码数据,P2口作

扫描控制,每个LED数码管亮1MS时间再逐位循环。

DISPLAY:

MOVR1,DISPFIRST;

指向显示数据首址

MOVR5,#0FEH;

扫描控制字初值

PLAY:

MOVA,R5;

扫描字放入A

MOVP2,A;

从P2口输出

MOVA,@R1;

取显示数据到A

MOVDPTR,#TAB;

取段码表地址

MOVCA,@A+DPTR;

MOVP0,A;

段码放入P1口

MOVA,R5;

JBACC.2,LOOP5;

小数点处理

CLRP0.7;

LOOP5:

JBACC.4,LOOP6;

LOOP6:

LCALLDL1MS;

显示1MS

INCR

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

当前位置:首页 > 工程科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2