单片机电子时钟毕业课程设计报告.docx

上传人:b****3 文档编号:5397055 上传时间:2023-05-08 格式:DOCX 页数:13 大小:187.30KB
下载 相关 举报
单片机电子时钟毕业课程设计报告.docx_第1页
第1页 / 共13页
单片机电子时钟毕业课程设计报告.docx_第2页
第2页 / 共13页
单片机电子时钟毕业课程设计报告.docx_第3页
第3页 / 共13页
单片机电子时钟毕业课程设计报告.docx_第4页
第4页 / 共13页
单片机电子时钟毕业课程设计报告.docx_第5页
第5页 / 共13页
单片机电子时钟毕业课程设计报告.docx_第6页
第6页 / 共13页
单片机电子时钟毕业课程设计报告.docx_第7页
第7页 / 共13页
单片机电子时钟毕业课程设计报告.docx_第8页
第8页 / 共13页
单片机电子时钟毕业课程设计报告.docx_第9页
第9页 / 共13页
单片机电子时钟毕业课程设计报告.docx_第10页
第10页 / 共13页
单片机电子时钟毕业课程设计报告.docx_第11页
第11页 / 共13页
单片机电子时钟毕业课程设计报告.docx_第12页
第12页 / 共13页
单片机电子时钟毕业课程设计报告.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机电子时钟毕业课程设计报告.docx

《单片机电子时钟毕业课程设计报告.docx》由会员分享,可在线阅读,更多相关《单片机电子时钟毕业课程设计报告.docx(13页珍藏版)》请在冰点文库上搜索。

单片机电子时钟毕业课程设计报告.docx

单片机电子时钟毕业课程设计报告

单片机课程设计报告

 

学院:

机械与电子工程学院

专业:

自动化

姓名:

刘洪播

学号:

 

单片机课程设计报告

一、设计要求

1、准确计时,以数字形式显示时、分、秒的时间。

2、小时以24小时计时形式,分秒计时为60进位。

3、校正时间功能,即能随意设定走时时间。

4、闹钟功能,一旦走时到该时间,能以声或光的形式告警提示。

(未实现)

5、设计5VUSB直流电源,系统时钟电路、复位电路。

6、能指示秒节奏,即秒提示。

二、设计方案

本次设计时钟电路,使用了ATC89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的时、分、秒,用一扬声器来进行定时提醒,同时使用汇编语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:

键盘、芯片、扬声器、LED显示即可满足设计要求。

(一)设计方案的选择

1.计时方案

使用单片机内部的可编程定时器。

利用单片机内部的定时计数器进行中端定时,配合软件延时实现时、分、秒的计时。

该方案节省硬件成本,但程序设计较为复杂。

2.显示方案

对于实时时钟而言,显示显然是另一个重要的环节。

通常LED显示有两种方式:

动态显示和静态显示。

静态显示的优点是程序简单、显示亮度有保证、单片机CPU的开销小,节约CPU的工作时间。

但占有I/O口线多,每一个LED都要占有一个I/O口,硬件开销大,电路复杂。

需要几个L899ED就必须占有几个并行口,比较适用于LED数量较少的场合。

当然当LED数量较多的时候,可以使用单片机的串行口通过移位寄存器的方式加以解决,但程序编写比较麻烦。

LED动态显示硬件连接简单,但动态扫描的显示方式需要占有CPU较多的时间,在单片机没有太多实时测控任务的情况下可以采用。

本系统需要采用6位LED数码管来分别显示时、分、秒,因数码管个数较多,故本系统选择动态显示方式。

(二)硬件部分

1、STC89C52单片机介绍

STC89C52单片机是由深圳宏晶公司代理销售的一款MCU,是由美国设计生产的一种低电压、高性能CMOS8位单片机,片内含8kbytes的可反复写的FlashROM和256bytes的RAM,2个16位定时计数器[5]。

STC89C52单片机内部主要包括累加器ACC(有时也简称为A)、程序状态字PSW、地址指示器DPTR、只读存储器ROM、随机存取存储器RAM、寄存器、并行I/O接口P0~P3、定时器/计数器、串行I/O接口以及定时控制逻辑电路等。

这些部件通过内部总线联接起来,构成一个完整的微型计算机。

其管脚图如图所示。

STC89C52单片机管脚结构图

各个端口对照朱照优老师编写的《单片机原理与应用》

2、总电路原理图

(五)软件部分

根据上述电子时钟的工作流程,软件设计可分为以下几个功能模块:

(1)主程序模块。

主程序主要用于系统初始化:

设置计时缓冲区的位置及初值,设置8155的工作方式、定时器的工作方式和计数初值等参数。

主程序流程如下图所示。

开始

定义堆栈区

8155、T0、数据缓冲区、标志位初始化

调用键盘扫描程序

是C/R键?

地址指针指向计时缓冲区

调用时间设置程序

主程序流程图

(2)计时模块。

即定时器0中断子程序,完成刷新计时缓冲区的功能。

系统使用6MHz的晶振,假设定时器0工作在方式1,则定时器的最大定时时间为65.536ms,这个值远远小于1s。

因此本系统采用定时器与软件循环相结合的定时方法。

设定时器0工作在方式1,每隔50ms溢出中断一次,则循环中断20次延时时间是1s,上述过程重复60次为1分,分计时60次为1小时,小时计时24次则时间重新回到00:

00:

00。

因定时器0工作在方式1,则50ms定时对应的定时器初值为:

65536-50ms/2us=40536=9E58H,即TH0=9EH,TH0=58H。

但应当指出:

CPU从响应T0中断到完成定时器初值重装这段时间,定时器T0并不停止工作,而是继续计数。

因此,为了确保T0能准确定时50ms,重装的定时器初值必须加以修正,修正的定时器初值必须考虑到从原定时器初值中扣除计数器多计的脉冲个数。

由于定时器计数脉冲的周期恰好和机器周期吻合,因此修正量等于CPU从响应中断到重装完TL0为止所用的机器周期数。

CPU响应中断通常要3~8个机器周期。

经过测试,定时器0重装的计数初值设为9E5FH~9E67H,可以满足精度要求。

另外,MCS-51单片机只有二进制加法指令,而时间是按十进制递增,因此用加法指令后必须进行二-十进制转换。

计时模块流程图如下图所示。

保护现场

重装定时器初值

循环次数减1

满20次?

秒单元加1

60s到?

秒单元清0,分单元加1

60分到?

分单元清0,时单元加1

24小时到?

时单元清0

恢复现场

返回

计时模块流程图

2、实验源程序:

ORG0000H

MOV30H,#1

MOV31H,#2

MOV32H,#0

MOV33H,#0

MOV34H,#0

MOV35H,#0

MOVTMOD,#01

XS0:

SETBTR0

MOVTH0,#00H

MOVTL0,#00H

XS:

MOV40H,#0FEH

MOVDPTR,#TAB

MOVP2,40H

MOVA,30H

MOVC+DPTR

MOVP0,A

LCALLYS1MS

MOVP0,#0FFH

MOVA,40H

RLA

MOV40H,A

MOVP2,40H

MOVA,31H

ADDA,#10

MOVC+DPTR

MOVP0,A

LCALLYS1MS

MOVP0,#0FFH

MOVA,40H

RLA

MOV40H,A

MOVP2,40H

MOVA,32H

MOVC+DPTR

MOVP0,A

LCALLYS1MS

MOVP0,#0FFH

MOVA,40H

RLA

MOV40H,A

MOVP2,40H

MOVA,33H

ADDA,#10

MOVC+DPTR

MOVP0,A

LCALLYS1MS

MOVP0,#0FFH

MOVA,40H

RLA

MOV40H,A

MOVP2,40H

MOVA,34H

MOVC+DPTR

MOVP0,A

LCALLYS1MS

MOVP0,#0FFH

MOVA,40H

RLA

MOV40H,A

MOVP2,40H

MOVA,35H

MOVC+DPTR

MOVP0,A

LCALLYS1MS

MOVP0,#0FFH

MOVA,40H

RLA

MOV40H,A

JBTF0,JIA

JNBP1.0,P100

JNBP1.1,P1000

JNBP1.2,P10000

AJMPXS

P100:

MOV30H,#0

MOV31H,#0

MOV32H,#0

MOV33H,#0

MOV34H,#0

MOV35H,#0

JIA:

CLRTF0

MOVA,35H

CJNEA,#9,JIA1

MOV35H,0

MOVA,34H

CJNEA,#5,JIA10

MOV34H,#0

P10000:

JNBP1.2,P10000

MOVA,33H

CJNEA,#9,JIA100

MOV33H,#0

MOVA,32H

CJNEA,#5,JIA1000

MOV32H,#

P1000:

JNBP1.1,P1000

MOVA,31H

CJNEA,#9,JIA10000

MOV31H,#0

MOVA,30H

CJNEA,#2,JIA100000

MOV30H,#0

AJMPXS0

JIA100000:

INC30H

AJMPXS0

JIA10000:

CJNEA,#3,JIAJIA

MOVA,30H

CJNEA,#02,JIAJIA

MOV30H,#0

MOV31H,#0

AJMPXS0

JIAJIA:

INC31H

AJMPXS0

JIA1000:

INC32H

AJMPXS0

JIA100:

INC33H

AJMPXS0

JIA10:

INC34H

AJMPXS0

JIA1:

INC35H

AJMPXS0

RET

YS1MS:

MOVR6,#9H

YL1:

MOVR7,#19H

DJNZR7,$

DJNZR6,YL1

RET

TAB:

DB0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H

DB040H,079H,024H,030H,019H,012H,002H,078H,000H,010H

END

3、实物拍摄

4、设计总结

做了两周的课程设计,有很多的心得体会,有关于单片机的,也有关于模电数电等基础科目的。

因为单片机已经很久没复习,刚拿到题目,不知道从哪入手,后来通过对书本的回顾,加深了对单片机的记忆。

有些知识会迁移和联系模电数电。

课堂教学考虑到大多数同学的需求,主要强调“基本”——基本知识、基本理论、基本方法、基本技能。

而这次设计正是为我们提供了一个深入学习、探索的机会,成为课堂教学的有益补充。

我们正面临就业问题,这次课设给了我们一个机会去试验。

单片机理论的学习是为课程的设计作准备的,但有时学习的理论也解决不了实践中的问题。

实践中获得的知识能让我对单片机的知识有更好的认识和理解。

虽然这次的课程设计我参考了一些文献资料,没有做到创新,但在对程序的读写过程中我明白了许多。

这次课程设计的最大收获是只有把理论用到实践中我们才能真正掌握好所学知识。

五、参考文献

[1]朱兆优等.单片机原理与应用.北京电子工业出版社.2010.09

[2]何立民.单片机应用系统设计[M].北京:

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

[3]楼然笛.单片机开发[M].北京:

人民邮电出版社,1994.

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

当前位置:首页 > 医药卫生 > 基础医学

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

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