电子秒表设计.docx

上传人:b****8 文档编号:10567291 上传时间:2023-02-21 格式:DOCX 页数:16 大小:167.24KB
下载 相关 举报
电子秒表设计.docx_第1页
第1页 / 共16页
电子秒表设计.docx_第2页
第2页 / 共16页
电子秒表设计.docx_第3页
第3页 / 共16页
电子秒表设计.docx_第4页
第4页 / 共16页
电子秒表设计.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

电子秒表设计.docx

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

电子秒表设计.docx

电子秒表设计

目录

1前言1

2需求分析1

2.1原理1

2.2要求1

2.3任务1

2.4运行环境1

2.5开发工具1

3概要设计2

3.1系统流程图2

4详细设计3

4.1分析和设计3

5课程设计的总结与体会6

参考文献6

附录7

1前言

设计、实现60秒计时并扩展功能使实现四位可变计时的秒表功能

2需求分析

2.1原理

根据中断原理实现60s溢出的功能,根据串行通讯显示时间,用查表的方法实现数字的变化,采用延时的方法去抖动.

2.2要求

(1)、实现秒表计时,60s进制秒表,并显示出来

(2)、扩展实现4位可变计时功能的秒表

2.3任务

(1)、根据要求实现的逻辑功能,用汇编语言编写程序,在WAVE中进行编译.

(2)、选用74LS164,80C51,7段数码管等在proteus中构造硬件环境

(3)、在设计好的硬件电路中加载程序使其实现要求的功能

2.4运行环境

(1)WINDOWS2000/XP系统

(2)proteus环境

2.5开发工具wave

 

3概要设计

3.1系统流程图

 

图3.1系统流程图

 

4详细设计

4.1分析和设计

(1)根据要求开启中断:

MOVSP,#60H;建堆栈

MOVSCON,#00H;串行通信方式1

MOVTMOD,#11H;T0工作方式1

MOVTL0,#0B0H;定时50MS

MOVTH0,#3CH

MOVTL1,#0F0H

MOVTH1,#68H

MOVR0,#20

MOVMIN,#00H;分、秒显示0000

MOVSEC,#00H

SETBET0;开T0中断

SETBTR0

SETBEA

(2)判断各键是否按下,实现个功能的选择.如JBP1.4,NEXT1

(3)使用延时功能去抖动

DEY10ms:

MOVR5,#100;延时10ms

DDL:

DJNZR5,DDL

RET

(4)用查表的方式实现数字变化,使用串行通信的方式实现数据的传送

MOVDPTR,#TAB;给DPTR赋基址

CLRTI

MOVA,SEC

ANLA,#0FH

MOVCA,@A+DPTR

MOVSBUF,A;串行传送SEC

 

(5)具体运行结果如下:

图4.1程序在WAVE汇编器中编译成功

图4.2在proteus中可实现秒表计时

图4.3能实现可变计时功能

图4.4可实现四位计时

(1)

图4.5实现位计时

(2)

5课程设计的总结与体会

初次拿到题目感觉不难,以为会很容易完成.但是在实际解答过程中却遇到很多困难,编好的程序以为正确了,却无法运行.在朋友和老师的帮助下经过多次修改,终于完成了这小小的设计.

虽然不是什么大的成绩,但是看到运行成功心理还是挺高兴的,毕竟从选题到完成还是花了不少心思.在解题的这个过程中,我对单片机的指令系统有更深的了解,尤其对中断系统有进一步的学习收获.在此感谢申寿云老师对我课程设计提供的大量帮助。

参考文献

[1]何立民,张俊谟.单片机中级教程[M].北京:

北京航空航天大学出版社,2006

[2]张俊谟.单片机实验与实践教程[M].北京:

北京航空航天大学出版社,2006

[3]张克农.数字电子技术基础[M].北京:

高等教育出版社,2003

附录(源程序清单)

MINEQU41H;分

SECEQU42H;秒

ORG0000

LJMPMAIN

ORG000BH

LJMPTT0

ORG001BH

LJMPTT1

ORG0030H

MAIN:

MOVSP,#60H;建堆栈

MOVSCON,#00H;串行通信方式1

MOVTMOD,#11H;T0工作方式1

MOVTL0,#0B0H;定时50MS

MOVTH0,#3CH

MOVTL1,#0F0H

MOVTH1,#68H

MOVR0,#20

MOVMIN,#00H;分、秒显示0000

MOVSEC,#00H

SETBET0;开T0中断

SETBTR0

SETBEA

TOP:

MOVA,P1;判键子程序

CJNEA,#0FFH,KEY

LJMPTOP

KEY:

LCALLDEY10ms;延时去抖动

MOVA,P1

CJNEA,#0FFH,CHECK

LJMPTOP

CHECK:

JBP1.4,NEXT1;判建P1.4有无按下

CPLP2.0;按键标志位

JNBP2.0,NEXT2

CLRTR1

SETBET0

SETBTR0

LJMPLOOP

NEXT2:

CLRTR0;开T1中断

SETBTR1

SETBET1

LOOP:

JNBP1.4,$

LJMPTOP

NEXT1:

JBP1.5,NEXT3;判p1.5是否按下

JBP2.0,EXIT3

CPLP2.1

EXIT3:

JNBP1.5,$;再判p1.5是否按下

LJMPTOP

NEXT3:

JBP1.6,NEXT7;判p1.6是否按下

JNBP2.1,NEXT4

MOVA,#01;BCD加1

ADDA,SEC

DAA

CJNEA,#60H,NEXT5;判断是否到了60S

MOVA,#00H;溢出请0

NEXT5:

MOVSEC,A

LJMPEXIT

NEXT4:

MOVA,#01H;同秒调整一致

ADDA,MIN

DAA

CJNEA,#60H,NEXT6;判断是否到了60MIN

MOVA,#00H

NEXT6:

MOVMIN,A

EXIT:

JNBP1.6,$

LJMPTOP

NEXT7:

JBP1.7,EXIT5;判p1.7是否按下

JNBP2.1,NEXT8

MOVA,#99H

ADDA,SEC

DAA

CJNEA,#99H,NEXT9

MOVA,#59H

NEXT9:

MOVSEC,A

LJMPEXIT5

NEXT8:

MOVA,MIN;使显示数字减1

ADDA,#99H;BCD码减1

DAA

CJNEA,#99H,NEXT0

MOVA,#59H

NEXT0:

MOVMIN,A

EXIT5:

JNBP1.7,$

LJMPTOP

TT0:

CLRTR0

MOVTL0,#0B0H

MOVTH0,#3CH

DJNZR0,LP2;1S查表显示一次

MOVR0,#20

MOVA,#01

ADDA,SEC

DAA

MOVSEC,A

CJNEA,#60H,LP2;60秒溢出为0

MOVSEC,#00

MOVA,#01;MIN加1

ADDA,MIN

DAA

MOVMIN,A

CJNEA,#60H,LP2;60次溢出

MOVMIN,#00

LP2:

MOVDPTR,#TAB;给DPTR赋基址

CLRTI

MOVA,SEC

ANLA,#0FH

MOVCA,@A+DPTR

MOVSBUF,A;串行传送SEC

JNBTI,$

CLRTI

MOVA,SEC

ANLA,#0F0H

SWAPA

MOVCA,@A+DPTR

MOVSBUF,A

JNBTI,$

CLRTI

MOVA,MIN;串行传送MIN

ANLA,#0FH

MOVCA,@A+DPTR

MOVSBUF,A

JNBTI,$

CLRTI

MOVA,MIN

ANLA,#0F0H

SWAPA

MOVCA,@A+DPTR

MOVSBUF,A

JNBTI,$

SETBTR0

RETI

TT1:

CLRTR1

MOVTL1,#0F0H

MOVTH1,#68H

CPLF0

CLRTI

JNBP2.1,MOVEMIN

JNBF0,LP3

MOVA,#00

MOVSBUF,A

JNBTI,$

CLRTI

MOVSBUF,A

JNBTI,$

CLRTI

LJMPLPMIN

LP3:

MOVA,SEC

ANLA,#0FH

MOVCA,@A+DPTR;显示数字

MOVSBUF,A

JNBTI,$

CLRTI

MOVA,SEC

ANLA,#0F0H

SWAPA

MOVCA,@A+DPTR

MOVSBUF,A

JNBTI,$

CLRTI

LPMIN:

MOVA,MIN

ANLA,#0FH

MOVCA,@A+DPTR

MOVSBUF,A

JNBTI,$

CLRTI

MOVA,MIN

ANLA,#0F0H

SWAPA

MOVCA,@A+DPTR

MOVSBUF,A

JNBTI,$

CLRTI

LJMPEXIT1

MOVEMIN:

MOVA,SEC

ANLA,#0FH

MOVCA,@A+DPTR

MOVSBUF,A

JNBTI,$

CLRTI

MOVA,SEC

ANLA,#0F0H

SWAPA

MOVCA,@A+DPTR

MOVSBUF,A

JNBTI,$

CLRTI

JNBF0,LP4

MOVA,#00

MOVSBUF,A

JNBTI,$

CLRTI

MOVSBUF,A

JNBTI,$

CLRTI

LJMPEXIT1

LP4:

MOVA,MIN

ANLA,#0FH

MOVCA,@A+DPTR

MOVSBUF,A

JNBTI,$

CLRTI

MOVA,MIN

ANLA,#0F0H

SWAPA

MOVCA,@A+DPTR

MOVSBUF,A

JNBTI,$

CLRTI

EXIT1:

SETBTR1

RETI

DEY10ms:

MOVR5,#100;延时10ms

DDL:

DJNZR5,DDL

RET

TAB:

DB0FCH,60H,0DAH,0F2H,066H,0B6H,0BEH,0E0H,0FFH,0E6H

END

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

当前位置:首页 > 幼儿教育 > 唐诗宋词

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

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