多功能秒表系统设计Word下载.docx

上传人:b****5 文档编号:21233632 上传时间:2023-01-28 格式:DOCX 页数:19 大小:387.01KB
下载 相关 举报
多功能秒表系统设计Word下载.docx_第1页
第1页 / 共19页
多功能秒表系统设计Word下载.docx_第2页
第2页 / 共19页
多功能秒表系统设计Word下载.docx_第3页
第3页 / 共19页
多功能秒表系统设计Word下载.docx_第4页
第4页 / 共19页
多功能秒表系统设计Word下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

多功能秒表系统设计Word下载.docx

《多功能秒表系统设计Word下载.docx》由会员分享,可在线阅读,更多相关《多功能秒表系统设计Word下载.docx(19页珍藏版)》请在冰豆网上搜索。

多功能秒表系统设计Word下载.docx

3.3源程序代码及注解10

4Proteus软件仿真1.5

5课程设计体会16

6参考文献.17

附录1:

源程清单1.8

附录2:

系统原理图24

1概述

1•1单片机简介

单片机是性能价格比高、体积小、对国民经济渗透力大、最有前途的微控制器。

单片机自20世纪70年代初研制成功并发展至今,已进入第四代。

它主要是在一块芯片上集成了CPU、存储器以及输入输出电路,在工业过程中被广泛应用在控制电路中。

从单片机的系列来看,国内外已超过50个系列、近500个品

种,当前正处于更新换代、百花齐放的时期。

新的系列和专用系列正在不断涌现。

按位数分类有4位、8位、16位以及32位单片机等,4位单片机由于价格低和出现的早得到了广泛的应用,特别是在家电应用领域中其还有很大的优势,为了

抵御8位机的竞争,4位机在结构和功能上都有很大的改进。

8位机的生产厂家以及品种都很多,在实际的生产中应用也最为广泛,其中Intel公司的8051系列

单片机在我国应用最为广泛,另外8位单片机也在其功能和内部结构上不断的进行改进,目前功能是越来越强大。

16位单片机在数据处理以及单片机的性能上有了很大的改进。

32位单片机是随着高科技产业的发展而产生的。

1.2设计任务:

设计一个单片机控制的多功能秒表系统,利用单片机的定时器/计数器定时

和记数的原理,结合显示电路、用两位共阴极LED数码管以及按键来设计00~99秒计时器。

将软、硬件有机地结合起来,使得系统能够正确地进行加计时,同时数码管能够正确地显示时间。

1.3设计要求:

1、能同时记录四个相对独立的时间并分别显示。

2、两位LED动态显示,显示时间为00〜99秒。

3、每秒自动加1。

4、一个开始按键、一个复位按键、一个暂停按钮和一个计录按钮(附加功

能)。

5、翻页按钮查看四个不同的计时值。

2系统总体方案

本设计的最主要的元器件就是MC&

51单片机。

MC&

51单片机在一块芯片上集成了CPU,存储器RAM,ROM以及输入与输出接口电路,这种芯片习惯上被称为单片微型计算机,简称单片机。

MCS-51单片机是INTEL公司在1980年推出的高档8位单片机。

它的典型产品有:

8051,8031,8751,80C51,80C31,87C51。

AT89C51(图1)单片机由CPU,振荡器与时序电路,4个8位的I/O端口(PO,P1,P2,P3),串行口等组成。

P0口有三个功能:

1、外部扩展存储器时,当做数据总线(如图中的D0~D7为数据总线接口)。

2、外部扩展存储器时,当作地址总线(如图中的AO~A7为地址总线接口)。

3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。

P1口只做I/O口使用:

其内部有上拉电阻。

P2口有两个功能:

1、扩展外部存储器时,当作地址总线使用;

2、做一般I/O口使用,其内部有上拉电阻;

P3口有两个功能:

除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由寄存器来设置。

ALE:

地址锁存控制信号

PSEN:

外部程序存储器读选通信号

EA/VPP:

访问和序存储器控制信号

RST:

复位信号XTAL1和XTAL2外接晶振引脚VCC:

电源+5V输入VSS:

GND接地。

图2:

整体设计框图

2.1复位电路:

采用上电加按钮复位。

这个系统中的复位电路是采用上电加按钮来实现的。

因为MCS-51单片机的复位是靠外部电路实现的。

MCS-51单片机工作之后,只要在他的RST引线上加载10ms以上的高点平,单片机就能有效地进行复位。

MCS-51单片机通常采用上电自动复位、按键复位、以及上电加按键复位等,我们采用的是上电加按键复位

可以

方式,这样做的优点是上电后可以直接进入复位状态,当程序出现错误时,随时使电路复位

<

TEXT>

C3

33p門T.

00—1

A

图3:

复位电路

 

2.2晶体振荡电路:

通过XTAL1和XTAL2外接晶体振荡器构成内部振荡方式。

由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振

荡器并产生振荡时钟脉冲。

MCS--51单片机内部的振荡电路是一个高增益反相放大器,引线XTAL1和XTAL2分别为反向振荡放大器的输入及内部时钟工作电路

的输入和来自反向振荡器的输出,该反向放大器可以配置为片内振荡器

CRYSTAL<

XTAL2

图4:

晶振震荡电路

2.3键盘电路:

用部分P1口做开始开关,P1.0停止,P1.1复位,P1.3暂停记录,

P1.4上翻,P1.5下翻,用外中断INTO开始,用软件法消除抖动。

图5:

键盘电路

2.4显示电路:

采用LED动态显示,用P2口驱动显示。

U1

»

CrAL1

PQ.O//OD

PD.1/XO1

XTALZ

PD.2//C®

PD.3//O3

PD.4//W

PD.5/yO5

RST

PD.4//4B

PD.7//C7

P2.0./ZS

R2J/M

pseh

P2.2/A1D

F2.3/AI1

ALE

P2.4/A12

EA

PI.0

r4副■Hii#P2sS/%14P2.7/A15

P3WRXD

Pll1

P3JI/TKD

PI.2

P3.2/imD

PI.3門肖

ps.wiwn

P3.4/1D

PI.5

P3.5/T1

P1.8

P3.6A/1/R

PI7

P釘柄

29

30

TEKT>

_3L.卫:

卫:

S3

21_

a~

10

11

K

13

14

-4

图6:

显示电路

3软件设计

3.1设计思想

因为秒表设计相对较为简单,因此在软件设计中我们一般采用模块化程序设计的方法。

模块是一个具有独立功能的程序,可以单独设计、调试与管理,模块可分为功能模块和控制模块两类。

我们通过模块化程序设计可按适当的原则把一个情况复杂、规模较大的程序系统划分为一个个较小的、功能相关而又相对独立的模块。

每个小的模块完成一个确定的功能,在这些小的模块之间建立必要的联系,互相协作完成整个程序要完成的功能。

它具有明显的优点,把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,有利于程序的优化和分工,提高了程序的阅读性和可靠性,使程序的结构层次一目了然。

其中的模块即为子程序,子程序是功能独立的程序段。

子程序的基本思想是编写一次,可以重复使用。

子程序的形式可以是一个程序文件,也可以是一个过程或函数。

子程序总被其他程序调用而不单独执行,这与主程序相对。

这个主程序也是由多个子程序模块组成,各程序模块都要完成一个明确的任务,实现某个具体的功能,、快加、复位,计数和显示等,在具体需要时调用相应的模块即可。

3.2、程序流程图:

定时器流程图

加1子程序流程图:

3.3程序代码及注解

(1):

主程序

MAIN:

MOVSP,#50H

MOV

TMOD,#11H

;

定时10ms

MOVTH1,#0D8H

MOVTL1,#0F0H

定时25ms

BINSECOND

SECOND

MOVTH0,#0CFH

MOVTL0,#02CH

MOV20H,#00H

MOV30H,#00H

31H,#00H

40H,#40

71H,#00H

72H,#00H

73H,#00H

74H,#00H

R2,#04H

R3,#04H

R1,#71H

SETB

EX1

CLR

ET1

ET0

PT0

PT1

PX1

延时

P1.0=1,跳转到L00P1执行

P1.0=0,跳转到停止子程序

P1.1=1,跳转到L00P2执行

P1.1=0,跳转到复位子程序

MOVP2,#0FFH

CLRTR0

CLRTR1

CLR7FH

判断是否有键按下,并确定是哪一个键,转移到相应的子程序的入口地址去执行子程序。

没有键按下则一直等待,直到有键按下。

ML1:

ACALLDISP;

调用显示程序

P1.0键按下时,计数停止

START:

JBP1.0,LOOP1

ACALLDELAY10

JBP1.0,LOOP1

JNBP1.0,$

LJMPSTOP

P1.1键按下时,数字清零复位

LOOP1:

JBP1.1,LOOP2

JBP1.1,LOOP2

JNBP1.1,$

LJMPRESET

P1.3键按下,暂停记录

L00P2:

JB

P1.3,L00P3

P1.4=0,SHANGFAN

P1.4=1,跳转到L00P4执行

P1.4=0,跳转到上翻子程序

P1.5=0,XIAFAN

P1.5=1,跳转到L00R执行

P1.5=0,跳转到下翻子程序

JBP1.3,L00P3;

P1.3=1,跳转到L00P3执行

JNBP1.3,$

LJMPJILU;

P1.3=0,跳转到暂停记录子程序

P1.4键按下时,执行上翻功能

L00P3:

JBP1.4,L00P4

JBP1.4,L00P4

JNBP1.4,$

LJMPXIAFAN

P1.5键按下时,执行下翻功能

L00P4:

JBP1.5,L00P

JBP1.5,L00P

JNBP1.5,$

LJMPSHANGFAN

L00P:

SJMPHERE

(2)停止子程序

软件对定时器0和定时器1的控制位清零,使定时器停止工作

ST0P:

CLRTR0

CLRTR1;

关闭定时器0,1

ACALLDISP

3)复位子程序

软件对显示的各内存单元清零,并回到开始前的初始状态,具体程序如下所示:

RESET:

TR1;

关闭定时器0,1

20H,#00H

30H,#00H

ACALL

DISP;

调用显示子程序

SJMP

HERE

(4)按键消抖程序

DELAY10:

MOVR4,#14H

延时10ms再次判断该位的状态,若仍是0则说明该键被按下,弹起后去执行该按键功能;

若为1,则说明是抖动则继续向下判断。

例如下面的程序中就调用了这个子程序。

LOOP2:

JBP1.3,LOOP3;

P1.3=0时,暂停记录

JBP1.3,LOOP3

LJMPJILU

4ISIS7Professionl软件仿真

利用KeiluVision软件对源程序进行编译,编译成功后,把编译结果保存。

后根据我们的软件在PROTEUS^设计出相应的硬件电路,并将该电路保存到与WAVE程序相同的文件夹中,最后将程序装载到单片机中,通过

-HQ3s®

I旦]回I电)陂町巒

參IS幽^[Target1〒晶蘿

仿真图如下图所示:

图7:

系统仿真结果1

5课程设计体会

经过一周的不懈努力,单片机的课程设计终于完成了。

在这期间我们学会了很多,也学到了很多,同时,对单片机这门课程有了更深一步的理解和掌握。

1、本次课程设计使我加深了对单片机课程的全面认识,复习和掌握,对MC-51单片机有了更深入的了解,对I/O口的使用,晶振电路的接法,以及复位电路等

的掌握都有了很大程度的提高,这为以后的实践打下了良好的基础。

2、掌握了定时器、外部中断的设置和编程原理。

3、通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。

4、还要根据实验的实际情况,添加些额外程序来使系统更加的稳定,如开关的消震荡(采用延迟)。

5、程序要尽量做到由各个子程序组成,在有些程序后面最好加注释,这样在程序出错的检查过程中可以更容易查找的到,也更简洁,更明白易懂。

6我在编程过程中还有好多不理解的地方,经过同学的帮助终于完成了这次设计。

在这个过程中体会到了合作的好处,更了解的互相帮助的重要性。

由于编程能力的有限和所学知识的局限性,在这个程序和设计系统中虽然实现了所有的基本要求和部分的高级要求,但是这其中还有许多不完善的地方,有时在上翻和下翻时会出现一些问题,这说明我在这方面还存在着很多不足,知识不够完备和系统,在以后的学习中还有待提高。

另外,在实践中虽然焊接好了硬件电路,却没能实践成功,希望老师能在以后的学习和生活中对我多加指导,促使我能取得更大的进步。

6参考文献

【1】余发山编著.单片机原理及应用技术徐州:

中国矿业大学出版社,2003年【2】杨凌霄编著.微型计算机原理及应用.徐州:

中国矿业大学出版社,2004年【3】杨宁编著.单片机与控制技术.北京:

北京航空航天大学出版社,2004年【4】王闪编著.AT89系列单片机原理与接口技术.北京:

北京航空航天大学出版社,2004年

附录:

程序清单:

ORG0000H

LJMPMAIN

ORG0003H

ORG000BH

LJMPTIME1

ORG0013H

LJMPZHONGDUAN

ORG001BH

LJMPTIME10

ORG0100H

MOVTMOD,#11H

MOVTH1,#0D8H;

定时10ms

MOVTH0,#0CFH;

定时25ms

MOV40H,#40

MOV71H,#00H

MOV72H,#00H

MOV73H,#00H

MOV74H,#00H

MOVR2,#04H

MOVR3,#04H

MOVR1,#71H

SETBEA

SETBEX1

CLRET1

SETBET0

CLRPT0

CLRPT1

SETBPX1

SETBIT1

ACALLDISP

JBP1.0,LOOP1;

P1.0=0,STOP

,复位

JBP1.1,LOOP2;

P1.1=0

JBP1.3,LOOP3录

ACALLDELAY10JBP1.3,LOOP3JNBP1.3,$

LOOP3:

JBP1.4,LOOP4ACALLDELAY10JBP1.4,LOOP4JNBP1.4,$LJMPXIAFAN

LOOP4:

JBP1.5,LOOPACALLDELAY10JBP1.5,LOOPJNBP1.5,$

LOOP:

STOP:

CLRTR0CLRTR1ACALLDISPSJMPHERE

P1.3=0时,暂停记

P1.4=0时,上翻

P1.5=0时,下翻

停止程序

复位程序

TR1

DISP

JILU:

MOV

A,20H

@R1,A

暂停记录程序

INCR1

DJNZR2,HERE

SJMPSTOP

MOV20H,A

MOVB,#0AH

DIVAB

MOV31H,A

MOV30H,BLCALLDISP

MOVR1,#74H

MOV30H,B

LCALLDISP

DECR1

DJNZR3,HERE

HEE:

JNBTF1,HEE

CLRTF1

ACALLJIA1

JNBP1.0,STOP

SJMPHEE

HERE:

LJMPML1

ZHONGDUAN:

SETBTR0

RETI

TIME1:

PUSHACC

启动定时器0

定时1秒

PUSH

PSW

TH0,#0D8H

TL0,#0F0H

DJNZ

40H,RET0

LCALL

JIA1

40H,#100

RET0:

POPPSW

POP

ACC

TIME10:

PUSHACC

RET1:

JIA1:

C

INC

CJNE

A,#100,GO1

定时10毫秒

加1

RET

GO1:

MOV20H,AMOVB,#0AHDIVABMOV31H,A

30H,B

DISP:

R0,#30H

R3,#0FEH

A,R3

PLAY:

MOVP1,A

DPTR,#DSEG1

P2,A

DL1

P1,#0FFH

RLA

JNB

ACC.2,LD1

R0

R3,A

LJMP

PLAY

LD1:

RET

DL1:

R7,#05H

DL:

R6,#0FFH

DL6:

DJNZ

R6,$

R7,DL

显示

延时10毫秒

MOVR4,#14H

DL00:

MOVR5,#0FFH

DL11:

DJNZR5,DL11DJNZR4,DL00RET

DSEG1:

DB3FH,06H,5BH,4FH,66HDB6DH,7DH,07H,7FH,6FHEND

附录2:

系统原理图

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

当前位置:首页 > 求职职场 > 社交礼仪

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

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