电子秒表设计.docx
- 文档编号:10567291
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:16
- 大小:167.24KB
电子秒表设计.docx
《电子秒表设计.docx》由会员分享,可在线阅读,更多相关《电子秒表设计.docx(16页珍藏版)》请在冰豆网上搜索。
电子秒表设计
目录
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 秒表 设计