毕业设计(论文)-单片机秒表的设计制作.doc_第1页
毕业设计(论文)-单片机秒表的设计制作.doc_第2页
毕业设计(论文)-单片机秒表的设计制作.doc_第3页
毕业设计(论文)-单片机秒表的设计制作.doc_第4页
毕业设计(论文)-单片机秒表的设计制作.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录 第一章 前言1 1.1 单片机技术的特点及应用.1 1.1.1 单片机的特点.1 1.1.2 单片机的应用.1 1.2 单片机实现发生器的意义.2 第二章 数字式秒表软件系统的设计3 2.1 设计任务及功能要求说明.3 22 数字式秒表的方案介绍及工作原理说明.3 第三章 数字式秒表硬件系统的设计5 3.1 数字式秒表硬件系统各模块功能简要介绍.5 3.1.1 at89s52 简介5 3.1.2 时钟电路5 3.1.3 键盘电路6 3.1.4 复位电路6 3.1.5 驱动及显示电路.7 3.1.6 单片机下载口电路.8 3.2 数字式秒表的硬件系统设计图.8 3.2.1 电路原理图.8 3.2.2 pcb 图9 第四章 数字式秒表软件系统的设计10 4.1 数字式秒表使用单片机资源情况.10 4.2 主程序流程图.10 4.3 中断服务程序流程图.10 4.4 显示程序流程图.12 第五章 设计总结13 5.1 秒表的设计结论及使用说明.13 5.2 秒表的调试与安装.13 5.3 程序仿真与结果.14 5.4 误差分析及解决方法.15 5.5 设计心得.15 结束语17 参考文献18 附录 1 原理图.19 附录 2 pcb 图20 附录 3 程序清单.21 附录 4 元器件清单.27 2 摘要摘要 本设计利用单片机的定时器/计数器定时和计数的原理,通过 proteus 仿真 软件来模拟实现的。模拟利用 at89s52 单片机、led 数码管以及软件来控制秒 表的计数以及计数的开启/暂停/继续与复位。 本设计主要完成具备基本功能的电子秒表的理论和实践设计,其中开启、 停止按键的使用方法与传统的机械计时器相同,即按一下开启按键,启动计时 器开始计时,按一下停止按键计时终止。而复位按键可以在任何情况下使用, 即使在计时过程中,只要按一下复位按键,计时应立即终止,并对计时器清零。 关键字关键字: :电子秒表,单片机,定时中断 第一章第一章 前言前言 1.1 单片机技术的特点及应用 随着大规模和超大规模集成电路技术的发展和计算机微型化的需要,将微 型计算机的基本部件:中央处理器(cpu) 、存储器、输入/输出(i/o)接口、 定时器/计数器等多种资源集成在一个半导体芯片上,使得一块集成电力芯片就 能构成一个完整的微型计算机。这种集成电路芯片被称为单片微型计算机,简 称单片机。单片机在结构设计上,他的软、硬件系统及 i/o 接口控制能力等方 面都有独到之处,具有较强而有效的功能。从其组成、逻辑功能上来看,单片 机具备了微型计算机系统的基本部件。 目前,8 位高档机和 16 位机在单片机应用中占主导地位,产品众多,已有 几十个系列、几百个型号,除了通用单片机以外,集成更多资源,如 a/d 转换 器、d/a 转换器、 “看门狗” (watchdog)电路、lcd 控制器、网路控制模块等, 将单片机嵌入式系统和 internet 连接起来已是一种趋势。还有专用单片机产品, 如专门用于数据处理(图像和语言处理等)的单片机。总之,单片机正在向微 型化、低功耗、高速、集成、高集成度、多资源、网络化、专用型方向发展。 1.1.1 单片机的特点 单片机在一块芯片上集成了一台微型计算机所需要的基本部件。它在硬件 结构、指令功能等方面均有独到之处,其特点如下: 性价比高。单片机性能稳定,功能强大,价格便宜。 体积小,集成度高、可靠性高。单片机将一台计算机所需要的基本部件集 成在一块芯片上,减少了各部件间的连线,能大大地提高运行速度和抗干扰能 力。 控制功能强。为了,满足工业控制的需要,单片机有很强的位处理功能。 在其他的逻辑控制功能等方面,也都优于一般的 8 位微处理。 单片机系统配置灵活、方便。由于单片机带有一定数量的接口电路,容易 构成各种规模的应用系统。 单片机类型多。单从 rom 类型来说,单片机的只读存储器有 rom、eprom、eeprom、flash memory 等多种,可以根据实际需要进行选择。 1.1.2 单片机的应用 由于单片机具有如上所述的特点,因此在工业生产、日常生活等诸多领域, 得到了日益广泛的应用,单片机的主要应用领域有:工业控制,如在工业生产 过程中参数(如温度、压力、流量、液位等)的控制,数据处理功能于一体, 如转速测试仪、噪声测试仪、振动测试仪及电子秤等。计算机网络与通信,单 片机上有并行 i/o 接口角儿串联 i/0 接口,可用于通信接口,如单片机控制的 自动呼叫应答系统、列车无线通信系统、遥测遥控系统等。家用电器,由于单 片机体积小,控制能力强,且片内与定时器/计数器,所以广泛应用于家用设备 2 中。如空调、洗衣机、微波炉及防盗报警等。 1.2 单片机实现的意义 本设计是以 at89s52 芯片的电路为基础,外部加上功率放大器、放音设备, 以此来实现发生器的硬件电路,通过软件程序来控制单片机内部的定时器使其 能达到所要求的。 。 该软、硬件系统具有很好的通用性,很高的实际使用价值,为广大单片机 和音乐爱好者提供了很好的借鉴。 为了完成发生器的设计,我将进行以下工作: 1.选择合适设计的芯片。 2.进行硬件电路的设计,绘制发生器电路原理图。 3.进行软件设计,设计程序代码。 4.调试硬件和软件电路,验证整个设计。 3 第二章第二章 数字式秒表软件系统的设计数字式秒表软件系统的设计 2.1 设计任务及功能要求说明 由单片机接收小键盘控制递增计时,由 led 显示模块计时时间,显示格式 为 xx(分):xx(秒).xx,精确到 0.01s 的整数倍。绘制系统硬件接线图, 并进行系统仿真和实验。画出程序流程图并编写程序实现系统功能。 使用单片机 at89s52 作为主要控制芯片,以四位一体共阳极数码显示管通 过三极管驱动作为显示部分,设计一个具有特定功能的数字式秒表。该数字式 秒表上电或按键复位后能自动显示系统提示符“p.” ,进入准备工作状态。该数 字式秒表通过按键控制可实现开始计时、暂停计时、连续计时、清零和停止功 能。 22 数字式秒表的方案介绍及工作原理说明 使用 at89s52 单片机作为核心控制部件,采用 12m 晶体振荡器及微小电容 构成振荡电路;采用 s8550 作为数码管的驱动部分;用两个四位一体共阳极或 共阴极数码显示管作为显示部分,构成数字式秒表的主体结构,配合独立式键 盘和复位电路完成此秒表的复位、计时、连续、清零、停止各项功能。 对于时钟,它有两方面的含义:一是指为保障系统正常工作的基准振荡定 时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作 的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法: 一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大, 主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间 精度要求很高的情况下,通常采用这种方法。 led 数码显示器有如下两种连接方法:共阳极接法:把发光二极管的阳极 连在一起构成公共阳极,使用时公共阳极接+5v,每个发光二极管的阴极通过电 阻与输入端相连。共阴极接法:把发光二极管的阴极连在一起构成公共阴极, 使用时公共阴极接地。每个发光二极管的阳极通过电阻与输入端相连。 键盘部分方案:键盘控制采用独立式按键,每个按键的一端均接地,另一 端直接和 p1 口相连,在按键和 p1 口之间通过 10k 电阻与+5v 电源相连。键盘 通过检测输入线的电平状态就可以很容易地判断哪个键被按下了,这种方法操 作速度高而且软件结构很简单,比较适合按键较少或操作速度较高的场合,这 种独立式接口的应用很普遍。 显示部分方案:显示部分采用动态显示。数码管动态显示接口是单片机中 应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的 8 个显示笔划 4 “a ,b ,c ,d ,e ,f ,g ,d p“的同名端连在一起,另外为每个数码管的公共极 com 增加位选通控制电路,位选通由各自独立的 i/o 线控制,当单片机输出字 形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字 形,取决于单片机对位选通 com 端电路的控制,所以我们只要将需要显示的数 码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过 分时轮流控制各个数码管的的 com 端,就使各个数码管轮流受控显示,这就是 动态驱动。动态显示是利用人眼视觉暂留特性来实现显示的。事实上,显示器 上任何时刻只有一个数码管有显示。由于各数码管轮流显示的时间间隔短、节 奏快,人的眼睛反应不过来,因此看到的是连续显示的现象。为防止闪烁延时 的时间在 1ms 左右,不能太长,也不能太短。本设计可采用 p0 口直接驱动八段 数码管显示。此方案成本低,而且单片机的 i/o 口占用较少,可以节约单片机 接口资源,而且功耗更低。 此电路采用单片机的 p0 口作为数码显示管的段控,采用 p2 口作为数码管 的位控。8 个独立式键盘分别接在单片机的 p1 口上,以及其他部分构成数字式 秒表的硬件电路。通过编写程序使用单片机的定时计数器,以及软件延时,中 断资源来实现秒计时和相关控制。此数字式秒表的硬件整体结构如图 2-1 所示。 图 2-1 数字式秒表的硬件结构图 5 第三章第三章 数字式秒表硬件系统的设计数字式秒表硬件系统的设计 3.1 数字式秒表硬件系统各模块功能简要介绍 3.1.1 at89s52 简介 (1)与 mcs-51 产品相兼容; (2)具有 8kb 可改写的 flash 内部程序存储器,可写/擦 1000 次; (5)256 字节内部 ram; (6)32 根可编程 i/o 口; (7)3 个 16 位定时器/计数器。 (8)8 个中断源; (9)可编程中串行口; (10)低功耗空闲和掉电方式。 它的价格便宜,功能强大,能耗低。很大程度上减少总电路的复杂性,提 高了所设计系统的稳定性。其芯片引脚图如图 3-1 所示。 图 3-1 单片机 at89s52 引脚图 3.1.2 时钟电路 时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复 杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号 控制下严格地按时序进行工作。在 at89s52 芯片内部有一个高增益反相放大器, 6 其输入端为芯片引脚 xtal1,输出端为引脚 txal2,在芯片的外部通过这两个引 角跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡 器。 此电路采用 12mhz 的石英晶体。时钟电路如图 3-2: 图 3-2 时钟电路 3.1.3 键盘电路 本设计使用独立式键盘接在单片机的 p1 口上但通过软件赋予其中三个按键 功能,其中 s2 是计时开始按键,第二功能为停止,s3 为计时暂停按键,第二 功能为继续计时按键,s4 是清零按键。注意使用时只有在暂停状态下才能继续 计时,只有在停止状态下才能清零,在停止时不能继续计时,在暂停时不能清 零。键盘电路如图 3-3: 图 3-3 独立式键盘电路图 3.1.4 复位电路 复位是单片机的初始化操作,其主要功能是把 pc 初始化为 0000h,使单片 机从 0000h 单元开始执行程序。除了进入系统的正常初始化之外,当由于程序 运行出错或操作错误是系统处于死锁状态时,为摆脱困境,也需要按复位键以 重新启动。 7 rst 引脚是单片机复位信号的输入端,复位信号是高电平有效,其有效时 间应持续 24 个振荡周期(即 2 个机器周期)以上,若使用频率为 6mhz 的晶振, 则复位信号持续时间应超过 4us 才能完成复位操作。复位操作有上电自动复位 和按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实 现的。按键电平复位是通过使复位端经电阻与 vcc 电源接通而实现的。在本设 计中采用了按键电平复位方式,其复位电路如图 3-4 所示: 图 3-4 复位电路 3.1.5 驱动及显示电路 数码管实际上是由二极管构成发光二级管正常工作时,其两端正向压降约 为 1.6v,正向电流约为 10ma,为了使数码管达到一定的亮度而又不至于由于电 流过大而损坏,我们使用三极管 s8550 作为数码管的驱动,同时在 p0 口和 p2 口上串上 470 欧姆的电阻。此处使用四位一体共阴极数码管,由于驱动电路决 定了此处共阴极数码管和共阳极数码管均可以采用而且均采用共阳极代码来编 写显示程序,具体电路如图 3-5 所示。 8 图 3-5 数码管驱动及显示电路图 3.1.6 单片机下载口电路 下载口主要是一个十芯的座子,可以通过使用 usb 下载线对单片机进行程 序下载。方便整个软件的设计,也能让我们使用起来更加方便。 图 3-6 单片机下载口电路图 3.2 数字式秒表的硬件系统设计图 3.2.1 电路原理图 此处电路原理图以及 pcb 原理图的绘制均使用 protel99 软件完成, protel99 是基于 win95/win nt/win98/win2000 的纯 32 位电路设计制版系统。 protel99 提供了一个集成的设计环境,包括了原理图设计和 pcb 布线工具,集 9 成的设计文档管理,支持通过网络进行工作组协同设计功能。根据硬件接线要 求设计绘制电路原理图及 pcb。具体电路图见附录 1 与附录 2。 3.2.2 pcb 图 pcb 图设计时,首先要使元器件尽量少,这样既可以节约材料,又可以是 布线更加短,减少干扰,同时还应注意尽量减少线路之间的寄生电容和电感, 布线时需要将线宽设置得比较宽,这样可以提高腐蚀电路板时的成功率, 焊盘大小也要设置的比较大,这样在腐蚀环节和焊接环节比较容易成功。不易 出现短线的现象和焊盘剥离的现象。双面布线时芯片和针脚多的元件需将焊接 点置于底层,这样才能比较方便的焊接。 制作电路板 pcb 图见附录 2。 10 第四章第四章 数字式秒表软件系统的设计数字式秒表软件系统的设计 4.1 数字式秒表使用单片机资源情况 本次电子钟设计除了了使用单片机工作所必须的硬件资源(如连接晶振的 引脚 xtal1 和 xtal2,复位引脚 reset)外,对单片机的硬件资源还做了具体的 安排。 (1).p0 口:p0.0-p0.7 作为数码管显示器的段控。 (2).p1 口:p1.0-p1.3 作为独立式键盘的输入端。 (3).p2 口:p2.0-p2.7 分别控制数码管 led0-led7 的位控码驱动。 (4).定时/计数器:使用定时器 0 工作方式 2 实现数字式计数器的运行。 (5).专用寄存器:定时器控制寄存器 tcon,通过设置该寄存器 tr0 位的状 态来控制定时/计数器 0 的启动/停止;中断允许寄存器 ie,通过设置该寄存器 ea/et0 位的状态来设置定时/计数器 0 中断允许/禁止;定时/计数器工作方式 寄存器 tmod,设置定时/计数器 0 的工作方式。 4.2 主程序流程图 图 4-1 主程序流程图 系统上电/复位后,进入主程序。首先对系统进行初始化,包括设置各入 口地址、中断的开启、对各个数据缓存区清“0” 、赋定时器初值,初始化完毕 后,就进入数码管显示程序。 数码管显示程序对显示缓存区内的数值进行调用并在数码管上进行动态显 示。显示一次就对按键进行一次扫描,查询按键是否按下,并不断地调用显示 缓存区的数据进行显示。使用户能清楚的看到当前电子秒表所记录的时间。在 11 主程序中还进行了赋寄存区的初始值、设置定时器初值等操作,当定时时间到 后就转去执行定时中断程序。并在执行完后返回主程序。 4.3 中断服务程序流程图 图 4-2 中断服务程序流程图 当定时/计数器 t0 器溢出后,向 cpu 发出中断请求信号。cpu 跳转到定时 中断程序执行。定时中断程序是一个进位程序,主要负责对 1ms 的加一。1ms 位没有满八就跳出中断程序,返回显示程序。当 1ms 位满八后就对 1ms 位清零, 向 10ms 位加一,同时检测 10ms 位是否满十,没有满十就跳出中断程序,返回 显示程序。如果满十就向 100ms 位加一,依次类推,最终达到 59:59:99 后归零, 从零开始再次计时。 12 4.4 显示程序流程图 图 4-3 显示程序流程图 当主程序执行调用显示程序时,首先对数据进行堆栈保护,同时改变通用 寄存器组,再来执行位控与段控向端口的输入。位控码送往 p2 口,段控码送往 p0 口。为了保证显示亮度,在扫描的过程中,应在每一位数码管上都驻留一段 时间(约 1ms),以使数码管稳定地点亮一段时间,一保证其显示亮度。为此 在扫描过程中,位与位之间要加进一段时间延迟。当 8 位数码管全部送完时, 恢复当前寄存器的组号,返回主程序。 13 第五章第五章 设计总结设计总结 5.1 设计结论及使用说明 本设计完成的是基于单片机的数字式秒表。该数字式秒表实现了计时、暂 停、清零等功能,并用数码管显示时间。上电或复位后显示“p.”提示符,此 时按 1 键便可开始计时。在计数状态下,按下 2 键即可实现暂停,再次按下 2 键即可实现继续计数,在计数状态下按下 1 键,实现计数停止,在停止状态下 按下 3 键,便可实现计数清零。计数状态下按下清零键,无效。 5.2 秒表的安装与调试 本电子钟的设计用的 proteus 仿真软件设计电路并仿真。proteus isis 是 英国 labcenter 公司开发的电路分析与实物仿真软件。它运行于 windows 操作 系统上,可以仿真、分析(spice)各种模拟器件和集成电路,该软件的特点是: 实现了单片机仿真和 spice 电路仿真相结合。具有模拟电路仿真、数字电路 仿真、单片机及其外围电路组成的系统的仿真、rs232 动态仿真、i2c 调试器、 spi 调试器、键盘和 lcd 系统仿真的功能;有各种虚拟仪器,如示波器、逻辑 分析仪、信号发生器等。支持主流单片机系统的仿真。因为 pretues 仿真软 件中所有的情况都是基于理想条件,与实际电路的工作存在很大的差别,所以 我们必需考虑到实际情况应接入驱动限流等电路,它才能被实际所应用。 首先打开已经做好的 proteus dsn 文件,双击图中的 at89s52 芯片,就弹 出一个窗口,在 program file 项中通过路径选择在 wave 中生成的 hex 文件, 双击选中后确定,这样仿真图中的 at89s52 芯片就已经夺取了本设计中的 hex 文件。单击“三角形按钮”进行仿真。通过对仿真结果的观察来对程序进行修 改,最终使程序到达设计要求。 按照之前设计好的数字电子秒表原理图,详细计算系统中各个元件的参数,选择相应 器件,制作实际电路板。由于考虑到电路板大小的问题及元件之间连线的方便,在焊接元 器件前必须考虑元件的布局然后进行实际操作。 制作好的电路板可以用万用表(200 欧姆档)的红、黑表笔测试电路板的 每条走线,当其电阻非常小时,证明走线没有断开,当其电阻很大时,证明该 条走线断了,应该重新走线,使电路板在电气上得到正确地连接。选用万用表 14 的 20k 欧姆档,检测电路中是否存在短路。因为系统采用的是共阴极数码管作 为显示电路,必须确保数码管的公共端接的是低电平。 (1)晶振电路的测试 在单片机正常运行的必要条件是单片机系统的时钟稳定正常。实际中,因 为各种原因导致系统时钟不正常而出现系统无法正常运行的情况时有,因此系 统时钟是否振是通电检查的首要环节。在系统通电的状况下,用万用表的直流 电压档(20v) ,分别测量 xtal1 和 xtal2 引脚的电压,看是否正常,在调试过 程中,测得电压 xtal1 引脚应为 2.05v,xtat2 应为 2.15v。 (2)复位电路的测试 复位不正常也会导致系统不能工作。如果复位引脚始终为高电平,系统将 始终处于复位状态;如果始终为低电平,不能产生复位所需的高电平信号脉冲, 则系统也可能无法正常工作。单片机正常工作时,rst 复位引脚应为 0v,按下 复位按键时,复位引脚为高电平 5v 左右。 (3)显示电路的测试 显示电路是数字电子秒表正常运行最直观的观察窗口,我们可以通过观察 显示电路的显示结果观察系统能否正常运行。当显示电路按照电路图焊接好后, 用万用表的测二极管档位,将黑表笔接共阴数码管的公共段,然后将红表笔接 数码管的各段,当数码管的段能正常显示,说明各点焊接正常。 5.3 程序仿真与结果 我是在 keil 软件里编写程序并编译通过才能被硬件电路所应用。keil 的功能比较强大但还是有一定的缺点。在编译过程中只能检查出所编写的语法 错误,因此只能一步一步的在硬件电路里仿真来达到设计所要求的功能。经仿 真修改和完善均已达到设计要求.“p.”显示,电子钟准备状态与电子钟自动运 行状态的仿真如下图所示。 (1). “p.”显示如图 5-1 所示。 图 5-1 “p”显示图 (2). 数字式秒表准备状态仿真的显示如图 5-2 所示。 15 图 5-2 准备计时状态 (3). 数字式秒表运行状态的仿真如图 5-3 所示。 图 5-3 计时器状态 5.4 误差分析及解决方法 可以发现数字式秒表计数的时间比我们的标准时间要慢,而且相比较 的时间越长时差越大。经过分其主要原因与硬件和软件都有关。 软件原因:我们从外部中断请求有效到转向中断区入口地址所需的机 器周期数来计算中断时间,51 系列单片机最短响应时间为 3 个机器周期。 在一般情况下中断响应时间通常无需考虑,但在精确定时的应用场合需知 道中断响应时间,以保证定时的精确控制。 硬件原因:单片机的时钟信号是由外部的振荡电路所提供,在芯片的 外部通过接 xatl1 与 xatl2 这两个引角跨接晶体振荡器和微调电容,形成 反馈电路,就构成了一个稳定的自激振荡器。因为电子原件没有我们所设 计的那么理想(电容的容量,振晶的输出频率)所以会造成我们的时间准 确。 针对这样的问题我们就能只能从上述两个方面入手去解决。软件方面 我们可以通过计算设计子程序去减少响应的时差。硬件部分我们可以采用 一些稳定措施,精确度比较高的电子元件去完善,但是在最后调试出的还 是有误差但我尽可能的减少差误差接近理想。 5.5 设计心得 通过对数字式秒表的设计与制作,我们把理论与实际相结合。加深了 我对理论知识的理解,也增强了动手能力。 在电路设计过程中,我学会了自己收集信息和处理信息的能力,为以 后的学习和制作奠定了一定的基础,数字式秒表看似简单,但当我自己着 手设计与制作的时候才发现困难重重的。 在元器件采购过程中发现的问题更大,在电路计算中我们根本没有考 虑到元器件的型号和性能参数,然而在实物购买时我们就不得不开始考虑 其型号和性能参数,这也是理论与实际的差别。还有,某种型号的电阻和 电容的是根本就没有买的,这样我们不得不考虑改变设计电路中的参数, 16 或者采用电路的等效方式来解决。 在制作 pcb 时,发现一定要有细心、耐心和恒心才能做好事情,首先 是线的布局上既要美观又要实用和走线简单,兼顾到方方面面去考虑是很 需要的。比如在做 pcb 板时,因为缺乏经验把板上的线画得太细了,焊盘 太细导致后面的腐蚀环节稍微有点失误将使电路板出现断线,打孔后无焊 盘等问题,把 pcb 板浸在三氯化铁里浸得太久可能导致 pcb 板上的铜几乎 全都溶解了。双面布线时必须做到两面完全对齐,否则板子有可能无法使 用,还有在有芯片的电路布线时不能将从芯片引脚引出的线布在两面,否 则将无法完成焊接任务。 从刚刚接触单片机开始,此设计是我迄今为止,编写的最大的一个程 序,在调试过程中,我学会了怎样去根据实验现象分析问题,解决问题。 它不仅加强了我们解决问题的能力,同时也锻炼了我们的逻辑思维能力。 此次设计,使我学到了很多课内学不到的东西,比如独立思考解决问 题,出现差错的随机应变,使我们在实际动手能力方面得到了较大的提高。 17 结束语结束语 经过这一次的毕业设计,从搜索资料到硬件、软件的调试成功,每一 步、每一个细节自己都经过思考,共同讨论各方案的比较选择和画图、做 板和硬、软件的调试。在做的过程中不但加深我对在课程上所学到的单片 机理论知识的认识和理解,重新让自己认识到了这门学科的在应用方面的 广阔前景,并且通过知识与应用于实践的结合更加丰富了自的知识扩展己 了知识面。 在毕业设计中,参考了多方面的书籍资料和网络资料,对不同类型的 题目都有了大概的认识,最后,经过认真思考,我选择了单片机控制的电 子秒表。 本次设计内容较多,关系到电路的设计与制作,以及程序的设计和两 者的匹配组合,每一部分都要注意,每一部分都要严格要求,否则,就会 出现错误,影响最后的结果。 这一个学期来,尽管本人尽了最大努力去完成本毕业设计任务的研究, 但是所做的工作仍有许多不足,还要许多内容需要完善,恳请各位老师对 不足或疏漏之处给予指出。 刚开始接到课程设计任务,认为挺简单的,然而真正开始动手制作时 才知道并不是那么简单,从初期的资料收集以及原理图的绘制都受到了老 师以及同学的帮助,在遇到困难时请教老师和同学都能得到耐心的解答,帮 助我们少走弯路。感谢我的老师,以及我的同学,在整个硬件电路的设计 与制作过程中,他们都给了我很大的支持,是我从此次课程设计过程中获 益匪浅,本人对设计过程中给予了通力合作,以及精神的支持,的老师和 同学深表感谢。如果没有他们我想我的设计不会这样顺利的完成。由于本 人水平有限,在技术指标和论文写作中可能存在一些缺陷,恳请各位老师 和同学们批评指教。 18 参考文献 1李华.mcs-51 系列单片机实用接口技术.北京:北京航空航天大学出版, 2002 2李全利,迟荣强.单片机原理及接口技术.北京:高等教育出版社,2004 3杨西明,朱骐.单片机编程与应用入门.北京:机械工业出版社,2004 4薛晓书.单片微机原理及接口技术.西安:西安石油大学,2002.3 5谢自美.电子线路设计、实验、测试.武汉:华中理工大学出版社,2000 6何书森,何华斌.实用数字电路原理与设计速成.福州:福建科学技术, 2000.6 7李广弟.单片机基础(第三版).北京:北京航空航天大学出版社, 2007.6 8张毅钢.mcs-51 单片机应用设计.哈尔滨:哈尔滨工业大学出版社, 2007.8 9罗耀华.单片机原理与应用设计m.哈尔滨:哈尔滨工程大学出版社, 2005 19 附录附录 1 1 原理图原理图 123456 a b c d 654321 d c b a title numberrevisionsize b date:10-sep-2010sheet of file:i:下下下下下下下下下下下下下下下(下下下下).ddbdrawn by: ea/vp 31 x1 19 x2 18 reset 9 rd 17 wr 16 int0 12 int1 13 t0 14 t1 15 p10 1 p11 2 p12 3 p13 4 p14 5 p15 6 p16 7 p17 8 p00 39 p01 38 p02 37 p03 36 p04 35 p05 34 p06 33 p07 32 p20 21 p21 22 p22 23 p23 24 p24 25 p25 26 p26 27 p27 28 psen 29 ale/p 30 txd 11 rxd 10 u1 at89s52 a 11 b 7 c 4 d 2 e 1 f 10 g 5 dp 3 d4 6 d3 8 d2 9 d1 12 led1 led1 a 11 b 7 c 4 d 2 e 1 f 10 g 5 dp 3 d4 6 d3 8 d2 9 d1 12 led2 led2 vdd r20 470r21 470r22 470r23 470r24 470r25 470r26 470r27 470 p20 p21 p22 p23 p24 p25 p26 p27 r00 470r01 2kr02 470r03 470r04 470r05 470r06 470r07 470 1 a 2 k d1 led d2 led d3 led d4 led d5 led d6 led d7 led1 a 2 k d8 led p00 p01 p02 p03 p04 p05 p06 p07 vcc p00 p01 p02 p03 p04 p05 p06 p07 p20 p21 p22 p23 p24 p25 p26 p27 s1 sw r1 200 r2 1k +c3 22uf vcc ret ret x1 x2 y1 12mh z c1 33pf c2 33pf x1 x2 1 2 3 4 5 6 7 8 9 j5 10k p00 p01 p02 p03 p04 p05 p06 p07 p10 p11 p12 p13 p14 p15 p16 p17 ls1 bell r12 1k vccp31 p30 p31 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 isp we p15 ret p17 p16 vcc p37 1 2 j1 con2 common 1 no 2 ss r13 1k p32 p33 p34 p35 p36 ale/p psen gnd d9 led c 3 b 1 e 2 q1 pnp q2 pnp q3 pnp q4 pnp q5 pnp q6 pnp q7 pnp q8 pnp c 3 b 1 e 2 q9pnp p00 p01 p02 p03 p04 p05 p06 p07 p10 p11 p12 p13 p14 p15 p16 p17 p20 p21 p22 p23 p24 p25 p26 p27 p30 p31 p32 p33 p34 p35 p36 p37 vcc 1 2 3 4 5 6 7 8 jp1 con8 1 2 3 4 5 6 7 8 jp2 con8 1 2 3 4 5 6 7 8 jp3 con8 1 2 3 4 5 6 7 8 jp4 con8 1 2 3 18b20 18b20 vcc rk 4.7k p30 vcc rp0 470 rp1 470 rp2 470 rp3 470 rp4 470 rp5 470 rp6 470 rp7 470 p30 1 2 jp5 con2vcc vdd p31 p32 p33 p34 p35 p36 p37 1 2 3 4 5 6 7 8 9 j2 10k vcc p10 p11 p12 p13 p14 p15 p16 p17 s2sw s3sw s4sw s6sw s7sw s8swsk s9 s5sw 1 2 j3usb 下下18b20下下 下下下下 下下下 下下 下下下下 下下下下下 下下下下下 下下下下下下下 下下下下 下下下 下下下下 1 2 jx 1 con2 1 2 jx 2 con2 b20 b20 b21 b21 下下下 下下下 vcc 20 附录附录 2 2 pcbpcb 图图 21 附录附录 3 3 程序清单程序清单 ;led 数码管显示器设定; ;p0.7-p0.0 段控线,接 led 的显示段 d p ,g ,f ,e ,d ,c ,b ,a ; ;p2.7-p2.0 位控线从左至右 (led7,led6,led5,led4,led3,led2,led1,led0); ;显示缓冲区设定从左至右依次为 78h,79h,7ah,7bh,7ch,7dh,7eh,7fh ; ;* *; ;独立式键盘设定与功能; ;8 个按键 s1 至 s8 分别依次接在 p1.0 至 p1.7 口线; ;k0 的功能为复位 ;k1 的功能为启动/停止(标识符为 22h.0 当它为 1 时启动,为 0 时停 止) ;k2 的功能为暂停/继续(标识符为 22h.1 当它为 1 时暂停,为 0 时继 续) ;k3 的功能为清零 ;* *; ;常数表格; ;disbh(系统提示符 p.字型代码序号表); ;tab(共阳数码管字型代码表) ; ;* *; ;子程序; ;time_1ms(定时 1ms 子程序) ; ;key(键扫描子程序); ;keychuli(p1 口数据处理子程序); ;disp(数码管显示子程序) ; ;dl(2 毫秒延时子程序); ;add01(入口地址为 r0) ;* *; ;存储器内容的安排; ;堆栈栈底 7fhh; ; ;20h 作为按键标志(20h.020h.7 分别对应的是按键 k1k8) ; ;专用寄存组 1,用在显示子程序中 ;* *; ;系统起始程序区 org 0000h start: ljmpmain 22 org 000bh ljmppdjw ;* *; ;系统监控程序区 org 0030h main: mov psw,#00h mov sp, #7fh;确立堆栈区 mov r0, #20h;ram 区首地址 mov r7, #96 ;ram 区单元个数 movtmod,#01h setbea setbet0 ml: mov r0,#00h inc r0 djnzr7, ml tsf:mov dptr, #disbh ;系统初始化后提示符“p.”字符代码表 首地址 mov r5, #08h mov r0, #78h disptsf:clr a movca, a+dptr mov r0,a inc r0 inc dptr djnzr5, disptsf key0: lcalldisp lcall key jb 20h.0, k1 jb 20h.1, k2 jb 20h.2, k3 ljmpkey0 key00: lcall key lcall disp jb 20h.2, k3 ljmpkey00 k1: jb 22h.1, key0 ;如果此时为暂停状态,本次按键 k1 无效 cpl 22h.0 jb 22h.0, k01;高电平则计时 clr tr0 ;低电平则停止 23 lcall disp ljmpkey00 k01: mov 7ah, #12h;从零开始计时 mov 7dh, #12h mov 7fh, #10h mov 78h, #00h mov 79h, #00h mov 7bh, #00h mov 7ch, #00h mov 7eh, #00h mov 7fh, #00h lcall disp mov th0,#0d8h mov tl0,#0f0h setbtr0;启动定时器 ljmpkey0 k2:jb 22h.0, k21 ;判断秒表是否启动,如不是启动状态 则此次按键无效 ljmpkey0 k21:cpl22h.1 jb 22h.1, k22 setb tr0;继续计时 ljmpkey0 k22:clr tr0;暂停秒表 lcall disp ljmpkey0 k3:jb 22h.0, key0 ;只有当停止是,清零键才有效 mov r0, #79h ;秒表清零 lcall clr00 mov r0, #7ch lcall clr00 mov r0, #7fh lcall clr00 ljmpkey0 pdjw: pushpsw pushacc mov tmod,#01h;定时器以工作方式 1 工作 24 setbrs1;设定组号为 2 组 clr rs0 mov th0,#0d8h mov tl0,#0f0h mov r0,#79h lcall add01 cjner2, #99, rett ;判断 1 秒到没 mov r0, #7ch lcall add01 cjner2, #60, rett ;判断 60 毫秒到没 lcall clr00 mov r0, #7fh lcall add01 cjner2, #60h, rett;判断 60 分到没 lcall clr00 rett: pop acc pop psw reti ;* *; ;常数表格区 ;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论