多功能电子秒表设计与制作 毕业设计 - 图文(6)

2019-05-24 13:39

第3章 系统的设计与实现

3.2 软件设计与分析

3.2.1 软件设计概述

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

应用系统的程序由包含多个模块的主程序和各种子程序组成。各程序模块都要完成一个明确的任务,实现某个具体的功能,如:加计数、减计数、延时、快加、快减,计数和显示存储等,在具体需要时调用相应的模块即可。

功能描述:用2位LED数码显示\秒表\,显示时间为00~99秒,每秒自动加1;一个\开始\键,一个\复位\键,一个\暂停\键,;一个“记录”键,可同时记录3个相对独立的时间;一个查看“第一次时间”键,一个“第二次时间”键,一个“第3次时间”键,可查看3个不同的计时值;2个设置超限值的按钮,一个“加键”,一个“减键”

20

第3章 系统的设计与实现

3.2.2 程序流程图

开始

初始化

P1.0=0?

P1.1=0? Y P1.2=0?

快减

快加

N N P1.0=0? Y Y

停止

Y N 下翻 够4个? 上翻 P1.0=0? 暂停记录

Y Y P1.3=0? Y P1.4=0? Y P1.5=0? N N N N N N

3.8主程序流程图

21

第3章 系统的设计与实现

(2)加1程序如3.9

(20H) A 进位清零 做加法 到100? N Y (20H)清零 个位十位分开 返回

3.9

3.2.3子程序模块设计

(1)停止子程序

按键后,使秒表停止,即关闭定时器0,1,程序如下:

STOP: CLR TR0

CLR TR1;关闭定时器0,1 ACALL DISP;显示

(2)暂停记录子程序

按键结束后,将此时显示内存中的数送寄存器中保存,并通过条件转移指令判断是否存够3个数,若存够则停止,否则继续。

JILU : MOV A,20H

22

第3章 系统的设计与实现

MOV @R1, A INC R1

DJNZ 50H, HERE;是否够三个数? MOV R1, #71H MOV 50H, #04H MOV 51H, #04H

SJMP STOP;够3个数停止 (3)加1子程序

此程序只为简单的加1,并判断是否到100?到则从0开始,否则继续,另外将显

示内存中的数个位十位分开,以便于动态显示。

JIA1: MOV A,20H ; CLR C INC A

CJNE A, #100, GO1;是否加到100? MOV 20H, #00H RET

GO1: MOV 20H, A;将个位十位分开显示 MOV B, #0AH DIV AB

MOV 31H, A MOV 30H, B RET

(4)显示子程序,采用动态显示

DISP: MOV R0,#30H MOV R3, #0FEH MOV A, R3 PLAY: MOV P2, A MOV A,@R0

MOV DPTR, #DSEG1 MOVC A,@A+DPTR MOV P0, A LCALL DL1

MOV P2, #0FFH MOV A, R3

23

第3章 系统的设计与实现

RL A

JNB ACC.2, LD1 INC R0 MOV R3, A LJMP PLAY LD1: RET

DL1: MOV R7, #05H DL: MOV R6, #0FFH DL6: DJNZ R6, $ DJNZ R7, DL RET

(5)延时子程序

例如延时10ms程序:

DELAY10:MOV R4,#14H DL00: MOV R5, #0FFH DL11: DJNZ R5, DL11 DJNZ R4, DL00 RET

(6)按键消抖程序

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

L1: JB P1.1,L2 ; P1.1=0,快减 ACALL DELAY10 JB P1.1, L2 JNB P1.1, $ LJMP KJIAN

(5)中断服务程序

用外部中断1实现开始,定时器0定时1S,定时器1定时10ms 。

24


多功能电子秒表设计与制作 毕业设计 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:发电机组设备采购招标

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: