计时器课程设计.docx

上传人:b****6 文档编号:8356509 上传时间:2023-01-30 格式:DOCX 页数:13 大小:307.08KB
下载 相关 举报
计时器课程设计.docx_第1页
第1页 / 共13页
计时器课程设计.docx_第2页
第2页 / 共13页
计时器课程设计.docx_第3页
第3页 / 共13页
计时器课程设计.docx_第4页
第4页 / 共13页
计时器课程设计.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

计时器课程设计.docx

《计时器课程设计.docx》由会员分享,可在线阅读,更多相关《计时器课程设计.docx(13页珍藏版)》请在冰豆网上搜索。

计时器课程设计.docx

计时器课程设计

1.1设计任务

(1)实现计时范围00.00-99.99秒表

(2)实现秒表精确到0.01秒

(3)实现秒表的三个控制键;开启计时键,暂停键和复位键

1.2设计要求

用单片机设计一个计时范围在00.00致99.99的秒表,秒表精确在0.01秒秒表有三个控制键分别是;秒表计时开启键,计时暂停键和秒表复位键。

 

2 设计思想

2.1硬件设计思想

建立最小单片机系统,在AT89C51单片机的P0端口接一个74LS47(BCD-7段数码管译码器),在译码器数码输出端接上4位七段共阳极数码管,P2.0脚接第一位数码管片选端,P2.1脚接第二位数码管片选端,P2.2脚接第三位数码片选端,P2.3脚接第四位数码管片选端,这四位分别显示秒时间的十位,个位,小数点后一位,小数点后两位显示的片选控制端。

P2.4脚接小数点控制端。

秒表控制键盘。

用P3.0接键盘开启计时键,P3.1接键盘计时暂停键,P3.2接键盘计时复位键。

2.2软件设计思想

采用汇编语言编写程序,程序共有四部分;

第一部分是主程序,用于对程序的中断控制、数据等的初始化,并且对秒表控制键盘的扫描。

第二部分时间产生程序,用定时/计数器0中断程序用时产生时间,利用每10m进入本中断程序一次,用R0,R1,R2和R3四个寄存存储中断次数用于时间,R3到R0分别是时间显示的高低位,当这个四个寄存器加大于10时,本寄存器归零用于存储显示高一位时间的寄存器加一依此类推实现对时间产生。

第三部分4位七段共阳极数码管动态显示程序,用定时/计数1中断程序每50ms对数码管各扫描一次,是利用人眼视觉暂留实现数码管的显示。

第四部分动态扫描延时程序,用于在对数码管动态扫描时,每扫描一个数码管后的延时程序。

以实现四位数码时间同时显示的效果。

3 电路原理与电路图

3.1电路原理

AT89C51单片机做为控制电路,用P1口做为数据输出端,P2口做为4位七段共阴极数码管的片选控制输出口,P3.0,P3.1,P3.2做为键盘接口。

时间显示器,由4位七段共阴极数码管构成。

用74LS47为数码管的译码器。

3.2电路原理图

4 流程图与算法描述

4.1流程图

4.2算法描述

ORG0000H

LJMPSTAR

ORG000BH

LJMPINT0

ORG001BH

LJMPSCAN

;---------------------------------------------

STARTBITP3.0

STOPBITP3.1

RESTBITP3.2

;---------------------------------------------

ORG0100H

STAR:

SETBEA

SETBET0

SETBET1

SETBTR1

MOVTMOD,#11H

MOVTH0,#216

MOVTL0,#239

MOVTH1,#60

MOVTL1,#176

MOVR0,#00H

MOVR1,#00H

MOVR2,#00H

MOVR3,#00H

MOVP3,#00H

MAIN:

CLRSTART;扫描键盘

JNBSTART,MA0;判断是否-开启计时

SETBTR0;开启-中断记时

MA0:

CLRSTOP

JNBSTOP,MA1;判断是否-暂停计时

CLRTR0;关闭-中断计时

MA1:

CLRREST

JNBREST,MAIN;判断是否-复位

CLRTR0

LJMPSTAR

;------------------------------------------------------

;程序名:

INT0

;程序功能:

产生时间

;入口参数:

;出口参数:

R0,R1,R2,R3

;占用参数:

R0,R1,R2,R3

;------------------------------------------------------

INT0:

MOVTH0,#216

MOVTL0,#239

INCR0

CJNER0,#10,IN

MOVR0,#00H

INCR1

CJNER1,#10,IN

MOVR1,#00H

INCR2

CJNER2,#10,IN

MOVR2,#00H

INCR3

CJNER3,#10,IN

MOVR3,#00H

IN:

RETI

;-----------------------------------------------------

;程序名:

SCAN

;程序功能:

动态扫描显示数码管

;入口参数:

R0,R1,R2,R3

;出口参数:

;占用资源:

R0,R1,R2,R3

;------------------------------------------------------

SCAN:

MOVTH1,#60

MOVTL1,#176

MOVP2,#11H

MOVP0,R3

LCALLDELAY

MOVP2,#02H

MOVP0,R2

LCALLDELAY

MOVP2,#14H

MOVP0,R1

LCALLDELAY

MOVP2,#18H

MOVP0,R0

LCALLDELAY

RETI

;------------------------------------------------------

;程序名:

DELAY

;程序功能:

用于动态扫描延时

;入口参数:

;出口参数:

;占用资源:

R4,R5

;------------------------------------------------------

DELAY:

MOVR4,#10

DE:

MOVR5,#100

DJNZR5,$

DJNZR4,DE

RET

END

5 程序清单

ORG0000H

LJMPSTAR

ORG000BH

LJMPINT0

ORG001BH

LJMPSCAN

;---------------------------------------------

STARTBITP3.0

STOPBITP3.1

RESTBITP3.2

;---------------------------------------------

ORG0100H

STAR:

SETBEA

SETBET0

SETBET1

SETBTR1

MOVTMOD,#11H

MOVTH0,#216

MOVTL0,#239

MOVTH1,#60

MOVTL1,#176

MOVR0,#00H

MOVR1,#00H

MOVR2,#00H

MOVR3,#00H

MOVP3,#00H

MAIN:

CLRSTART;扫描键盘

JNBSTART,MA0;判断是否-开启计时

SETBTR0;开启-中断记时

MA0:

CLRSTOP

JNBSTOP,MA1;判断是否-暂停计时

CLRTR0;关闭-中断计时

MA1:

CLRREST

JNBREST,MAIN;判断是否-复位

CLRTR0

LJMPSTAR

;------------------------------------------------------

;程序名:

INT0

;程序功能:

产生时间

;入口参数:

;出口参数:

R0,R1,R2,R3

;占用参数:

R0,R1,R2,R3

;------------------------------------------------------

INT0:

MOVTH0,#216

MOVTL0,#239

INCR0

CJNER0,#10,IN

MOVR0,#00H

INCR1

CJNER1,#10,IN

MOVR1,#00H

INCR2

CJNER2,#10,IN

MOVR2,#00H

INCR3

CJNER3,#10,IN

MOVR3,#00H

IN:

RETI

;-----------------------------------------------------

;程序名:

SCAN

;程序功能:

动态扫描显示数码管

;入口参数:

R0,R1,R2,R3

;出口参数:

;占用资源:

R0,R1,R2,R3

;------------------------------------------------------

SCAN:

MOVTH1,#60

MOVTL1,#176

MOVP2,#11H

MOVP0,R3

LCALLDELAY

MOVP2,#02H

MOVP0,R2

LCALLDELAY

MOVP2,#14H

MOVP0,R1

LCALLDELAY

MOVP2,#18H

MOVP0,R0

LCALLDELAY

RETI

;------------------------------------------------------

;程序名:

DELAY

;程序功能:

用于动态扫描延时

;入口参数:

;出口参数:

;占用资源:

R4,R5

;------------------------------------------------------

DELAY:

MOVR4,#10

DE:

MOVR5,#100

DJNZR5,$

DJNZR4,DE

RET

END

6仿真图

7设计总结

7.1设计体会

课程设计总算圆满完成了,在本次的课程设计中我深深体会到单片机在实践中的作用,通过对单片机的学习,在本次课程设计中我明白了一件的完成必然在背后夹杂着汗水,虽然有汗水,但更多的是完成之后的欣喜,悉数算来大学里的课程设计也做了几个,这次的团队配合时最好的,我们互相讨论问题,使得原本复杂的设计在我们三人的共同努力下慢慢的被我们攻克

这次课程设计中,我们做的是设计秒表计数器。

这次课程设计能够顺利,我的努力,但同时也离不开指导傅篱老师的答疑解惑。

通过这次的课程设计作品的制作让我对单片机的理论有了更加深入的了解

7.2存在问题与建议

通过此次课程设计,发现了自身的不足。

编程方面与耐力方面有待提高,同时希望以后课程设计的题目能够更加贴近生活上的实际应用

 

参考文献:

[1]侯炳辉,沈林兴,彭澎.计算机信息管理专业(本科)毕业设计案例摘选[M].北京:

清华大学出版社,2002.1:

24-35,37.

[2]武俊良.PowerBuilder课程设计与系统开发案例[M].北京:

清华大学出版社,2003.1:

56-78.

[3]何宏.单片机原理与接口技术[M].北京:

国防工业出版社,2006

[4]楼然苗,李光飞.单片机课程设计指导.[M].北京:

北京航空航天大学出版社.2007

[5]唐朔飞.计算机组成原理.[M].北京:

高等教育出版社.2007

[6]李广弟.单片机基础[M].北京:

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

[7]阎石.数字电子技术基础(第三版).北京:

高等教育出版社,1989

 

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

当前位置:首页 > 工作范文 > 其它

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

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