单片机课程设计电子秒表Word格式.docx

上传人:b****6 文档编号:21597766 上传时间:2023-01-31 格式:DOCX 页数:16 大小:257.37KB
下载 相关 举报
单片机课程设计电子秒表Word格式.docx_第1页
第1页 / 共16页
单片机课程设计电子秒表Word格式.docx_第2页
第2页 / 共16页
单片机课程设计电子秒表Word格式.docx_第3页
第3页 / 共16页
单片机课程设计电子秒表Word格式.docx_第4页
第4页 / 共16页
单片机课程设计电子秒表Word格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

单片机课程设计电子秒表Word格式.docx

《单片机课程设计电子秒表Word格式.docx》由会员分享,可在线阅读,更多相关《单片机课程设计电子秒表Word格式.docx(16页珍藏版)》请在冰豆网上搜索。

单片机课程设计电子秒表Word格式.docx

计时精度达到0.01s,P1口P2口接数码管显示功能,P3.4、P3.5、P3.6、P3.7分别接四个按钮开关,分别实现开始、暂停、清零、保存、读取的功能。

显示电路由两个四位共阴极数码管组成。

电子秒表精确度的提高,使它的运用越来越广泛,它解决了传统的由于计时精度不够造成的误差和不公平性是各种体育竞赛的必备设备之一。

1电子秒表总体设计

1.1课程设计的目的

(1)掌握51单片机的基本使用方法和相关电子器件的应用。

(2)掌握键盘的使用,灵活运用中断。

(3)掌握PROEUS的仿真与调试。

(4)秒表具有启动/停止、保存、读取、复位功能。

(5)单片机为控制核心,实现方案设计、电路的设计、程序设计,并在PROTEUS电子设计平台实现仿真。

1.2任务要求

1、设计基于AT89C51数码管显示的电子秒表。

2、通过按键控制开始、清零、暂停和停止能够准确计时并显示。

3、开始显示00-00-00。

4、方便做出实物。

5、最大计时59-59-99、最大精确到0.01秒。

1.3任务分析

基于设计要求,我们做出合理的分析和选择。

首先要显示00-00-00,那么就要用一个八位一体的共阳极数码管或者两个四位一体的共阳/阴极数码管,但是共阳极市场上比较少,为了方便设计实物制作和降低成本,我们决定采用两个四位一体共阴极数码管进行显示。

用74ls04的非门芯片来代替所需的共阳极数码管。

要达到0.01的验证所设计的电子秒表是否合理正确,单单靠理论说明还不够充分,我就相应地制作了硬件实物,这对理论就有精确度,可以用定时器定时10ms作为基数,计时就可以在这个基础上累加起来。

并把秒和小数后两位的数据用两个单元暂存,然后通过处理程序来处理两个单元,并送到I/O口来显示,这样就能够显示到0.01秒。

四个按钮来实现开始/暂停、清零、保存、读取功能。

1.4方案设计及论证

1.4.1方案设计

(1)在性价比满足应用系统要求的基础上,选择更可靠、更熟悉的单片机,缩短研制周期。

(2)尽可能选择较成熟的典型应用电路,以提高系统的可靠性。

(3)单片机部的资源与外部扩展资源应在满足应用系统设计要求的基础上留有余地,为进一步升级和扩展其功能提供方便。

(4)应充分结合软件方案统筹考虑硬件结构,通常硬件功能较完善,其相应的软件就简单,但硬件成本较高;

而硬件功能略低,其相应的软件就复杂。

实际中应尽量以软件替代硬件来降低成本。

(5)整个系统的相关器件应尽可能做到性能匹配,如电平、速度的匹配等。

(6)充分考虑整个系统的抗干扰设计,如选择具有抗干扰设计的单片机并充分筛选芯片与器件,在电路中采取隔离和屏蔽措施等。

1.4.2方案确定

秒表的设计可以用模拟电子技术或数字电子技术进行设计,但是这两种设计方案的电路图比较复杂,并且准确度不高等缺点,而用单片机进行了秒表的设计就较大克服了以上缺点。

如果单片机选用有擦除重写功能的芯片,则拥有了随时更新改进的功能,从而更大程度上的提高准确度。

通过分析与比对,我们选用较熟悉的具有部程序存储器的AT89C51单片机作为主控电路。

选用时钟电路、复位电路和AT89C51单片机组成最小控制系统,再通过按键电路控制显示电路来组成的硬件电路。

总体设计案如图1-1所示:

图1-1方案总体设计

1.5设计步骤

1、选好方案之后,在Protues仿真软件中找到所需元器件,连接好电路。

2、在Keil编程软件中进行编写程序,生成HEX文件。

3、把编写好的程序加载到仿真软件的单片机中,开始仿真。

电路仿真图如图1-2所示。

4、仿真成功之后,购买元器件,然后进行元件测试。

5、焊接电路,接入到5V电压源上,开始检测,直所有功能至功能全部实现。

图1-2方案原理图

2系统的硬件电路

2.1时钟电路

单片机属于数字电路,其工作实在统一的时钟电路脉冲控制下一拍一拍地进行,这个脉冲是由单片机振荡电路和控制器中的时序电路电路发出的。

单片机部有一个高增益反向放大器,用于构成振荡器,但要形成时钟脉冲,外部还需要附加电路。

STC89C51部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。

时钟可以由部方式产生或外部方式产生。

部方式的时钟电路如图2—1所示,在RXD和TXD引脚上外接定时元件,部振荡器就产生自激振荡。

定时元件通常采用石英晶体和电容组成的并联谐振回路。

晶体振荡频率可以在5~50MHz之间选择,电容值在22pF之左右,电容值的大小可对频率起微调的作用。

图2-1时钟电路

2.2复位电路

复位时单片机的初始化操作。

复位电路有两种:

上电复位和上电加键复位。

上电自动复位是通过外部复位电路的电容充电来实现的,在电路加电工作业后,系统处在正常工作状态,且振荡器工作稳定以后,在RST端维持2个机器周期以上的高电平,单片机就可完成复位操作。

只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。

上电加键复位是通过使复位端经电阻与Vcc电源接通而实现的,而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的。

当复位按键弹起后,电源通过电阻对电容重新充电,RST引脚端出现复位正脉冲。

其维持时间取决于RC电路的时间常数。

此次设计采用上电复位电路,其电路图如图2-2所示:

图2-3复位电路

2.3显示模块设计

显示模块是2个4位一体的共阴极数码管,用于显示秒表记录的数据,显示模块电路如图2-3所示:

图2-3显示模块

2.4按键电路

按键是常开的按键开关,每个按键都被赋予一个代码,称为键码。

按键的开关状态通过一定的电路转换为高、低电平状态。

按键闭合过程在相应的I/O端口形成一个负脉冲。

闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。

抖动持续时间的长短与开关的机械特性有关,一般在5~10ms之间。

本设计中是用软件程序来去除抖动。

由于系统使用到的按键数并不多,所以不选用矩阵键盘而选用独立式按键电路。

直接用I/O口线构成单个按键电路,每个按键占用一条I/O口线,每个按键的工作状态不会产生互相影响。

P3.4接开始/暂停按键,P3.5接复位按键,P3.6接保存按键,P3.7接读取按键,然后按键都与地相接。

按键电路图如图2-4所示:

图2-4按键电路

3软件设计

3.1主要模块流程图

主程序流程图如图3-1所示:

图3-1主程序流程图

3.2程序的主要模块

本程序主要分为四部分:

主程序模块、显示模块、按键中断模块、定时模块。

(1)主程序分析:

主程序负责整个程序的调用和转跳,实现启动与暂停、复位、保存、读取之间的切换。

程序开始时进行系统初始化,之后显示“00-00-00”,接着等待“启动”按键触发。

(2)显示模块分析:

显示模块负责把分、秒、毫秒通过8位数码管显示出来,中间通过“-”隔开。

首先根据定时器用来保存分、秒、毫秒的寄存器的值,判断得知每个数字的段码,把分的高位送到数码管的第一位,再把分的低位送到数码管的第二位,接着把“-”的段码送到数码管的第三位,同样的方法把秒和微秒送到数码管,然后循环扫描每一位把时间显示出来。

(3)按键中断服务程序分析:

产生外部中断时,进行按键判断,程序采用3次条件转跳进行按键判断,每个按键都标志相应的值:

“启动/停止”时把定时器开放或与停止,“复位”时,把用来保存时间的寄存器清0,“保存”时,把用来保存时间的寄存器的值保存到连续的单元中,“读取”时把保存时间的单元依次读取出来放回到用来保存时间的寄存器里。

(4)定时程序分析:

当按了“启动”键时,开放定时,以10MS作为一个计时单位,每计100个10毫秒(即1秒),就进一位,用(INCR6)实现,R6加了60次之后,R7就加1,表示“分”加1。

4仿真与调试

4.1仿真分析

proteus仿真测试结果及分析如下:

当按了“启动”时,开始计时,如图4-1所示:

图4-1计时仿真图

4.2硬件调试

硬件调试一般分为四步骤:

第一个是目测法。

这个方法是我们最常用的方法之一,只要是检查一些很明显的错误,如电解电容的电极是否连错、焊点否光亮饱满无虚焊,用万用板连的线是否连好了、焊盘有否脱落。

对单片机应用系统中所用的器件与设备,要仔细核对型号,检查它们对外连线(包括集成芯片引脚)是否完整无损。

通过目测查出一些明显的器件、设备故障并及时排除。

第二个是万用表测试。

目测检查后,可进行万用表测试。

先用万用表复核目测中认为可疑的连接或接点,检查它们的通断状态是否与设计规定相符。

再检查各种电源线与地线之间是否有短路现象,如有再仔细查出并排除。

第三个是上电检查。

首先检查所有插座或器件的电源端是否有符合要求的电压,接地端电压是否接近于零,接固定电平的引脚端是否电平正确。

在对各芯片、器件加电过程中,是否出现打火、过热、变色、冒烟、异味的现象。

如出现这些现象,应立即断电,仔细检查电源加载的情况、各个芯片是否插反等,找出产生异常的原因并加以解决;

并且用万用表测各芯片的引脚电平是否合理。

再有就是,在加电期间,通过给合逻辑功能简单的芯片加载固定输入电平,用万用表测其输出电平的方法来判定该芯片的好坏。

在调试过程中,没有注意STC89C52与之对应的连接以及要注意的地方,最后结果功能不可以实现,经过查找电路,发现应该是读取片的容,31引脚

/VPP要接高电平,结果在设计的时候没有注意,功能就实现不了。

第四个是复位检查。

在上电检查后,按一下复位按钮,看实验板上的LED灯是否闪烁。

如果不闪烁,那么说明复位有问题。

就要仔细检查复位的电容是否接错了电极,线是否连错。

刚开始时,我就把复位按键给接错了,把它和开始、停止键同时接地了,应该是并联电容接的。

结论

经过一个星期的课程设计,让我更加巩固了有关于单片机电路设计上的一些知识,运用所学的知识制作了一个基于51单片机的电子秒表设计。

学会如何的去思考电路的制作,确定方案是这次课程设计的首要任务,确定了方案后,我们才知道如何的去实现它的功能,查找关于这方面的资料,然后动手去分析和制作电路。

通过本次电子秒表的设计,让我对单片机知识的实际应用有了更深刻的理解和体会,这次课程设计,不仅提高了动手能力,对设计的整个流程有了一定的了解,更了解到了单片机知识应用的广泛性和前景。

设计的成功,极提高了自信心,促进了对单片机的学习兴趣,明白了理论联系实际的重要性。

此次设计清楚了一项设计的整体流程:

明确设计要求、功能及功能模块的设计,查阅相关资料并确定元器件,电路连接、调试、调整改进与检查,电路成型,总结;

设计电路时,和搭档上网查阅了很多资料,这培养了搜索的能力,开拓了视野。

调试过程中掌握了一些电路调试的方法和规律,同时也掌握了如何来检查和排除实验中的所遇到的一些常见故障,明白了动手的重要性,懂得了实践出真知的道理。

电路的连接和调试极提高了动手实践能力,这也是目前较为缺乏的。

作为工科的学生,就应该具备这样的动手能力。

最后,设计报告的制作还培养了整理知识的能力。

总之,这次设计,认识到了知识的局限性,培养了动手能力,懂得了团队合作精神,对今后的学习起到了极大的促进作用。

参考文献

【1】艾运阶.单片机项目教程.:

理工大学,2011

【2】泉溪.单片机原理与实例仿真.:

航空航天大学,2009

【3】江世明.基于Protues的单片机应用技术.:

电子工业,2009

【4】朝青.单片机原理及接口技术(第3版).:

航空航天大学,2006

【5】育才.MCS-51系列单片微型计算机及其应用.:

东南大学,2009

附录

源程序清单:

ORG0000H

LJMPMAIN

ORG0003H

LJMPINT

ORG000BH

LJMPTIME

ORG0100H

MAIN:

MOVTMOD,#01H

MOVTH0,#0D8H

MOVTL0,#0F0H

SETBEA

SETBET0

SETBIT0

SETBEX0

MOVR0,#50H

CLRTR0

LP:

LCALLDISPLAY

LJMPLP

DISPLAY:

MOVA,R7

MOVB,#10

DIVAB

LCALLNUM

MOVP1,R4

MOVP2,#01H

LCALLDELAY

MOVA,B

MOVP2,#00H

MOVP2,#02H

MOVP1,#0BFH

MOVP2,#04H

MOVA,R6

MOVP2,#08H

MOVP2,#10H

MOVP2,#20H

MOVA,R5

MOVP2,#40H

MOVP2,#80H

RET

NUM:

CJNEA,#0,IF1

MOVR4,#0C0H

IF1:

CJNEA,#1,IF2

MOVR4,#0F9H

IF2:

CJNEA,#2,IF3

MOVR4,#0A4H

IF3:

CJNEA,#3,IF4

MOVR4,#0B0H

IF4:

CJNEA,#4,IF5

MOVR4,#99H

IF5:

CJNEA,#5,IF6

MOVR4,#92H

IF6:

CJNEA,#6,IF7

MOVR4,#82H

IF7:

CJNEA,#7,IF8

MOVR4,#0F8H

IF8:

CJNEA,#8,IF9

MOVR4,#80H

IF9:

MOVR4,#90H

TIME:

INCR5

CJNER5,#100,LP0

INCR6

MOVR5,#0

CJNER6,#60,LP0

INCR7

MOVR6,#0

CJNER7,#60,LP0

MOVR7,#0

LP0:

RETI

INT:

CLREX0

JBP3.7,IFP36

MOVR1,#1

CPLTR0

MOV21H,R2

LJMPBACK

IFP36:

JBP3.6,IFP35

MOVR1,#2

MOVR2,#0

MOVR3,#00H

IFP35:

JBP3.5,P34

MOVR1,#3

MOVR0,A

INCR0

INCR2

P34:

CJNER1,#4,NEW

SJMPOLD

NEW:

CJNER1,#1,BACK

OLD:

MOVA,R0

MOVR5,A

MOVR6,A

MOVR7,A

DJNZ21H,BAC

BAC:

MOVR1,#4

BACK:

CLRP3.2

SETBP3.2

DELAY:

END

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

当前位置:首页 > 解决方案 > 学习计划

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

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