课程设计报告按键秒表

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

按键秒表

第三章

一、实验内容及要求

1、实验内容

用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00.0-59.9秒,每秒自动加一。另设计一个“开始”按键和一个“复位”按键。按键说明:按

“开始”按键,开始计数,数码管显示从00.0开始每秒自动加一;按“复位”

按键,系统清零,数码管显示00.0。

2、实验要求

了解8051芯片的的工作原理和工作方式,使用该芯片对LED数码管进行

显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒

表起动、清零功能,精确到0.1秒。要求选用定时器的工作方式,画出使用单

片机控制LED数码管显示的电路图,并在实验箱实现其硬件电路,并编程完成

软件部分,最后调试秒表起动、停止、清零功能。

二、课题研究目的和意义及介绍

1、目的意义

1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课

程的应用进一步的了解。

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

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

4)该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系

统,拥有正确的计时、清零功能,并同时可以用数码管显示,在现实生活

中应用广泛,具有现实意义

3、实验仪器

集成电路芯片8032,七段数码管,AT89C51实验箱,按键,DVCC系列单

片机微机仿真实验系统中的软件(WAVE 6000)

三、设计思路及描述

该实验要求进行计时并在数码管上显示时间,则可利用DVCC系列单片机微机仿真实验系统中的芯片8032(芯片的功能类似于芯片AT89S51,其管脚功能也和AT89C51的管脚功能类似)中的P1.6管脚做为外部中断0的入口地址,并实现“开始”按键的功能;将P1.5做为外部中断1的入口地址,并实现“清零”按键的功能。其中“开始”按键当开关由1拨向0(由上向下拨)时开始计时;

“清零”按键当开关由1拨向0(由上向下拨)时数码管清零,此时若再拨“开始”按键则又可重新开始计时。

四、硬件设计

1、接口电路

利用12M晶振的一个机器周期为1微秒,通过循环产生1秒时间延迟,扫描单片机中所存放的时间的值(可正记时,也可倒计时),并通过输出显示在数码管上。

五、软件设计

1、数字秒表工作流程图

2、用51单片机实现数字秒表工作源程序

ORG0000H ;初始化

SJMP MM

ORG000BH

SJMP CC

MM:MOV DPTR,#TAB

SETB EA

SETB ET0

MOV R1,#0

MOV R2,#0

MOV R3,#0

MOV R0,#16

MOV TMOD,#01H

MOV TH0,#(65536-5000)/ 256

MOV TL0,#(65536-5000)MOD256

AA:ACALL EE

MOV P1,#0FFH

CLR P1.6;送第1 行,判断第1行有键按下?

MOV A,P1

ANL A,#01H

XRL A,#01H; 判断第1行有没按键按下的功能。

JZ HH;没有列没键按下,转PP,查暂停键

SETB TR0

LCALL EE

HH:MOV P1,#0FFH

CLR P1.5;送第1 行,判断第1行有键按下?

MOV A,P1

ANL A,#01H

XRL A,#01H; 判断第1行有没按键按下的功能。

JZ AA ;没有键按下去,继续返回

CLR TR0

MOV R1,#0

MOV R2,#0

MOV R3,#0

LJMP AA

CC:DJNZ R0,FF

MOV R0,#16

INC R1

CJNE R1,#10,FF

MOV R1,#0

INC R2

CJNE R2,#10,FF

MOV R2,#0

INC R3

CJNE R3,#6,FF

MOV R3,#0

FF:MOV TH0,#(65536-5000)/ 256

MOV TL0,#(65536-5000)MOD256

RETI ;定时返回

EE: MOV P2,#02H ;显示程序

MOV A,R1

MOVC A,@A+DPTR

MOV P0,A

ACALL D0

MOV P2,#04H

MOV A,R2

MOVC A,@A+DPTR

MOV P0,A

SETB P0.1

ACALL D0

MOV P2,#06H

MOV A,R3

MOVC A,@A+DPTR

MOV P0,A

ACALL D0

RET

TAB:DB0EDH,88H,0B5H,0B9H,0D8H,79H,7DH,0A8H,0FDH,0F9H D0:MOV R5,#20;延时程序

DL1:MOV R6,#50

DL2:DJNZ R6,DL2

DJNZ R5,DL1

RET

END

相关文档
最新文档