您的当前位置:首页计时秒表的单片机设计

计时秒表的单片机设计

2022-05-18 来源:乌哈旅游


计时秒表的单片机设计

[摘 要] 本文介绍了如何利用单片机中的定时器和外围部件构成一个99s秒表,能实现0~99秒的计时、停止、归零等功能,从而实现时间控制智能化的方法,摆脱了传统由人来控制时间的长短的不便。

[关键词] AT89S51芯片 74LS47译码/驱动器 共阳级LED数码管

0.前 言

单片机系统的开发应用给现代工业带来了一次新的技术革命,自动化,智能化均离不开单片机的应用。各种计时和定时装置也层出不穷,本设计就是一例。

1.设计要求和思路

第一次按下T1后,由单片机的处理芯片发出二进制编码。由于驱动显示的是十进制数,所以需要加一个译码器。开始计时后,当个位数显示到“9”后,便会向十位数进位。同时个位数也将返回初值,重新进行计时。当十位数与个位数都显示“99”时,说明显示以达到了所设定的最大值。同时,数码管显示也将归零,显示“00”,重新开始;则说明译码器还应该具有自动前、后沿灭零控制。第二次按下T1后,计时停止;第三次按下T1后,计时归零。则说明译码器还应该具有一个灭灯输入,它用来控制灯的输出或禁止输出。

2.硬件结构框图(如图1)

根据设计思路要求,可以知道本系统由以下几个部分组成:电源、输入按键开关、单片机处理芯片、译码器、数码管显示器等五部分组成。

3.硬件组成图

本电路硬件部分主要由按键控制部分和译码驱动与显示两部分组成。其中按键控制部分采用独立式按键,独立式按键是各按键相互独立,每个按键占用一根I/O口线,每根I/O口线上的按键工作状态不会影响其他I/O口线上按键的工作状态。译码驱动与显示部分由显示器接口芯片与显示器构成。硬件电路如图2所示。

图2 硬件电路图

4.程序及其说明

根据电路的设计要求,其控制程序流程如图3所示。在编写程序的过程中,先进行各种初始化,其次编写出主程序,再将模块程序分成3次按键按下的独立的按键程序模块,分别进行独立设计、调试和查错,然后再将调试正确的子程序连接成一个完整的子程序。最后将主程序和子程序连成了一个完整的程序。

图3 程序流程图

程序清单

ORG 00H

START: ANL P2,#00H ;显示00

JB P3.5,$ ;T1=0?有键按下?

CALL DELAY1 ;消除抖动

JNB P3.5,$ ;T1=1?放开?

MOV R0,#00 ;计时指针初值

L1: MOV A,R0 ;计时指针载入ACC

MOV P2,A ;输出至P2

MOV R5,#10 ;延时1秒

A1: MOV R6,#200

CALL DELAY

DJNZ R5,A1

MOV A,R0 ;计时指针加1

ADD A,#01H

DA A ;做十进位调整

MOV R0,A ;存回计时指针寄存器

JMP L1 ;重复计时

L2: CALL DELAY1 ;第2次按消除抖动

JB P3.5,L3 ;放开了?是则跳至L3停止计时

JMP L2

L3: JB P3.5,$ ;第3次按T1?

CALL DELAY1 ;消除抖动

L4: JB P3.5,START ;放开了?是则跳至START归零

JMP L4

DELAY:

D1: MOV R7,#248 ;0.5毫秒

JNB P3.5,L2 ;第2次按T1?

DJNZ R7,$

DJNZ R6,D1

RET

DELAY1: MOV R6,#60 ;30毫秒

D2: MOV R7,#248

DJNZ R7,$

DJNZ R6,D2

RET

END

5.系统调试

程序的调试应一个模块一个模块地进行,首先单独调试各功能子程序,检验程序是否能够实现预期的功能,接口电路的控制是否正常等;最后逐步将各子程序连接起来总调。联调需要注意的是:各程序模块间能否正确传递参数,根据要求判断是否要对各子程序进行现场保护与恢复。

1、调试前检查各元器件是否完好。

2、接上电源,发现电路不工作,可能出现的问题是在焊锡时,可能出现虚焊、漏焊等;立即寻找虚焊或漏焊的地方,将其焊好。

3、接上电源,发现电路短路,可能出现的问题是在焊锡时,将AT89S51、74LS47的电压和接地接反,应迅速查找上述三元件的连接图,并用万能表测量。

4、接上电源,电路工作,但数码管不显示,可能出现的问题是,1)数码管管脚错接,2)接数码管COM端可能接错,应检测其管脚是否反接。

因篇幅问题不能全部显示,请点此查看更多更全内容