电子课程设计报告 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
- ORG 0000H
- LJMP STAR
- ORG 000BH
- LJMP INT0
- ORG 001BH
- LJMP SCAN
- ;---------------------------------------------
- START BIT P3.0
- STOP BIT P3.1
- REST BIT P3.2
- ;---------------------------------------------
- ORG 0100H
- STAR: SETB EA
- SETB ET0
- SETB ET1
- SETB TR1
- MOV TMOD,#11H
- MOV TH0,#216
- MOV TL0,#239
- MOV TH1,#60
- MOV TL1,#176
- MOV R0,#00H
- MOV R1,#00H
- MOV R2,#00H
- MOV R3,#00H
- MOV P3,#00H
- MAIN: CLR START ;扫描键盘
- JNB START,MA0 ;判断是否-开启计时
- SETB TR0 ;开启-中断记时
- MA0: CLR STOP
- JNB STOP,MA1 ;判断是否-暂停计时
- CLR TR0 ;关闭-中断计时
- MA1: CLR REST
- JNB REST,MAIN ;判断是否-复位
- CLR TR0
- LJMP STAR
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
本设计的单片机源码从下面的地址下载: 完整论文下载(word格式 可编辑):http://www.51hei.com/bbs/dpj-88464-1.html
|