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 算法描述
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
组织0000H
LJMP之星
组织000BH
LJMPINT0
组织001BH
激光扫描仪
;————————————————
起始位 P3.0
停止位 P3.1
剩余位 P3.2
;————————————————
奥格0100H
明星:塞贝亚
设定投注0
设定投注1
设置BTR1
MOVTMOD,#11H
MOVTH0,#216
MOVTL0,#239
MOVTH1,#60
MOVTL1,#176
MOVR0,#00H
MOVR1,#00H
MOVR2,#00H
MOVR3,#00H
MOVP3,#00H
MAIN:CLRSTART ;扫描键盘
JNBSTART,MA0; 判断是否开始计时
设置BTR0; 使能中断时序
MA0:清除停止
JNBSTOP,MA1; 判断是否暂停计时
CLTR0; 关闭-中断计时
MA1:CLREST
主布雷斯特; 判断是否重置
清除寄存器0
LJMP星
…………限于本文篇幅,剩余代码请到51black下载附件…………
复制代码
本设计的微控制器源代码可以从以下地址下载:
下载完整论文(可编辑word格式):
电子、课程