单片机秒表课程设计

  • 格式:doc
  • 大小:3.97 MB
  • 文档页数:23

下载文档原格式

  / 23
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机课程设计

学生姓名

专业班级

学号

目录

前言 (1)

1 课程设计的目的及要求 (2)

1.1 课程设计的目的 (2)

1.2 课程设计的任务 (2)

1.3 课程设计的要求 (2)

2 设计的方案及论证 (2)

2.1 方案设计 (2)

2.2 方案选择 (3)

2.3 方案确定 (4)

3 硬件电路设计 (5)

4 软件设计 (5)

4.1 主要模块流程图 (6)

4.2 程序的主要模块 (6)

5 电路仿真 (7)

6 电路的焊接与调试 (8)

6.1 电路的焊接 (8)

6.2 电路的调试 (9)

7 总结 (11)

参考文献 (12)

附录1:总体电路原理图 (13)

附录2:元器件清单 (14)

附录3:编码程序 (15)

前言

近年来随着科技的飞速发展,单片机的应用正在不断的走向深入,同时带动着传统控制检测日新月异更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还要根据具体的硬件结构,以及针对具体的应用对象的软件结合,加以完善。

人们在日常生活中,有很多时候要精确地计算时间,但往往因为人为因素造成人们不愿意看到的误差。本设计利用AT89C51单片机的定时器/计数器定时和记数的原理,使其能精确计时。计时精度达到0.01s,P1口P2口接数码管显示功能,P3.4、P3.5、P3.6、P3.7分别接四个按钮开关,分别实现开始、暂停、清零、保存、读取的功能。显示电路由两个四位共阴极数码管组成。

电子秒表精确度的提高,使它的运用越来越广泛,它解决了传统的由于计时精度不够造成的误差和不公平性是各种体育竞赛的必备设备之一。

1 课程设计的目的及要求

1.1 课程设计的目的

(1) 掌握51单片机的基本使用方法和相关电子器件的应用。

(2) 掌握键盘的使用,灵活运用中断。

(3) 掌握Proteus的仿真与调试。

(4) 秒表具有启动/停止、保存、读取、复位功能。

(5) 单片机为控制核心,实现方案设计、电路的设计、程序设计,并在PROTEUS电子设计平台实现仿真。

1.2 课程设计的任务

本设计是基于AT89C51数码管显示的电子秒表,利用AT89C51单片机的定时器/计数器定时和记数的原理,使其计时精度达到0.01s,P1口P2口接数码管显示功能,P3.4、P3.5、P3.6、P3.7分别接四个按钮开关,分别实现开始、暂停、清零、保存、读取的功能。

1.3 课程设计的要求

(1) 设计基于单片机AT89C51数码管显示的电子秒表。

(2) 通过按键控制开始、清零、暂停和停止能够准确计时并显示。

(3) 开始显示00-00-00。

(4) 最大计时59-59-99,最大精确到0.01秒。

2 设计的方案及论证

2.1 方案设计

(1) 在性价比满足应用系统要求的基础上,选择更可靠、更熟悉的

单片机,缩短研制周期。

(2) 尽可能选择较成熟的典型应用电路,以提高系统的可靠性。

(3) 单片机内部的资源与外部扩展资源应在满足应用系统设计要求的基础上留有余地,为进一步升级和扩展其功能提供方便。

(4) 应充分结合软件方案统筹考虑硬件结构,通常硬件功能较完善,其相应的软件就简单,但硬件成本较高;而硬件功能略低,其相应的软件就复杂。实际中应尽量以软件替代硬件来降低成本。

2.2 方案选择

在方案选取的时候有两个方案可以选:方案一如图2-1所示,能够最大显示99秒,精确度为1秒,具有开始/暂停,复位功能。

图2-1方案一原理图

方案二如图2-2所示,能够最大显示59-59-99,精确度为0.01秒。具有开始/暂停、复位、保存、读取功能。

图2-2方案二原理图2.3 方案确定

总体设计案如图2-3所示:

图2-3方案总体设计

我们选用较熟悉的具有内部程序存储器的AT89C51单片机作为主控电路。选用时钟电路、复位电路和AT89C51单片机组成最小控制系统,再通过按键电路控制显示电路来组成的硬件电路。

通过分析与比对,我们选用方案二,它能够精确0.01秒,并且能够显示时间更长,具有开始/暂停,复位,保存,读取功能。

3 硬件电路设计

本次课程设计是基于单片机的秒表设计,其中硬件电路采用AT89C51单片机的定时器/计数器定时和记数的原理;时钟电路及复位电路组成的最小控制系统,复位电路采用上电复位;显示模块是采用两个共阳极数码管;按键电路包含四个按键开关及74ls08与门芯片,四个开关分别具有开始/暂停,复位清零,保存数据,读取数据的功能,与门芯片与四个开关相与,然后接入外部中断接口。

与门芯片真值表如图3-1所示:

图3-1 74ls08真值表

4 软件设计

4.1 主要模块流程图

主程序流程图如图4-1所示:

图4-1主程序流程图

4.2 程序的主要模块

本程序主要分为四部分:主程序模块、显示模块、按键中断模块、定时模块。

(1) 主程序分析:主程序负责整个程序的调用和转跳,实现启动与

暂停、复位、保存、读取之间的切换。程序开始时进行系统初始化,之后显示“00-00-00”,接着等待“启动”按键触发。

(2) 显示模块分析:显示模块负责把分、秒、毫秒通过8位数码管显示出来,中间通过“-”隔开。首先根据定时器用来保存分、秒、毫秒的寄存器的值,判断得知每个数字的段码,把分的高位送到数码管的第一位,再把分的低位送到数码管的第二位,接着把“-”的段码送到数码管的第三位,同样的方法把秒和微秒送到数码管,然后循环扫描每一位把时间显示出来。

(3) 按键中断服务程序分析:产生外部中断时,进行按键判断,程序采用3次条件转跳进行按键判断,每个按键都标志相应的值:“启动/停止”时把定时器开放或与停止,“复位”时,把用来保存时间的寄存器清0,“保存”时,把用来保存时间的寄存器的值保存到连续的单元中,“读取”时把保存时间的单元依次读取出来放回到用来保存时间的寄存器里。

(4) 定时程序分析:当按了“启动”键时,开放定时,以10MS作为一个计时单位,每计100个10毫秒(即1秒),就进一位,用(INC R6)实现,R6加了60次之后,R7就加1,表示“分”加1。

5 电路仿真

本次课程设计仿真所用到的软件有keil编译软件和proteus仿真软件,先把写好的程序用keil软件编译生成hex文件,在proteus 仿真软件中查找元器件,连接电路图,再把hex文件加载到仿真软件的单片机中,最后进行仿真测试。

仿真图如图5-1所示: