毕业设计(论文)-基于AT89C51单片机的转速测量仪的设计.doc_第1页
毕业设计(论文)-基于AT89C51单片机的转速测量仪的设计.doc_第2页
毕业设计(论文)-基于AT89C51单片机的转速测量仪的设计.doc_第3页
毕业设计(论文)-基于AT89C51单片机的转速测量仪的设计.doc_第4页
毕业设计(论文)-基于AT89C51单片机的转速测量仪的设计.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

摘 要 在工程实践中,经常会遇到各种需要测量转速的场合,测量转速的方法分为模拟 式和数字式两种。模拟式采用测速发电机为检测元件,得到的信号是模拟量。数字式 通常采用光电编码器,霍尔元件等为检测元件,得到的信号是脉冲信号。随着微型计 算机的广泛应用,特别是高性能价格比的单片机的出现,转速测量普遍采用以单片机 为核心的数字式测量方法。 本课题介绍了一种基于 AT89C51 单片机平台,采用光电编码器实施转速测量的方 法,硬件系统包括脉冲信号产生、脉冲信号的处理和显示模块,并采用汇编语言编程, 该方法具有结构简单、精度高、稳定性好的优点。并且还介绍了该测速方法的基本原 理、实现方法和软硬件设计。 关键字:AT89C51 单片机;转速;光电编码器 Abstract In engineering practice, we often encounter a variety of occasions that need to measure the speed and the speed measurement that is divided into two kinds of analog and digital. Analog tachometer generator for detecting components, the resulting signal is analog. Digital commonly used optical encoder, the Hall element and other detection devices, the signal is a pulse signal. With the extensive application of micro-computer, especially the emergence of high performance and low cost single-chip speed measurement commonly used by the MCU as the core digital measurement method Th subject based on AT89C51 microcontroller platform, the implementation of the photoelectric encoder speed measurement method, the hardware system includes a pulse signal generated pulse signal processing and display modules, and assembly language programming, this method has a simple structure, high precision good stability advantages. And also describes the basic principles of the velocity measurement method and the hardware and software design. Keywords: AT89C51 microcontroller; speed; optical encoder 目目 录录 第一章第一章 绪绪 论论.1 1 1.1 转速测量方法.1 1.2 转速测量原理.2 第二章第二章 系统硬件设计系统硬件设计.4 4 2.1 单片机模块设计.4 2.2 光电编码器.4 2.3 单片机 AT89C51 介绍 .8 2.3.1 主要特征及管脚说明.8 2.3.2 时钟电路 .11 2.3.3 复位电路.11 2.4 显示器.12 2.4.1 引脚说明 .12 2.4.2 寄存器选择控制表 .14 2.4.3 显示地址.14 2.4.4 指令集.14 第三章第三章 软件设计软件设计.1616 3.1 计算机程序设计思路.16 3.2 程序流程图.18 第四章第四章 系统调试系统调试.2020 4.1 硬件调试 .20 4.2 软件调试 .20 谢谢 辞辞.2323 参考文献参考文献.2424 附附 录录.2525 附录系统电路图 .25 附 录系统部分代码 .26 大连交通大学 2012 届本科生毕业设计 1 第一章 绪 论 随着超大规模集成电路技术的提高,尤其单片机应用技术以其功能强大,价格低 廉的显著特点,是全数字化测量转速系统得以广泛应用。由于单片机在测量转速方面 具有体积小,性能强,成本低的特点。越来越受企业用户的青睐。转速是工程中应用 非常广泛的参数,其测量方法较多,而模拟量的采集和模拟量的处理一直是转速主要 的测量方法,这种测量技术已经不能适应现代科技发展的需要。在测量范围和精度上, 已不满足大多数系统的使用。随着大规模及超大规模集成电路技术的发展。数字系统 测量得到广泛的使用,特别是单片机对脉冲数字信号的强大处理能力,是的全数字测 量系统越爱越普及,其转速测量系统也可以用数字化处理。在测量范围和精度方面都 有较大的提高。 设计全数字化测量转速系统,在工业控制和民用电器中都有较高的使用价值。一 方面它可以应用与工业控制中的一部分,如数字机床的电机转速检测和控制,水泵流 速控制以及需要利用转速测量来进行控制的许多场合,如车辆的里程表,车速表等。 另一方面由于该转速测量系统采用全数字结构,因而可以很方便的与工业控制机进行 连接,实现远程管理和控制,进一步提高现代化水平。 1.1 转速测量方法 转速是指作圆周运动的物体在单位时间内所转过的圈数,其大小及变化往往意味着 机器设备运转的正常与否,因此,转速测量一直是工业领域的一个重要问题。按照不同 的理论方法,先后产生过模拟测速法(如离心式转速表) 、同步测速法(如机械式或闪光 式频闪测速仪) 以及计数测速法。计数测速法又可分为机械式定时计数法和电子式定 时计数法。本文介绍的采用单片机和增量式光电编码器组成的高精度转速测量系统,其 转速测量方法采用的就是电子式定时计数法,对转速的测量实际上是对转子旋转引起的 周期脉冲信号的频率进行测量。在频率的工程测量中,电子式定时计数测量频率的方法 一般有三种: 测频率法:在一定时间间隔 t 内,计数被测信号的重复变化次数 N ,则被测信号 的频率 fx 可表示为 fx =Nt (1) 测周期法:在被测信号的一个周期内,计数时钟脉冲数 m0 ,则被测信号频率 fx = fc/ m0 ,其中, fc 为时钟脉冲信号频率。 多周期测频法:在被测信号 m1 个周期内, 计数时钟脉冲数 m2 ,从而得到被测信 号频率 fx ,则 fx 可以表示为 fx =m1 fcm2, m1 由测量准确度确定。电子式定时计数 法测量频率时,其测量准确度主要由两项误差来决定:一项是时基误差;另一项是量化 1 误差。当时基误差小于量化1 误差一个或两个数量级时,这时测量准确度主要由 量化1 误差来确定。对于测频率法,测量相对误差为: 大连交通大学 2012 届本科生毕业设计 2 Er1 =测量误差值实际测量值100 % =1N100 % (2) 由此可见,被测信号频率越高, N 越大, Er1 就越小,所以测频率法适用于高频信号 (高转速信号) 的测量。对于测周期法,测量相对误差为: Er2 =测量误差值实际测量值100 % =1m0100 % (3) 对于给定的时钟脉冲 fc , 当被测信号频率越低时,m0 越大, Er2 就越小,所以测 周期法适用于低频信号(低转速信号) 的测量。对于多周期测频法,测量相对误差为: Er3 =测量误差值实际测量值 100%=1m2100 % (4) 从上式可知,被测脉冲信号周期数 m1 越大, m2 就越大,则测量精度就越高。它适 用于高、低频信号(高、低转速信号) 的测量。但随着精度和频率的提高, 采样周期将 大大延长,并且判断 m1 也要延长采样周期,不适合实时测量。 根据以上的讨论,考虑到实际应用中需要测量的转速范围很宽,上述的转速测量方法难 以满足要求,因此,研究高精度的转速测量方法,以同时适用于高、低转速信号的测量, 不仅具有重要的理论意义,也是实际生产中的需要。 1.2 转速测量原理 一般的转速长期测量系统是预先在轴上安装一个有 60 齿的测速齿盘,用变磁阻式 或电涡流式传感器获得一转 60 倍转速脉冲,再用测频的办法实现转速测量。而临时性 转速测量系统,多采用光电传感器,从转轴上预先粘贴的一个标志上获得一转一个转速 脉冲,随后利用电子倍频器和测频方法实现转速测量。不论长期或临时转速测量,都可 以在微处理器的参与下,通过测量转轴上预留的一转一齿的鉴相信号或光电信号的周期,换 算出转轴的频率或转速。即通过速度传感器,将转速信号变为电脉冲,利用微机在单位 时间内对脉冲进行计数,再经过软件计算获得转速数据。即: n=N/ (mT) (1) n 转速、单位:转/ 分钟; N 采样时间内所计脉冲个数; T采样时间、单位:分钟; m 每旋转一周所产生的脉冲个数(通常指测速码盘的齿数) 。 如果 m=60, 那么 1 秒钟内脉冲个数 N 就是转速 n, 即: n=N/ (mT) =N/601/60=N (2) 通常 m 为 60。 在对转速波动较快系统或要求动态特性好而精度高的转速测控系统中,调节周期一 般很短,相应的采样周期需取得很小,使得脉冲当量增高,从而导致整个系统测量精度降 低,难以满足测控要求。提高采样速率通常就要减小采样时间 T, 而 T 的减小会使采到 的脉冲数值 N 下降,导致脉冲当量(每个脉冲所代表的转速) 增高,从而使得测量精度变 得粗糙。通过增加测速码盘的齿数可以提高精度,但是码盘齿数的增加会受到加工工艺 的限制,同时会使转速测量脉冲的频率增高,频率的提升又会受到传感器中光电器或磁 大连交通大学 2012 届本科生毕业设计 3 敏器或磁电器件最高工作频率的限制。凡此种种因素限制了常规智能转速测量方法的 使用范围。而采用本文所提出的定时分时双频率采样法,可在保证采样精度的同时,提 高采样速率,充分发挥微机智能测速方法的优越性及灵活性。 本次课题以单片机 AT89C51 芯片为核心,通过光电编码器来检测电机的运转情况, 进而实现对电机的转速测量,最后用 LCD 能直观的将转速显示给用户。 主要研究内容有: 1.光电编码器 2.单片机与外围设备的接口设计 3.LCD1602 显示器 大连交通大学 2012 届本科生毕业设计 4 第二章 系统硬件设计 随着超大规模集成电路技术提高,尤其是单片机应用技术以及其功能强大,价格 低廉的显著特点,使全数字化测量转速系统得以广泛应用。出于单片机在测量转速方 面具有体积小、性能强、成本低的特点,越来越受企业用户的青睐。对测量转速系统 的硬件和编程进行研究,设计出一种以单片机为主的转速测量系统,保证了精度。 信号采集采用光电编码器,在本设计方案中转轴每转一转,编码器将发出 2000 个 脉冲,将脉冲信号输入单片机,利用单片机的计数、定时功能对脉冲信号进行分析, 得到当前的转速。在 LCD1602 上显示当前的实时转速。信号传输显示图如图 3-1 所示 光电编码器AT89C51 单片机LCD1602 显示器 图 2-1 信号传输显示图 2.1 单片机模块设计 从功能的需求考虑,整个单片机系统包括以下模块:传感器信号输入、复位输入、 时钟输入、和转速显示。如图 2-2 所示 AT89C51 单片机 传感器信号输入 复位信号输入LCD 转速显示 时钟信号输入 图 2-2 系统框图 2.2 光电编码器 根据检测原理,编码器可分为光学式、磁式、感应式和电容式。根据其刻度方法 及信号输出形式,可分为绝对式、增量式、以及混合式三种。 (1)绝对式编码器 绝对编码器是直接输出数字量的传感器,在它的圆形码盘上沿径向有若干同心码 道,每条道上由透光和不透光的扇形区相间组成,相邻码道的扇区数目是双倍关系, 码盘上的码道数就是它的二进制数码的位数,在码盘的一侧是光源,另一侧对应每一 码道有一光敏元件;当码盘处于不同位置时,各光敏元件根据受光照与否转换出相应 大连交通大学 2012 届本科生毕业设计 5 的电平信号,形成二进制数。这种编码器的特点是不要计数器,在转轴的任意位置都 可读出一个固定的与位置相对应的数字码。显然,码道越多,分辨率就越高,对于一 个具有 N 位二进制分辨率的编码器,其码盘必须有 N 条码道。目前国内已有 16 位的绝 对编码器产品。 (2)增量式编码器 增量式编码器是直接利用光电转换原理输出三组方波脉冲 A、B 和 Z 相;A B 两组脉冲相位差 90,用于基准点定位。它的优点是原理构造简单,机械平均寿命可 在几万小时以上,抗干扰能力强,可靠性高,适合于长距离传输。 光源 透镜码盘透镜 光敏元件 放大整形 脉冲输出 转轴 图 2-3 光电编码器原理图 (3)混合式绝对值编码器 混合式绝对值编码器,它输出两组信息;一组信息用于检测磁极位置,带有绝对 信息功能;另一组则完全同增量式编码器的输出信息。 增量式光电编码器(电路图 2-4)的特点是每产生一个输出脉冲信号就对应于一个 增量位移,但是不能通过输出脉冲区别出在哪个位置上的增量。它能够产生与位移增 量等值的脉冲信号,其作用是提供一种对连续位移量离散化或增量化以及位移变化 (速度)的传感方法,它是相对于某个基准点的相对位置增量,不能够直接检测出轴 的绝对位置信息。一般来说,增量式光电编码器输出 A、B 两相互差 90电度角的脉 冲信号(即所谓的两组正交输出信号),从而可方便地判断出旋转方向。同时还有用 作参考零位的 Z 相标志(指示)脉冲信号,码盘每旋转一周,只发出一个标志信号。 标志脉冲通常用来指示机械位置或对积累量清零。 增量式光电编码器主要由光源、码盘、检测光栅、光电检测器件和转换电路组成, 如图 2-5 所示。码盘上刻有节距相等的辐射状透光缝隙,相邻两个透光缝隙之间代表 一个增量周期;检测光栅上刻有 A、B 两组和码盘相对应的透光缝隙,用以通过或阻挡 光源和光电检测器件之间的光线。它们的节距和码盘上的节距相等,并且两组透光缝 隙错开 1/4 节距,使得光电检测器件输出的信号在相位上相差 90电度角。当码盘随 着被测转轴转动时,检测光栅不动,光线透过码盘和检测光栅上的透过缝隙照射到光 电检测 大连交通大学 2012 届本科生毕业设计 6 器件上,光电检测器件就输出两组相差 90电度角的近似于正弦波的电信号,电信号 经 过转换电路的信号处理,可以得到被测轴的转角或速度信息。 增量式光电编码器输 出 图 2-4 增量式光电编码器电路 信号波形如图 2-6。 图 2-5 光电编码器组成元件 增量式光电编码器的优点是:原理构造简单、易于实现;机械平均寿命长,可达 到几万小时以上;分辨率高;抗干扰能力较强,信号传输距离较长,可靠性较高。 A 相 B 相 Z 相 大连交通大学 2012 届本科生毕业设计 7 图 2-6 增量式光电编码器的输出信号波形 在增量式光电编码器的使用过程中,对于其技术规格通常会提出不同的要求,其 中最关键的就是它的分辨率、精度、输出信号的稳定性、响应频率、信号输出形式。 (1)分辨率 光电编码器的分辨率是以编码器轴转动一周所产生的输出信号基本周期数来表示 的,即脉冲数/转(PPR)。码盘上的透光缝隙的数目就等于编码器的分辨率,码盘上 刻的缝隙越多,编码器的分辨率就越高。在工业电气传动中,根据不同的应用对象, 可选择分辨率通常在 5006000PPR 的增量式光电编码器,最高可以达到几万 PPR。交 流伺服电机控制系统中通常选用分辨率为 25002500PPR 的编码器。此外对光电转换信号进 行逻辑处理,可以得到 2 倍频或 4 倍频的脉冲信号,从而进一步提高分辨率。 (2)精度 增量式光电编码器的精度与分辨率完全无关,这是两个不同的概念。精度是一种 度量在所选定的分辨率范围内,确定任一脉冲相对另一脉冲位置的能力。精度通常用 角度、角分或角秒来表示。编码器的精度与码盘透光缝隙的加工质量、码盘的机械旋 转情况的制造精度因素有关,也与安装技术有关。 (3)输出信号的稳定性 编码器输出信号的稳定性是指在实际运行条件下,保持规定精度的能力。影响编 码器输出信号稳定性的主要因素是温度对电子器件造成的漂移、外界加于编码器的变 形力以及光源特性的变化。由于受到温度和电源变化的影响,编码器的电子电路不能 保持规定的输出特性,在设计和使用中都要给予充分考虑。 (4)响应频率 编码器输出的响应频率取决于光电检测器件、电子处理线路的响应速度。当编码 器高速旋转时,如果其分辨率很高,那么编码器输出的信号频率将会很高。如果光电 检测器件和电子线路元器件的工作速度与之不能相适应,就有可能使输出波形严重畸 变,甚至产生丢失脉冲的现象。这样输出信号就不能准确反映轴的位置信息。所以, 每一种编码器在其分辨率一定的情况下,它的最高转速也是一定的,即它的响应频率 是受限制的。编码器的最大响应频率、分辨率和最高转速之间的关系如下公式所示。 其中,fmax 为最大响应频率、Rmax 为最高转速、N 为分辨率。 (5)信号输出形式 在大多数情况下,直接从编码器的光电检测器件获取的信号电平较低,波形也不 规则,还不能适应于控制、信号处理和远距离传输的要求。所以,在编码器内还必须 将此信号放大、整形。经过处理的输出信号一般近似于正弦波或矩形波。由于矩形波 输出信号容易进行数字处理,所以这种输出信号在定位控制中得到广泛的应用。采用 max max 60 RN f 大连交通大学 2012 届本科生毕业设计 8 正弦波输出信号时基本消除了定位停止时的振荡现象,并且容易通过电子内插方法, 以较低的成本得到较高的分辨率。增量式光电编码器的信号输出形式有:集电极开路 输出(Open Collector)、电压输出(Voltage Output)、线驱动输出(Line Driver)、互补型输出(Complemental Output)和推挽式输出(Totem Pole)。 2.3 单片机 AT89C51 介绍 AT89C51 是一种带 4K 字节 FLASH 存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能 CMOS 8 位微处理器,俗称单片机。 单片机的可擦除只读存储器可以反复擦除 1000 次。该器件采用 ATMEL 高密度非易失存 储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制器, AT89C2051 是它的一种精简版本。AT89C51 单片机为很多嵌入式控制系统提供了一种灵 活性高且价廉的方案。外形及引脚排列如图 2-7 所示 2.3.1 主要特征及管脚说明 主要特征: 与 MCS-51 兼容 4K 字节可编程 FLASH 存储器 寿命:1000 写/擦循环 数据保留时间:10 年 全静态工作:0Hz-24MHz 三级程序存储器锁定 1288 位内部 RAM 32 可编程 I/O 线 两个 16 位定时器/计数器 5 个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 AT89C51 提供以下标准功能:4k 字节 Flash 闪速存储器,128 字节内部 RAM,32 个 I/O 口线,两个 16 位定时/计数器,一个 5 向量两级中断结构,一个全双工串行通 信口,片内振荡器及时钟电路。同时,AT89C51 可降至 0Hz 的静态逻辑操作,并支持两 种软件可选的节电工作模式。空闲方式停止 CPU 的工作,但允许 RAM,定时/计数器, 串行通信口及中断系统继续工作。掉电方式保存 RAM 中的内容,但振荡器停止工作并 禁止其它所有部件工作直到下一个硬件复位。 管脚及其说明: VCC:供电电压。 大连交通大学 2012 届本科生毕业设计 9 GND:接地。 P0 口:P0 口为一个 8 位漏极开路双向 I/O 口,每引脚可吸收 8TTL 门电流。当 P0 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它 可以被定义为数据/地址的低八位。在 FIASH 编程时,P0 口作为原码输入口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须接,上拉电阻。 P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输 出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下 拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时,P1 口作为低八位地址接收。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并 因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。 P2 口用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的 高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进 行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八 位地址信号和控制信号。 P3 口:P3 口管脚是带 8 个内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入, 由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。 P3 口也可作 为 AT89C51 的一些特殊功能口,如下表(表 3-1)所示: P3 口同时为闪烁编程和编程校验接收一些控制信号。 图 2-7 AT89C51 管脚图 大连交通大学 2012 届本科生毕业设计 10 RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时 间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地 位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率 周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或 用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX,MOVC 指 令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁 止,置位无效。 表 2-1 P3 口的第二功能 引引 脚脚第二功能第二功能信信 号号 名名 称称 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 RXD TXD INT0 INT1 T0 T1 WR RD 串行数据接收 串行数据发送 外部中断 0 请求 外部中断 1 请求 定时器/计数器 0 计数输入 定时器/计数器 1 计数输入 外部 RAM 写选通 外部 RAM 读选通 PSEN:外部程序存储器的选通信号。在由外部程序存储器取值期间,每个机器 周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。 EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH) ,不 管是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET;当/EA 保持 高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电 源(VPP) 。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 振荡器特性:XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器可 以配置为片内振荡器。石英振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件, XTAL2 应不接。其余输入到内部时钟信号要通过一个二分频触发器,因此对外部时钟信 号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 大连交通大学 2012 届本科生毕业设计 11 芯片擦除:整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合, 并保持 ALE 管脚处于低电平 10ms 来完成。在芯片擦除操作中,代码阵列全被写“1” 且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外,AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软 件可选的掉电模式。在闲置模式下,CPU 停止工作。但 RAM,定时器,计数器,串口和 中断系统仍在工作。在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止所用其他 芯片功能,直到下一个硬件复位为止。 2.3.2 时钟电路 时钟电路(图3-8)是计算机的心脏,它控制着计算机的工作节奏。MCS-51单片机允 许的时钟频率是因型号而异的典型值为12MHZ MCS-51内部都有一个反相放大器,XTAL1、XTAL2分别为反相放大器输入和输出端, 外接定时反馈元件以后就组成振荡器,产生时钟送至单片机内部的各个部 件。AT89C51是属于CMOS8位微处理器,它的时钟电路在结构上有别于NMOS型的单片机。 CMOS型单片机内部(如AT89C51)有一个可控的负反馈反相放大器,外接晶振(或 陶瓷谐振器)和电容组成振荡器,图3-8为CMOS型单片机时钟电路框图。 振荡器工作受/PD端控制,由软件置“1”PD(即特殊功能寄存器PCON.1)使 /PD0,振荡器停止工作,整个单片机也就停止工作,以达到节电目的。清“0”PD, 使振荡器工作产生时钟,单片机便正常运行。电容C1和C2的作用有两个:其一是使振 荡器起振,其二是对振荡器的频率f起微调作用(C1、C2大,f变小) ,其典型值为 20pF。 图2-8 时钟电路 2.3.3复位电路 MCS-51 单片机复位电路是指单片机的初始化操作。单片机启动运行时,都需先复 位,其作用是 CPU 和系统中其它部件处于一个确定的初始状态,并从这个状态开始工 作。因此复位电路是一个很重要的操作方式。但是单片机又不能自动进行复位,必须 配合相应的外部电路进行实现。 复位电路的基本功能是: 大连交通大学 2012 届本科生毕业设计 12 系统上电提供复位信号,直到系统电源稳定后,撤销复位信号。为可靠起见,电 源稳定后还要经过一定的延时才能撤销复位信号,以防止电源开关或电源插头分合过 程中的抖动而影响复位。 单片机的复位是由外部电路实现的。片内复位电路是复位引脚 RST 通过一个斯密 特触发器与复位电路相连接,斯密特触发器又来抑制噪声,它的输出在每个机器周期 的 S5P2,有复位电路采样一次。复位电路通常采用上电复位(图 2-9(a) )和按钮复位 图 2-9 复位电路 (图 2-9(b) )两种方式。 单片机复位后状态: 单片机的复位操作时是单片机进入初始化状态,其中包括是程序计数器 PC0000H,这 表示程序从 0000H 地址单元开始执行。单片机冷启动后,片内 RAM 为随机值,运行中 的复位操作不改变片内 RAM 区中的内容,21 个特殊功能寄存器复位后的状态为确定值, 见(表 2-2)值得指出的是,记住一些特殊功能寄存器复位后的状态,对于了解单片机的 初态,减少应用程序中的初始化部分是十分重要的。 表 2-2 一些特殊功能寄存器的复位状态 特殊功能寄存器初始状态特殊功能寄存器初始状态 A00HTMOD00H B00HTCON00H PSW00HTH000H SP07HTL000H DPL00HTH100H DPH00HTL100H P0-P3FFHSBUF不定 IP*00000BSCON00H 大连交通大学 2012 届本科生毕业设计 13 IE0*00000BPCON0*B 2.4 显示器 显示电路采用 LCD1602 型液晶显示器,能够同时显示 16x02 即 32 个字符。 (16 列 2 行) (注:为了表示的方便 ,后文皆以 1 表示高电平,0 表示低电平。 ) 3.1 LCD1602 引脚如图 2-10 所示 2.4.1 引脚说明 1602 字符型 LCD 通常有 14 条引脚线或 16 条引脚线的 LCD,多出来的 2 条线 是 L+、L-,其功能是背光电源线, VCC(15 脚)和地线 GND(16 脚),其控制原理与 图 2-10 LCD1602 引脚 14 脚的 LCD 完全一样。 表 2-3 引脚说明 引 脚 符 号 功能说明 1VSS一般接地 2VDD接电源(+5V) 3VEE 液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度 最高(对比度过高时会产生“鬼影” ,使用时可以通过一个 10K 的电位 器调整对比度) 。 4RSRS 为寄存器选择,高电平 1 时选择数据寄存器、低电平 0 时选择指令 寄存器。 5R/WR/W 为读写信号线,高电平 1 时进行读操作,低电平 0 时进行写操作。 6EE(或 EN)端为使能(enable)端,下降沿使能。 7DB0低 4 位三态、 双向数据总线 0 位(最低位) 8DB1低 4 位三态、 双向数据总线 1 位 9DB2低 4 位三态、 双向数据总线 2 位 10DB3低 4 位三态、 双向数据总线 3 位 11DB4高 4 位三态、 双向数据总线 4 位 12DB5高 4 位三态、 双向数据总线 5 位 13DB6高 4 位三态、 双向数据总线 6 位 14DB7高 4 位三态、 双向数据总线 7 位(最高位) (也是 busy flag) 大连交通大学 2012 届本科生毕业设计 14 15L+背光电源正极 16L-背光 电源负极 1602 液晶模块内部的字符发生存储器( CGROM)已经存储了 160 个不同的点阵 字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假 名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是 01000001B(41H),显示时模块把地址 41H 中的点阵字符图形显示出来,我们就 能看到字母“A”。 因为 1602 识别的是 ASCII 码,试验可以用 ASCII 码直接赋值,在单片机编程 中还可以用字符型常量或变量赋值,如 A。以下是 1602 的 16 进制 ASCII 码表 (表 2-5): 表 2-5 ASCII 表 2.4.2 寄存器选择控制表 表 2-4 寄存器选择控制表 RSR/W操作说明 00写入指令寄存器(清除屏等) 01读 busy flag(DB7) ,以及读取位地址计数器(DB0DB6)值 10写入数据寄存器(显示各字型等) 11从数据寄存器读取数据 注:关于 E=H 脉冲开始时初始化 E 为 0,然后置 E 为 1,再清 0. busy flag(DB7):在此位为 1 时,LCD 忙,将无法再处理其他的指令要求。 2.4.3 显示地址 表 2-6 显示地址 12345678910111213141516 大连交通大学 2012 届本科生毕业设计 15 00 H 01 H 02 H 03 H 04 H 05 H 06 H 07 H 08 H 09 H 0A H 0B H 0C H 0D H 0E H 0F H 40 H 41 H 42 H 43 H 44 H 45 H 46 H 47 H 48 H 49 H 4A H 4B H 4C H 4D H 4E H 4F H 2.4.4 指令集 1602 通过 D0D7 的 8 位数据端传输数据和指令。 显示模式设置: (初始化) 0011 1000 0 x38 设置 162 显示,57 点阵,8 位数据接口; 显示开关及光标设置:(初始化) 0000 1DCB D 显示(1 有效)、C 光标显示(1 有效)、B 光标闪烁(1 有效) 0000 01NS N=1(读或写一个字符后地址指针加 1 &光标加 1), N=0(读或写一个字符后地址指针减 1 &光标减 1), S=1 且 N=1 (当写完一个字符后,整屏显示左移) s=0 当写完一个字符后,整屏显示不移动 数据指针设置: 数据首地址为 80H,所以数据地址为 80H+地址码(0-27H,40-67H) 其他设置: 01H(显示清屏,数据指针=0,所有显示=0);02H(显示回车,数据指针=0)。 通常推荐的初始化过程: 延时 15ms 写指令 38H 延时 5ms 写指令 38H 延时 5ms 写指令 38H 延时 5ms (以上都不检测忙信号) (以下都要检测忙信号) 写指令 38H 写指令 08H 关闭显示 写指令 01H 显示清屏 写指令 06H 光标移动设置 写指令 0cH 显示开及光标设置 完毕 大连交通大学 2012 届本科生毕业设计 16 第三章 软件设计 硬件电路完成以后,进行系统的软件设计。首先要分析系统对软件的要求,然后 进行软件的总体设计,包括程序的总体设计和对程序的模块化设计。按整体的功能分 为多个不同的模块,单独设计、编译。 软件设计思路及过程 单片机转速测量可以分若干模块,然后在主程序中调用各个模块, 3.1 计算机程序设计思路 转速的计算公式: N=600Md/1000Td(r/min) 其中,N 是所转转速,Md 为单片机所接收到的脉冲数,存储在 TH1,TL1 中; Td 为定时时间,它是由定时器的计数值 n 乘以机器周期 Tc 所得,因单片机的时钟 频率为 12MHZ 则: Tc=12/12MHZ=1us 以下简要介绍转速是如何获得的: 转速测量先进行初始化,启动计数器和定时器,当中断到来时,读取 TH1,TL1 的 数值并存在指定的位置,通过函数计算程序得到转速,而此时的转速值并不能直接在 显示器上显示出来,其必须转换成非压缩 BCD 码后,才能调用查表程序,最后显示。 其主流程图如下图 3-1 示。 大连交通大学 2012 届本科生毕业设计 17 计算程序 显示程序 BCD 码转换 初始化 开始 返回 图 3-1 主流程图 定时/计数器、中断设置: AT89C51 有两个定时/计数器 T0 和 T1,每个定时/计数器均可设置成为 16 为,也 可设置成为 13 位进行计数或定时。计数器的功能是对 T0 或 T1 外来的脉冲进行计数, 外部输入脉冲负跳变时,计数器进行加 1。 定时器功能是通过计数器实现的,每个机器周期产生 1 个计数脉冲,即每个计数 周期计数器加 1,因此定时时间等于计数个数乘以机器周期。定时器工作时,每接受到 1 个脉冲,则在设定的初值的基础上自动加 1,当所有位都为 1 时,再加 1 就会产生溢 出,将向 CPU 提出定时器溢出的中断请求申请。当定时器采用不同的工作方式和设置 不同的初值时,产生溢出中断的定时值和计数值不同,从而可以适应不同的定时或计 数控制。 定时器有四种工作方式:方式 0,、方式 1、方式 2、方式 3,在此不作具体介绍。 表 3-1 工作方式寄存器 TMOD 的设定 GATEC/TM1M0GATEC/TM1M0 TMOD 各位的含义如下: GATE:门控位,用于控制定时/计数器的启动是否受外部中断请求信号的影响。 C/T:定时或计数方式选择位,当 C/T=1 时工作于计数方式;当 C/T=0 时工作于定时 方式。 M1、M0 为工作方式选择位,用于对 T0 的四种工作方式、T1 的三种的工作方式进行 选择,选择情况如下表:M1M0=00 为方式 0、M1M0=01 为方式 1; 表 4-2 M1、M0 工作方式选择位 M0M1工作方式方式说明 00013 位定时/计数器 01116 位定时/计数器 1028 位自动重置定时/计数器 113两个 8 位定时/计数器(只有 T0 有) 中断允许控制:MCS51 单片机中没有专门的开中断指令,对各个中断源的允许和屏 蔽是由内部的进中断允许寄存器 IE 的各位来控制的。中断允许寄存器 IE 的字节地址 大连交通大学 2012 届本科生毕业设计 18 为 A8H,可以进行位寻址。 表 3-3 中断位寻址表 IED7D6D5D4D3D2D1D0 (A8H)EAET2ESET1EX1ET0EX0 EA:中断允许控制位,EA=0,屏蔽所有中断请求;EA=1,开放中断。 ET2:定时器/计数器 T2 的溢出中断允许 ES:串行口中断允许位。 ET1:定时器/计数器 T1 的益处中断允许位。 EX1:外部中断 INT1 的中断允许位。 ET0:定时器/计数器 T0 的溢出中断允许位。 EX0:外部中断 INT0 的中断允许位。 3.2 程序流程图 由于本次设计的系统要实现的功能是将光电编码器的信号送到单片机的外部中断 口,再对周期方波进行内部计数,调用计算程序把转速测出来。 1. 计数流程图: 开定时器 开始 到 0.1S? 把计数器值存入到指定位 置,重新装初始值并启动 定时器 开计数器 初始化 图 3-2 计数流程图 3.BCD 码转换流程图: 大连交通大学 2012 届本科生毕业设计 19 开始 给出要转换的二进制数 保存百位数 保存十位数 将余数再除以十,得十位数 将数除以一百的百位数 余数为个位数,将其保存 结束 图 3-3 BCD 码转换流程图 4.显示流程图 入口 对 1602 初始化,写 入显示设置命令 延时 获得显示 RAM 地址 写入相应数据 检测是否 忙? 数字显示 完毕? 返回主程序 延时 图 3-5 显示流程图 大连交通大学 2012 届本科生毕业设计 20 第四章 系统调试 电路调试是整个系统功能能否实现的关键步骤,我们将整个调试过程分为三大部 分:硬件调试、软件调试和综合调试。 4.1 硬件调试 硬件调试主要是针对我的转速测量系统的单片机硬件电路分别进行调试。这一部 分硬件调试主要分成两大块:上电前的调试和上电后的调试。 上电前的调试 在上电前,我们必须确保电路中不存在断路或短路情况,这一工作是整个调试工 作的第一步,也是非常重要的一个步骤。在这部分调试中主要使用的工

温馨提示

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

评论

0/150

提交评论