毕业设计(论文)-基于单片机的计数器设计.doc

上传人:good****022 文档编号:116533786 上传时间:2022-07-05 格式:DOC 页数:41 大小:2.75MB
返回 下载 相关 举报
毕业设计(论文)-基于单片机的计数器设计.doc_第1页
第1页 / 共41页
毕业设计(论文)-基于单片机的计数器设计.doc_第2页
第2页 / 共41页
毕业设计(论文)-基于单片机的计数器设计.doc_第3页
第3页 / 共41页
点击查看更多>>
资源描述
第一章 绪论 i 目目 录录 第一章第一章 绪绪 论论1 1 1.1 选题背景1 1.1.1 数字单片机的技术发展1 1.1.2 以单片机为核心的嵌入式系统3 1.2 本研究课题的发展趋势4 1.3 设计研究的要求及主要内容应解决的问题5 第二章第二章 整体设计方案整体设计方案6 6 2.1 设计方案选择6 2.2 设计原理6 第三章第三章 硬件电路设计硬件电路设计8 8 3.1 最小系统设计8 3.2 原理图.11 3.3 重要元器件介绍.12 3.3.1 单片机介绍.12 3.3.2 PCB 版的介绍 .16 3.3.3 数码管的介绍.17 3.4 PROTEUS软件介绍.19 3.5 电路仿真.21 3.6 PCB 图 .23 第四章第四章 软件设计软件设计2323 4.1 系统软件设计流程图.24 4.2 C 语言介绍 .24 4.3 程序.25 4.4 KEIL软件调试 .28 4.4.1 软件介绍.28 4.4.2 系统概述.28 第一章 绪论 ii 4.4.3 Keil C51 单片机软件开发系统的整体结构 28 第五章第五章 焊接调试与功能说明焊接调试与功能说明3030 5.1 系统性能测试与功能说明.30 5.2 软件调试问题及解决.30 结结 论论3232 参参 考考 文文 献献3434 致致 谢谢3636 附附 录录3838 第一章 绪论 1 第一章 绪 论 本章介绍了本研究课题的背景及意义,阐述了其发展状况。对当前各种计数 器的特点及其计数器的未来发展趋势作了概况。另外,简要说明了本文所做的工 作。 1.1 选题背景 随着计数器技术的不断发展与进步,计数器的种类越来越多,应用的范围越 来越广,随之而来的竞争也越来越激烈。过硬的技术也成为众多生产厂商竞争的 焦点之一。厂商为了在竞争中处于不败之地,从而不断地改进技术,增加产品的 种类。 现计数器的种类以增加到:电磁计数器、电子计数器、机械计数器(拉动 机械计数器、转动机械计数器、按动机械计数器、测长机械计数器) 、液晶计数 器等。 计数器的应用范围也遍布印刷、纺织、印染、针织、电缆、电讯、军工、轻工、 机械、开关、断路器、矿山、实行多班制的纺织行业的织布机、织带机、制线、 制带、造纸、制革、薄膜、高压开关电器产品、试验设备,印刷设备、短路器、 医疗、纺织、机械、仓库和码头的货运、行人及车辆过往的数量计数、冶金、食 品、国防、包装、配料、石油、化工、发电、机床、仪表、自动化控制等行业。 1.1.1 数字单片机的技术发展 1.内部结构的变化 单片机在内部已集成了越来越多的部件,这些部件包括一般常用的电路,例 如:定时器,比较器,A/D 转换器,D /A 转换器,串行通信接口,Watchdog 电路, LCD 控制器等。 有的单片机为了构成控制网络或形成局部网,内部含有局部网络控制模块 CAN。例如,Infineon 公司的 C 505C,C515C,C167CR,C167CS-32FM,81C90。 因此,这类单片机十分容易构成网络。特别是在控制,系统较为复杂时,构成一 个控制网络十分有用。为了能在变频控制中方便使用单片机,形成最具经济效益 第一章 绪论 2 的嵌入式控制系统。有的单片机内部设置了专门用于变频控制的脉宽调制控制电 路, 这些单片机有 Fujitsu 公司的 MB89850 系列、MB89860 系列;Motorola 公司 的 MC68HC08MR16、MR24 等。在这些单片机中,脉宽调制电路有 6 个通道输出, 可产生三相脉宽调制交流电压,并内部含死区控制等功能。 特别引人注目的是:现在有的单片机已采用所谓的三核(TrCore)结构。这 是一种建立在系统级芯片(System on a chip)概念上的结构。这种单片机由三 个核组成:一个是微控制器和 DSP 核,一个是数据和程序存储器核,最后一个是 外围专用集成电路(ASIC) 。这种单片机的最大特点在于把 DSP 和微控制器同时 做在一个片上。把它和传统单片机结合集成大大提高了单片机的功能。这是目前 单片机最大的进步之一。这种单片机最典型的有 Infineon 公司的 TC10GP;Hitachi 公司的 SH7410,SH7612 等。 2.功耗、封装及电源电压的发展 现在新的单片机的功耗越来越小,特别是很多单片机都设置了多种工作方式, 这些工作方式包括等待,暂停,睡眠,空闲,节电等工作方式。 现在单片机的封装水平已大大提高,随着贴片工艺的出现,单片机也大量采用了 各种合符贴片工艺的封装方式出现,以大量减少体积。扩大电源电压范围以及在 较低电压下仍然能工作是今天单片机发展的目标之一。目前,一般单片机都可以 在 3.35.5V 的条件下工作。而一些厂家,则生产出可以在 2.26V 的条件下工 作的单片机。 3.工艺上的发展 现在的单片机基本上采用 CMOS 技术,但已经大多数采用了 0.6?m 以上的光 刻工艺,有个别的公司,如 Motorola 公司则已采用 0.35?m 甚至是 0.25?m 技术。 这些技术的进步大大地提高了单片机的内部密度和可靠性。 1.1.2 以单片机为核心的嵌入式系统 单片机的另外一个名称就是嵌入式微控制器。目前,把单片机嵌入式系统和 Internet 连接已是一种趋势。要实现嵌入式设备和 Internet 连接,就需要把传 统的 Internet 理论和嵌入式设备的实践都颠倒过来。为了使复杂的或简单的嵌 M=999 的计数器的设计与实现 3 入式设备,例如单片机控制的机床、单片机控制的门锁,能切实可行地和 Internet 连接,就要求专门为嵌入式微控制器设备设计网络服务器,使嵌入式设 备可以和 Internet 相连,并通过标准网络浏览器进行过程控制。 EmWare 公司提出嵌入式系统入网的方案-EMIT 技术。这个技术包括三个主 要部分:即 emMicro, emGateway 和网络浏览器。 目前,单片机应用中提出了一个新的问题:这就是如何使 8 位、16 位单片机 控制的产品,也即嵌入式产品或设备能实现和互联网互连? TASKING 公司目前正在为解决这个问题提供了途径。该公司已把 emWare 的 EMIT 软件包和有关的软件配套集成,形成一个集成开发环境,向用户提供开发方 便。嵌入互联网联盟 ETI(embed the Internet Consortium)正在紧密合作,共 同开发嵌入式 Internet 的解决方案 。 1.2 本研究课题的发展趋势 自单片机出现至今,单片机技术已走过了近 20 年的发展路程。纵观 20 年来 单片机发展历程可以看出,单片机技术的发展以微处理器(MPU)技术及超大规模 集成电路技术的发 展为先导,以广泛的应用领域拉动,表现出较微处理器更具 个性的发展趋势。单片机的应用在后 PC 时代得到了前所未有的发展,但对处理 器的综合性能要求也越来越高。综观单片机的发展,以应用需求为目标,市场越 来越细化,充分突出以“单片”解决问题,而不像多年前以 MCS51/96 等处理器 为中心,外扩各种接口构成各种应用系统。单片机系统作为嵌入式系统的一部分, 主要集中在中、低端应用领域(嵌入式高端应用主要由 DSP、ARM、MIPS 等高性 能处理器构成) ,在这些应用中,目前也出现了一些新的需求,主要体现在以下 几个方面: (1)以电池供电的应用越来越多,而且由于产品体积的限制,很多是用钮扣电 池供电,要求系统功耗尽可能低,如手持式仪表、水表、玩具等。 (2)随着应用的复杂,对处理器的功能和性能要求不断提高。既要外设丰富、 功能灵活,又要有一定的运算能力,能做一些实时算法,而不仅仅做一些简单的 控制。 第一章 绪论 4 (3)产品更新速度快,开发时间短,希望开发工具简单、廉价、功能完善。特 别是仿真工具要有延续性,能适应多种 MCU,以免重复投资,增加开发费用。 (4)产品性能稳定,可靠性高,既能加密保护,又能方便升级。 1.3 设计研究的要求及主要内容应解决的问题 要求: 1.整个系统有较强的抗干扰能力. 2.计数范围:000999. 3.将计数值准确显示出来. 应解决问题: 基于单片机构成的产品自动计数器研究的主要内容包括:如果构成检测电路、 MCS-51 单片机用何种方式对外部计数脉冲进行计数显示控制、LED 显示驱动模块 的选择、MCS-51 单片机的扩展。在这个设计中主要需要解决的问题便是如何提高 MCS-51 单片机的抗干扰能力以及稳定性。 M=999 的计数器的设计与实现 5 第二章 整体设计方案 2.1 设计方案选择 方案一: 采用多种数字逻辑电路来实现逻辑控制、主门、门控、计数单元的设计要求, 这样设计的电路整体比较复杂,而且不宜完成发挥部分的功能要求。所以方案一 不采用。 方案二: 可以采用 FPGA 来实现逻辑控制、主门、门控、计数单元的设计要求,并且 设计方便,但由于对 FPGA 的技术原理掌握不够熟练,所以放弃方案二。 方案三: 系统采用 8051 为核心的单片机控制系统,实现原理图中的逻辑控制、主门、 门控、计数的设计要求 单片机计数器的方式控制寄存器 TMOD 中的 GATE 位=1 时,可以很方便的进 行 INT0 引脚的外部输入信号的时间间隔测量。且单片机的控制电路很容易实现 扩展,比如语音模块、测温 I2C 模块、时钟模块、A/D 模块等。故采用方案三。 2.2 设计原理 利用 AT89S51 单片机来制作一个手动计数器,在 AT89S51 单片机的 P3.7 管 脚接一个轻触开关,作为手动计数的按钮,用单片机的 P2.0P2.7 接一个共阴 数码管,作为 00999 计数的个位数显示,用单片机的 P0.0P0.7 接一个共阴 数码管,作为 00999 计数的十位数显示; 硬件电路图如图 2-1 所示: 第二章 整体设计方案 6 图 2-1 硬件电路图 系统板上硬件连线 1)把“单片机系统”区域中的 P0.0/AD0P0.7/AD7 端口用 8 芯排线连接到 “四路静态数码显示模块”区域中的任一个 ah 端口上;要求:P0.0/AD0 对应 着 a,P0.1/AD1 对应着 b,P0.7/AD7 对应着 h。 2)把“单片机系统”区域中的 P2.0/A8P2.7/A15 端口用 8 芯排线连接到 “四路静态数码显示模块”区域中的任一个数码管的 ah 端口上; 3)把“单片机系统”区域中的 P3.7/RD 端口用导线连接到“独立式键盘” 区域中的 SP1 端口上; M=999 的计数器的设计与实现 7 第三章 硬件电路设计 3.1 最小系统设计 图 3-1 单片机最小系统的结构图 单片机的最小系统是由电源、复位、晶振、/EA=1 组成,下面介绍一下每一 个组成部分。 1.电源引脚 Vcc 40 电源端 GND 20 接地端 第三章 硬件电路设计 8 工作电压为 5V,另有 AT89LV51 工作电压则是 2.7-6V,引脚功能一样。 2.外接晶体引脚 图 3-2 晶振连接的内部、外部方式图 XTAL1 19 XTAL2 18 XTAL1 是片内振荡器的反相放大器输入端,XTAL2 则是输出端,使用外部振 荡器时,外部振荡信号应直接加到 XTAL1,而 XTAL2 悬空。内部方式时,时钟发 生器对振荡脉冲二分频,如晶振为 12MHz,时钟频率就为 6MHz。晶振的频率可以 在 1MHz-24MHz 内选择。电容取 30PF 左右。系统的时钟电路设计是采用的内部方 式,即利用芯片内部的振荡电路。AT89 单片机内部有一个用于构成振荡器的高增 益反相放大器。引脚 XTAL1 和 XTAL2 分别是此放大器的输入端和输出端。这个放 大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振 器以及电容 C1 和 C2 构成并联谐振电路,接在放大器的反馈回路中。对外接电容 的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳 定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为 12MHz,电容应尽可能的选择陶瓷电容,电容值约为 22F。在焊接刷电路板时, 晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地 保证震荡器稳定和可靠地工作。 3.复位 RST 9 M=999 的计数器的设计与实现 9 在振荡器运行时,有两个机器周期(24 个振荡周期)以上的高电平出现在此 引腿时,将使单片机复位,只要这个脚保持高电平,51 芯片便循环复位。复位后 P0P3 口均置 1 引脚表现为高电平,程序计数器和特殊功能寄存器 SFR 全部清零。 当复位脚由高电平变为低电平时,芯片为 ROM 的 00H 处开始运行程序。复位是由 外部的复位电路来实现的。片内复位电路是复位引脚 RST 通过一个斯密特触 发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的 S5P2,由复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种方 式,此电路系统采用的是上电与按钮复位电路。当时钟频率选用 6MHz 时,C 取 22F,Rs 约为 200,Rk 约为 1K。复位操作不会对内部 RAM 有所影响。 常用的复位电路如下图所示: 图 3-3 常用复位电路图 4.输入输出引脚 (1) P0 端口P0.0-P0.7 P0 是一个 8 位漏极开路型双向 I/O 端口,端口置 1(对端口写 1)时作高阻抗输入端。作为输出口时能驱动 8 个 TTL。 对内部 Flash 程序存储器编程时,接收指令字节;校验程序时输出指令字节,要 求外接上拉电阻。 在访问外部程序和外部数据存储器时,P0 口是分时转换的地址(低 8 位)/数 据总线,访问期间内部的上拉电阻起作用。 (2) P1 端口P1.0P1.7 P1 是一个带有内部上拉电阻的 8 位双向 I/0 端口。 第三章 硬件电路设计 10 输出时可驱动 4 个 TTL。端口置 1 时,内部上拉电阻将端口拉到高电平,作输入 用。 对内部 Flash 程序存储器编程时,接收低 8 位地址信息。 (3) P2 端口P2.0P2.7 P2 是一个带有内部上拉电阻的 8 位双向 I/0 端口。 输出时可驱动 4 个 TTL。端口置 1 时,内部上拉电阻将端口拉到高电平,作输入 用。 对内部 Flash 程序存储器编程时,接收高 8 位地址和控制信息。 在访问外部程序和 16 位外部数据存储器时,P2 口送出高 8 位地址。而在访 问 8 位地址的外部数据存储器时其引脚上的内容在此期间不会改变。 (4) P3 端口P3.0P3.7P2 是一个带有内部上拉电阻的 8 位双向端口。输 出时可驱动 4 个 TTL。端口置 1 时,内部上拉电阻将端口拉到高电平,作输入用。 M=999 的计数器的设计与实现 11 3.2 原理图 图 3-4 电路总图 3.3 重要元器件介绍 3.3.1 单片机介绍 1. MCS-51 系列单片机简介 8051 是 MCS-51 系列单片机的典型产品,以这一代表性的机型进行系统的讲 第三章 硬件电路设计 12 解。 8051 单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/ 计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控 制总线等三大总线,现在我们分别加以说明: 中央处理器: 中央处理器(CPU)是整个单片机的核心部件,是 8 位数据宽度的处理器,能 处理 8 位二进制数据或代码,CPU 负责控制、指挥和调度整个单元系统协调的工 作,完成运算和控制输入输出功能等操作。 数据存储器(RAM): 8051 内部有 128 个 8 位用户数据存储单元和 128 个专用寄存器单元,它们是 统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用 于存放用户数据,所以,用户能使用的 RAM 只有 128 个,可存放读写的数据,运 算的中间结果或用户定义的字型表。 图 3-5 8051 内部结构图 程序存储器(ROM): 8051 共有 4096 个 8 位掩膜 ROM,用于存放用户程序,原始数据或表格。 定时/计数器(ROM): 8051 有两个 16 位的可编程定时/计数器,以实现定时或计数产生中断用于控 制程序转向。 并行输入输出(I/O)口: M=999 的计数器的设计与实现 13 8051 共有 4 组 8 位 I/O 口(P0、 P1、P2 或 P3),用于对外部数据的传输。 全双工串行口: 8051 内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串 行口既可以用作异步通信收发器,也可以当同步移位器使用。 中断系统: 8051 具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串 行中断,可满足不同的控制要求,并具有 2 级的优先级别选择。 时钟电路: 8051 内置最高频率达 12MHz 的时钟电路,用于产生整个单片机运行的脉冲时 序,但 8051 单片机需外置振荡电容。单片机的结构有两种类型,一种是程序存 储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算 机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结 构。INTEL 的 MCS-51 系列单片机采用的是哈佛结构的形式,而后续产品 16 位的 MCS-96 系列单片机则采用普林斯顿结构。 下图是 MCS-51 系列单片机的内部结构示意图 3-6 第三章 硬件电路设计 14 图 3-6 MCS-51 结构图 MCS-51 的引脚说明: MCS-51 系列单片机中的 8031、8051 及 8751 均采用 40Pin 封装的双列直接 DIP 结构,右图是它们的引脚配置,40 个引脚中,正电源和地线两根,外置石英 振荡器的时钟线两根,4 组 8 位共 32 个 I/O 口,中断口线与 P3 口线复用。现在 我们对这些引脚的功能加以说明: MCS-51 的引脚说明: MCS-51 系列单片机中的 8031、8051 及 8751 均采用 40Pin 封装的双列直接 DIP 结构,右图是它们的引脚配置,40 个引脚中,正电源和地线两根,外置石英 振荡器的时钟线两根,4 组 8 位共 32 个 I/O 口,中断口线与 P3 口线复用。 现在我们对这些引脚的功能加以说明:如图 3-7 M=999 的计数器的设计与实现 15 图 3-7 双列直插式封装引脚图 Pin9:RESET/Vpd 复位信号复用脚,当 8051 通电,时钟电路开始工作,在 RESET 引脚上出现 24 个时钟周期以上的高电平,系统即初始复位。初始化后,程 序计数器 PC 指向 0000H,P0-P3 输出口全部为高电平,堆栈指针写入 07H,其它 专用寄存器被清“0” 。RESET 由高电平下降为低电平后,系统即从 0000H 地址开 始执行程序。然而,初始复位不改变 RAM(包括工作寄存器 R0-R7)的状态, 8051 的初始态。 8051 的复位方式可以是自动复位,也可以是手动复位。此外,RESET/Vpd 还 是一复用脚,Vcc 掉电其间,此脚可接上备用电源,以保证单片机内部 RAM 的数 据不丢失。 见下图 3-8 为两种复位方式和两种时钟方式: 图 3-8 复位方式图与时钟方式图 Pin30:ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址 的低位字节。而访问内部程序存储器时,ALE 端将有一个 1/6 时钟频率的正脉冲 信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。 更有一个特点,当访问外部程序存储器,ALE 会跳过一个脉冲。如果单片机是 M=999 的计数器的设计与实现 16 EPROM,在编程其间,将用于输入编程脉冲。 Pin29:当访问外部程序存储器时,此脚输出负脉冲选通信号,PC 的 16 位地址数据将出现在 P0 和 P2 口上,外部程序存储器则把指令数据放到 P0 口上, 由 CPU 读入并执行。 Pin31:EA/Vpp 程序存储器的内外部选通线,8051 和 8751 单片机,内置有 4kB 的程序存储器,当 EA 为高电平并且程序地址小于 4kB 时,读取内部程序存储 器指令数据,而超过 4kB 地址则读取外部指令数据。如 EA 为低电平,则不管地 址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的 8031,EA 端必须接地。在编程时,EA/Vpp 脚还需加上 21V 的编程电压。 3.3.2 PCB 版的介绍 PCB(PrintedCircuitBoard) ,中文名称为印制电路板,又称印刷电路板、 印刷线路板,简单的说就是置有集成电路和其他电子组件的薄板,是重要的电子 部件,是电子元器件的支撑体,是电子元器件电气连接的提供者,是低能耗、低 污染的,由于它是采用电子印刷术制作的,故被称为“印刷”电路板。 印制电路板的设计是以电路原理图为根据,实现电路设计者所需要的功能。 印刷电路板的设计主要指版图设计,需要考虑外部连接的布局、内部电子元件的 优化布局、金属连线和通孔的优化布局、电磁保护、热耗散等各种因素。优秀的 版图设计可以节约生产成本,达到良好的电路性能和散热性能。简单的版图设计 可以用手工实现,复杂的版图设计需要借助计算机辅助设计(CAD)实现。 根据电路层数分类:分为单面板、双面板和多层板。常见的多层板一般为 4 层板或 6 层板,复杂的多层板可达十几层。 PCB 板有以下三种主要的划分类型: 1.单面板 单面板(Single-Sided Boards) 在最基本的 PCB 上,零件集中在其中一面, 导线则集中在另一面上。因为导线只出现在其中一面,所以这种 PCB 叫作单面板 (Single-sided) 。因为单面板在设计线路上有许多严格的限制(因为只有一面, 布线间不能交叉而必须绕独自的路径) ,所以只有早期的电路才使用这类的板子。 第三章 硬件电路设计 17 2.双面板 双面板(Double-Sided Boards) 这种电路板的两面都有布线,不过要用上 两面的导线,必须要在两面间有适当的电路连接才行。这种电路间的“桥梁” 叫做导孔(via) 。导孔是在 PCB 上,充满或涂上金属的小洞,它可以与两面的导 线相连接。因为双面板的面积比单面板大了一倍,而且因为布线可以互相交错 (可以绕到另一面) ,它更适合用在比单面板更复杂的电路上。 3.多层板 多层板(Multi-Layer Boards) 为了增加可以布线的面积,多层板用上了 更多单或双面的布线板。用一块双面作内层、二块单面作外层或二块双面作内层、 二块单面作外层的印刷线路板,通过定位系统及绝缘粘结材料交替在一起且导电 图形按设计要求进行互连的印刷线路板就成为四层、六层印刷电路板了,也称为 多层印刷线路板。板子的层数就代表了有几层独立的布线层,通常层数都是偶数, 并且包含最外侧的两层。大部分的主机板都是 4 到 8 层的结构,不过技术上理可 以做到近 100 层的 PCB 板。不过因为这类计算机已经可以用许多普通计算机的集 群代替,超多层板已经渐渐不被使用了。因为 PCB 中的各层都紧密的结合,一般 不太容易看出实际数目,不过如果仔细观察主机板,还是可以看出来。 3.3.3 数码管的介绍 在本任务中用 3 位数码管显示当前数值的百,十,个,由于数码管个数多, 如采用静态显示方式,则占用单片机的 I/O 口线太多,如果用定时器/计数器的 串行移位寄存器工作方式及外接串入并出移位寄存器 74LS164 的方式,则电路复 杂。所以,在数码管个数较多时,常采用动态显示方式。 3 位数码管的相同段并联在一起,由一个 6 位 I/O(P1 口)输出字形码控制 显示某一字形,每个数码管的公共端由另外一个 I/O 口(P0 口)输出的字位码控 制,即数码管显示的字形是由单片机 I/O 口输出的字形码确定,而哪个数码管点 亮是由单片机 I/O 口输出的字位码确定的。3 个数码管分时轮流循环点亮,在同 一时刻只有 1 个数码管点亮,但由于数码管具有余辉特性及人眼具有视觉暂留特 性,所以适当地选取循环扫描频率,看上去所有数码管是同时点亮的,察觉不出 闪烁现象。动态显示方式所接数码管不能太多,否则会因每个数码管所分配的实 M=999 的计数器的设计与实现 18 际导通时间太少,使得数码管的亮度不足。在本任务中,为了简便,字形码和字 位码都没由加驱动电路,在实际应用中应加驱动电路。数码管有共阴极和共阳极 两种, 对于共阳数码管,字形驱动输出 0 有效,字位驱动输出 1 有效;而对于共阴 数码管则相反,即:字形驱动输出 1 有效,字位驱动输出 0 有效 显示器普遍地用于直观地显示数字系统的运行状态和工作数据,按照材料及 产品工艺,单片机应用系统中常用的显示器有: 发光二极管 LED 显示器、液晶 LCD 显示器、CRT 显示器等。LED 显示器是现在最常用的显示器之一, 发光二极 管(LED)由特殊的半导体材料砷化镓、磷砷化镓等制成,可以单独使用,也可 以组装成分段式或点阵式 LED 显示器件(半导体显示器) 。分段式显示器(LED 数 码管)由 7 条线段围成 8 字型,每一段包含一个发光二极管。外加正向电压时二 极管导通,发出清晰的光。只要按规律控制各发光段亮、灭,就可以显示各种字 形或符号。LED 数码管有共阳、共阴之分。图是共阳式、共阴式 LED 数码管的原 理图和符号。 图 3-9 共阳式、共阴式 LED 数码管的原理图和数码管的符号图 显示电路显示模块需要实时显示当前的时间,即时、分、秒,因此需要 6 个 数码管,另需两个数码管来显示横。采用动态显示方式显示时间,硬件连接如下 图所示,时的十位和个位分别显示在第一个和第二个数码管,分的十位和个位分 别显示在第四个和第五个数码管,秒的十位和个位分别显示在第七个和第八个数 码管,其余数码管显示横线。LED 显示器的显示控制方式按驱动方式可分成静态 第三章 硬件设计电路 19 显示方式和动态显示方式两种。对于多位 LED 显示器,通常都是采用动态扫描的 方法进行显示,其硬件连接方式如下图所示。 图 3-10 数码管的硬件连接示意图 数码管使用条件: a、使用电压段:根据发光颜色决定; b、小数点:根据发光颜色决定 c、使用电流:静态:总电流 80mA(每段 10mA) ;动态:平均电流 4-5mA 峰值电流 100mA 数码管使用注意事项说明: ()数码管表面不要用手触摸,不要用手去弄引角; ()焊接温度:度;焊接时间:1s ()表面有保护膜的产品,可以在使用前撕下来。 3.4 proteus 软件介绍 Proteus 软件是英国 Labcenter electronics 公司出版的 EDA 工具软件(该 软件中国总代理为广州风标电子技术有限公司) 。它不仅具有其它 EDA 工具软件 的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器 M=999 的计数器的设计与实现 20 件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学 的教师、致力于单片机开发应用的科技工作者的青睐。Proteus 是世界上著名的 EDA 工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真, 一键切换到 PCB 设计,真正实现了从概念到产品的完整设计。是目前世界上唯一 将电路 仿真软件、PCB 设计软件和虚拟模型仿真软件三合一的设计平台,其处理器 模型支持 8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086 和 MSP430 等,2010 年即将增加 Cortex 和 DSP 系列处理器,并持续增加其他系列处 理器模型。在编译方面,它也支持 IAR、Keil 和 MPLAB 等多种编译器。 功能特点: Proteus 软件具有其它 EDA 工具软件(例:multisim)的功能。这些功能是: (1)原理布图 (2)PCB 自动或人工布线 (3)SPICE 电路仿真 革命性的特点: (1)互动的电路仿真 用户甚至可以实时采用诸如 RAM,ROM,键盘,马达,LED,LCD,AD/DA,部 分 SPI 器件,部分 IIC 器件。 (2)仿真处理器及其外围电路 可以仿真 51 系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基 于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。 配合系统配置的虚拟逻辑分析仪、示波器等,Proteus 建立了完备的电子设计开 发环境。 功能模块: 能原理图设计(ISIS) 丰富的器件库:超过 27000 种元器件,可方便地创建新元件; 智能的器件搜索:通过模糊搜索可以快速定位所需要的器件; 智能化的连线功能:自动连线功能使连接导线简单快捷,大大缩短绘图时间; 支持总线结构:使用总线器件和总线布线使电路设计简明清晰; 第三章 硬件电路设计 21 可输出高质量图纸:通过个性化设置,可以生成印刷质量的 BMP 图纸,可以 方便地供 WORD、POWERPOINT 等多种文档使用。 完善的电路仿真功能(Prospice) PROSPICE 混合仿真:基于工业标准 SPICE3F5,实现数字/模拟电路的混合仿 真; 超过 27000 个仿真器件:可以通过内部原型或使用厂家的 SPICE 文件自行设 计仿真器件,Labcenter 也在不断地发布新的仿真器件,还可导入第三方发 布的仿真器件; 多样的激励源:包括直流、正弦、脉冲、分段线性脉冲、音频(使用 wav 文件) 、指数信号、单频 FM、数字时钟和码流,还支持文件形式的信号输入; 丰富的虚拟仪器:13 种虚拟仪器,面板操作逼真,如示波器、逻辑分析仪、信号 发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数 器、逻辑探头、虚拟终端、SPI 调试器、I2C 调试器等; 生动的仿真显示:用色点显示引脚的数字电平,导线以不同颜色表示其对地 电压大小,结合动态器件(如电机、显示器件、按钮)的使用可以使仿真更加直 观、生动; 高级图形仿真功能(ASF):基于图标的分析可以精确分析电路的多项指标, 包括工作点、瞬态特性、频率特性、传输特性、噪声、失真、傅立叶频谱分析等, 还可以进行一致性分析; 独特的单片机协同仿真功能(VSM) 3.5 电路仿真 在 PROTEUS 绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以 在 PROTEUS 的原理图中看到模拟的实物运行状态和过程。 第三章 硬件电路设计 22 用 PROTUES 软件,画出 M=999 的计数器仿真图,得到的图如下所示。 图 3-11 仿真图 PROTEUS 是单片机课堂教学的先进助手。 PROTEUS 不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行 过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示 实验难以达到的效果。 它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程 度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检 测、电路修改、软件调试、运行结果等。 课程设计、毕业设计是学生走向就业的重要实践环节。由于 PROTEUS 提供了 第三章 硬件电路设计 23 实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验 室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、 创造精神的平台 随着科技的发展, “计算机仿真技术”已成为许多设计部门重要的前期设计 手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗 资大为减少,也可降低工程制造的风险。相信在单片机开发应用中 PROTEUS 也能 茯得愈来愈广泛的应用。 使用 Proteus 软件进行单片机系统仿真设计, 是虚拟仿真技术和计算机多媒 体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能 力;在单片机课程设计和全国大学生电子设计竞赛中,我们使用 Proteus 开发 环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的 学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用 Proteus 进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。 因此,Proteus 有较高的推广利用价值。 M=999 的计数器的设计与实现 24 3.6 PCB 图 图 3-12 PCB 版电路 第四章 软件设计 系统的软件设计也是工具系统功能的设计。单片机软件的设计主要包括执行 软件(完成各种实质性功能)的设计和监控软件的设计。单片机的软件设计通常 要考虑以下几个方面的问题: (1)根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计 出合理的总体结构,使软件开发清晰、简洁和流程合理; (2)培养良好的编程风格,如考虑结构化程序设计、实行模块化、子程序 第四章 软件设计 25 化。既便于调试、链接,又便于移植和修改; (3)建立正确的数学模型,通过仿真提高系统的性能,并选取合适的参数; (4)绘制程序流程图; (5)合理分配系统资源; (6)为程序加入注释,提高可读性,实施软件工程; (7)注意软件的抗干扰设计,提高系统的可靠性。 4.1 系统软件设计流程图 主程序先是开始,然后赋初值,本设计采用的是动态显示,所以在赋玩初值 后显示程序不断被调用。 图 4-1 主程序流程图 4.2 C 语言介绍 C 语言是一种面向过程的计算机程序设计语言,它是目前众多计算机语言中 举世公认的优秀的结构程序设计语言之一。它由美国贝尔研究所的 D.M.Ritchie 于 1972 年推出。1978 后,C 语言已先后被移植到大、中、小及微型机上。 C 语言发展如此迅速,而且成为最受欢迎的语言之一,主要因为它具有强大 的功能。许多著名的系统软件,如 DBASE 都是由 C 语言编写的。用 C 语言加 M=999 的计数器的设计与实现 26 上一些汇编语言子程序,就更能显示 C 语言的优势了,像 PC- DOS 、WORDSTAR 等就是用这种方法编写的。 C 语言是一种成功的系统描述语言,用 C 语言开发的 UNIX 操作系统就是一个 成功的范例;同时 C 语言又是一种通用的程序设计语言,在国际上广泛流行。世 界上很多著名的计算公司都成功的开发了不同版本的 C 语言,很多优秀的应用程 序也都使用 C 语言开发的,它是一种很有发展前途的高级程序设计语言。 1.C 是中级语言。它把高级语言的基本结构和语句与低级语言的实用性结合 起来。C 语言可以像汇编语言一样对位、字节和地址进行操作, 而这三者是计 算机最基本的工作单元。 2.C 是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序 的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便 的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。 3.C 语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程 序效率更高。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的的游 戏。 4.C 语言适用范围大。适合于多种操作系统,如 Windows、DOS、UNIX 等等; 也适用于多种机型。 C 语言对编写需要硬件进行操作的场合,明显优于其它解释型高级语言,有 一些大型应用软件也是用 C 语言编写的。 C 语言具有较好的可移植性,并具备很强的数据处理能力,因此适于编写系 统软件,三维,二维图形和动画。它是数值计算的高级语言。 4.3 程序 #include code unsigned char tab= 0 x28,0 xEB,0 x32,0 xA2,0 xE1,0 xA4,0 x24,0 xEA,0 x20,0 xA0,0 x60,0 x25,0 x3C,0 第四章 软件设计 27 x23,0 x34,0 x74; /共阳数码管 0-9 unsigned char Dis_baiwei;/定义十位 unsigned char Dis_shiwei; /定义个位 unsigned char Dis_gewei; void delay(unsigned int cnt) while(-cnt); main() TMOD |=0 x01;/定时器设置 10ms in 12M crystal TH0=0 xd8; TL0=0 xf0; IE= 0 x82; /打开中断 TR0=1; while(1) P0=Dis_baiwei;/显示十位 P2=0 x7f; delay(300);/短暂延时 P0=Dis_shiwei; /显示个位 P2=0 xbf; delay(300); M=999 的计数器的设计与实现 28 P0=Dis_gewei; P2=0 xdf; delay(300); /*/* 定时中断 */ /*/ void tim(void) interrupt 1 using 1 static unsigned int second,count; TH0=0 xd8;/重新赋值 TL0=0 xf0; count+; if (count=100) count=0; second+;/秒加 1 if(second=1000) second=0; Dis_baiwei=tabsecond/100;/百位显示值处理 Dis_shiwei=tab(second%100)/10; /十位显示处理 Dis_gewei=tab(second%100)%10;/各位 4.4 keil 软件调试 4.4.1 软件介绍 Keil 软件是目前最流行开发 MCS-51 系列单片机的软件,这从近年来各仿真 第四章 软件设计 29 机厂商纷纷宣布全面支持 Keil 即可看出。Keil 提供了包括 C 编译器、宏汇编、 连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个 集成开发环境(uVision)将这些部分组合在一起。运行 Keil 软件需要 Pentium 或以上的 CPU,16MB 或更多 RAM、20M 以上空闲的硬盘空间、 WIN98、NT、WIN2000、WINXP 等操作系统。掌握这一软件的使用对于使用 51 系列 单片机的爱好者来说是十分必要的,如果你使用 C 语言编程,那么 Keil 几乎就 是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支 持该软件) ,即使不使用 C 语言而仅用汇编语言编程,其方便易用的集成环境、 强大的软件仿真调试工具也会令你事半功倍。 4.4.2 系统概述 目前流行的 51 系列单片机开发软件是德国 Keil 公司推出的 Keil C51 软件, Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全 Windows 界 面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到 Keil C51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在 开发大型软件时更能体现高级语言的优势。与汇编相比,C 语言在功能上、结构 性、可读性、可维护性上有明显的优势。下面详细介绍 Keil C51 开发系统各部 分功能和使用。 4.4.3 Keil C51 单片机软件开发系统的整体结构 C51 工具包的整体结构,uVision 与 Ishell 分别是 C51 for Windows 和 for Dos 的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发 流程。开发人员可用 IDE 本身或其它编辑器编辑 C 或汇编源文件。然后分别由 C51 及 C51 编译器编译生成目标文件(.OBJ)。目标文件可由 LIB51 创建生成库文 件,也可以 与库文件一起经 L51 连接定位生成绝对目标文件(.ABS)。ABS 文件由 OH51 转 换成标准的 Hex 文件,以供调试器 dScope51 或 tScope51 使用进行源代码级调试, 也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如 EPROM 中。 M=999 的计数器的设计与实现 30 Keil C51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑, 容易理解。在开发大型软件时更能体现高级语言的优势。 第五章 焊接调试与功能说明 31 第五章 焊接调试与功能说明 5.1 系统性能测试与功能说明 走时:默认为计数状态,显示三位数,时间会按实际时间以秒为最小单位变 化,从 000999 的计数,按复位键,重 000 开始,重新计数。 5.2 软件调试问题及解决 软件程序的调试一般可以将重点放在分模块调试上,统调是最后一环。软件 调试可以采取离线调试和在线调试两种方式。前者不需要硬件仿真器,可借助于 软件仿真器即可;后者一般需要仿真系统的支持。本次课题,Keil 软件来调试程 序,通过各个模块程序的单步或跟踪调试,使程序逐渐趋于正确,最后统调程序。 仿真部分采用 protus 6 professional 软件,此软件功能强大且操作较为简 单,可以很容易的实现各种系统的仿真。 首先打开 protus 6 professional 软件,在元件库中找到要选用的所有元件, 然后进行原理图的绘制;绘制好后再选择 wave6000 已经编译好的*.hex 文件,选 择运行,观察显示结果,根据显示的结果和课题的要求再修改程序,再运行查, 直到满足要求。 M=999 的计数器的设计与实现 32 结论 33 结 论 这次毕业设计让我受益匪浅。通过这次设计我对自己在大学三年时间里所学 的知识得到了全面的回顾,并充分发挥对所学知识的理解和对毕业设计的思考及 书面表达能力,最终完成了这份论文。撰写论文的过程也是专业知识的学习过程, 它使我运用已有的专业基础知识,对其进行设计,分析和解决一个理论问题或实 际问题,把知识转化为能力的实际训练。培养了我运用所学知识解决实际问题的 能力。 通过这次毕业设计我发现,只有理论水平提高了,才能够将课本知识与实践 相整合,理论知识服务于教学实践,以增强自己的动手能力。这个设计十分有意 义 我获得很深刻的经验。通过这次毕业设计,我们知道了理论和实际的距离, 也知道了理论和实际想结合的重要性, ,也从中得知了很多书本上无法得知的知 识。 我们的学习不但要立足于书本,以解决理论和实际教学中的实际问题为目的,还 要以实践相结合,理论问题即实践课题,解决问题即课程研究,学生自己就是一 个专家,通过自己的手来解决问题比用脑子解决问题更加深刻。学习就应该采取 理论与实践结合的方式,理论的问题,也就是实践性的课题。这种做法既有助于 完成理论知识的巩固,又有助于带动实践,解决实际问题,加强我们的动手能力 和解决问题的能力。 M=999 的计数器的设计与实现 34 参考文献 35 参 考 文 献 1 单片机系统设计及工程应用 雷思孝等 西安电子科技大学出版社 2 电路基础 吴大正 西安电子科技大学出版社 3 c+程序与设计语言 揣锦华等 西安电子科技大学出版社 4 电子线路 CAD 实用教程 潘永雄等 西安电子科技大学出版社 5 MCS51/96 系列单片机原理及应用 孙涵芳 北京航空航天大学出版社 M=999 的计数器的设计与实现 36 致谢 37 致 谢 论文的完成标志着我的大学四年即将结束,也意味着,新的生活又将开始了。 最近的半年则并行着找工作和写论文。其间的起起伏伏、悲喜得失,今天想来仍 旧唏嘘不已。所幸我没有被失败击垮。自信、坚强、乐观的态度让我坚持到了最 后,并且争取了最好的结局。 通过几个月的悉心设计,在指导教师的耐心指导下,我完成了毕业设计的工 作。此次的毕业设计是我们四年来专业知识的综合运用,是对我们能力的综合考 核。这不仅涉及到对基本原理的理解,也涉及到对问题的分析能力。 通过本次毕业设计,让我对我国电子软件有了新的认识。这也使我认识到了 自己知识的匮乏和能力的有限。从而激励我在今后的学习和工作中更要努力的学 习和不断的充实自己。在这里我尤其感谢老师。在他的耐心指导下,我才能成功 的完成这次的毕业设计,在写论文时老师严格的要求我们,培养我们强烈的责任 心和工作学习的积极性,并且耐心的解答论文中出现的问题。他还为我们指明了 论文方向,校定论文方向。在他的要求下,我不仅完成了整个设计和论文,更重 要的是锻炼了我分析问题和独立思考的能力。 最后,我再一次表达我对领导以及教过我所有的老师最衷心的感谢,是你们 在我前进的道路上给以引导,并无私的教给我许多专业知识以及做人的道理。再 次,让我对所有的老师及所有帮助过我的同学们致以最崇高的敬意。 “长风破浪会有时,直挂云帆济沧海。 ”这是我最喜欢的诗句。就用这话作为这 篇论文的一个结尾,也是一段生活的结束。希望自己能够记取少年时的梦想,永 不放弃。 M=999 的计数器的设计与实现 38 附录 39 附 录 实物图:
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 工程建筑


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!