基于单片机的数字示波器设计.doc_第1页
基于单片机的数字示波器设计.doc_第2页
基于单片机的数字示波器设计.doc_第3页
基于单片机的数字示波器设计.doc_第4页
基于单片机的数字示波器设计.doc_第5页
免费预览已结束,剩余53页可下载查看

下载本文档

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

文档简介

河南理工大学万方科技学院本科毕业论文摘 要 示波器是电子测量中一种最常用的仪器,被广泛应用于各个领域。随着微电子技术和计算机技术的飞速发展,示波器也从模拟示波器向数字示波器发展。同模拟示波器相比,数字示波器具有很多优点,并开始逐步取代模拟示波器,成为市场上的主流。 本文主要完成了简易数字示波器的设计,包括硬件设计和软件设计两大部分。 硬件设计上,信号波形采集采用的是12位逐次逼近型A/D转换器AD574A,转换时间为时间为25US,转换精度小于等于0.05%。控制器选用AT89C52及AT89C51两个单片机,解决了一般示波器使用一片单片机,运行速度明显不足的问题。波形显示部分采用液晶显示模块,具有简单易实现、显示效果好等优点。频率显示部分采用的是6位数码管显示,简单易行。 Proteus仿真表明,该设计运算速度明显提高。频率显示准确,可以实现快速读取。该示波器可以实现对模拟带宽为0.1KHz20KHz的模拟信号的波形好频率的实时显示。关键词:单片机; 实时采样;波形;频率AbstractAn oscilloscope is electronic measurement instrument, the most commonly used widely applied in various fields. With microelectronics and computer technology rapid development from analogue oscilloscope, oscilloscope to digital oscilloscopes development. Compared with analogue oscilloscope,digital oscilloscopes start has many advantages, and gradually replacing analogue oscilloscope, become the mainstream in the market. This paper has completed the design of simple digital oscilloscopes, including hardware design and software design. The hardware design, the signal waveform sampling by 12 successive approximation of the A/D converter AD574A conversion time, for time is less than or equal to 25US conversion, precision 0.05%. Controller chooses AT89C52 and single-chip microcomputer, solve the two AT89C51 single-chip microcomputer, a commonly used oscilloscope shortage problem running speed. Waveform display part adopts LCD module is simple and easy to realize and shows good effect, etc. Frequency display part adopts is six digital display, simple tube. Proteus simulation shows that the design speed increased significantly. Frequency display correctly, can achieve rapid read. This can make the oscilloscope bandwidth for 0.120KHz to simulate the analog signal waveform 20KHz frequency of good real-time display.Keywords:SCM ; Real-time sampling; waveform;frequencyI目 录 前 言11 数字示波器3 1.1 数字示波器31.2 本设计所要实现的目标41.3 设计内容42 系统设计53 数字示波器的硬件设计与实现63.1 频率测量及显示电路的硬件设计63.1.1 测频电路总体构成63.1.2 信号调理电路设计63.1.3 数码管显示模块93.1.4 数码管显示驱动模块103.2 幅度测量及显示模块的硬件设计113.2.1 显示电路总体结构203.2.2 单片机外围电路设计223.2.3 信号波形采集模块243.2.4 显示模块273.2.5 电源设计304 系统软件设计314.1 测频系统软件设计314.2 信号采集系统软件图334.3 波形显示系统软件设计345 调试及仿真366 结 论38致 谢39参考文献40附录一:系统总体接线图41附录二:频率测量子系统流程图42附录三:信号显示子系统流程图43附录四:频率测量系统程序清单44附录五:波形显示系统程序清单48前 言示波器是现代电子测量中最常用的仪器,它是一种可以用来观察、测量、记录各种瞬时电压,并以波形方式显示其与时间关系的电子仪器。这一简单的波形能够说明信号的许多特性:信号的时间和电压值、振荡信号的频率、信号所代表电路中“变化部分”信号的特定部分相对于其它部分的发生频率、是否存在故障部件使信号产生失真、信号的直流成份和交流成份、信号的噪声值和噪声随时间变化的情况、比较多个波形信号等。示波器的直观显示效果有助于对被测对象的深入理解。典型的示波器产生一个二维的波形,输入端接收电压信号显示在v轴方向上,而时间参数则显示在x轴方向上。传统的示波器是模拟的,用CRT作为显示器件。在电子枪内形成电子束,经过加速、聚焦,然后打在荧屏上,使受撞点发出可见光。 模拟示波器对于非周期性的单次瞬变信号的观测是非常困难的,有时甚至是不可能的。为了将各种信号无失真地显示并存储,就必须采用数字技术。数字存储示波器(DSO, Digital Storage Oscilloscope)是随着模一数转换器(ADC)的发展而趋于实用化的示波器。ADC把输入示波器的瞬时值转化为对应数字值,并保存在数字示波器中。采集完成后,从数字示波器中取出这一系列数字,经过适当处理后再现电压对时间的波形。由于数字存储示波器与计算机技术的紧密结合。使其发展非常迅速,目前以成为示波器市场上的主流产品,并逐渐地完全取代模拟示波器。 单片机是为满足工业控制而设计的,所以实时控制功能特别强,其CPU可以对I/O接口直接进行操作,位操作能力更是其它计算机无法比拟的。另外,由于CPU、存储器及I/O接口集成在同一芯片内,各部件间的连接紧凑,数据在传输时受到的干扰较小,且不易受环境条件的影响,所以单片机的可靠性非常高。 近期推出的单片机产品,内部集成有高速I/O接口、ADC、PWM、WDT等部件,并在低电压、低功耗、串行扩展总线、控制网络总线和开发方式(如在系统编程ISP)等方面都有了进一步的增强。单片机体积小、价格低、可靠性高,其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势。目前,单片机应用技术已经成为电子应用系统设计最为常用的技术手段,学习和掌握单片机应用技术具有极其重要的现实意义。1 数字示波器 1.1 数字示波器数字示波器是数据采集,A/D转换,软件编程等一系列的技术制造出来的高性能示波器。数字示波器一般支持多级菜单,能提供给用户多种选择,多种分析功能。还有一些示波器可以提供存储,实现对波形的保存和处理。目前高端数字示波器主要依靠美国技术,对于300MHz带宽之内的示波器,目前国内品牌RIGOL做的示波器在性能上已经可以和国外品牌抗衡,且具有明显的性价比优势。数字示波器因具有波形触发、存储、显示、测量、波形数据分析处理等独特优点,其使用日益普及。由于数字示波器与模拟示波器之间存在较大的性能差异,如果使用不当,会产生较大的测量误差,从而影响测试任务。带宽是示波器最重要的指标之一。模拟示波器的带宽是一个固定的值,而数字示波器的带宽有模拟带宽和数字实时带宽两种。数字示波器对重复信号采用顺序采样或随机采样技术所能达到的最高带宽为示波器的数字实时带宽,数字实时带宽与最高数字化频率和波形重建技术因子K相关(数字实时带宽=最高数字化速率/K),一般并不作为一项指标直接给出。从两种带宽的定义可以看出,模拟带宽只适合重复周期信号的测量,而数字实时带宽则同时适合重复信号和单次信号的测量。厂家声称示波器的带宽能达到多少兆,实际上指的是模拟带宽,数字实时带宽是要低于这个值的。例如说TEK公司的TES520B的带宽为500MHz,实际上是指其模拟带宽为500MHz,而最高数字实时带宽只能达到400MHz远低于模拟带宽。所以在测量单次信号时,一定要参考数字示波器的数字实时带宽,否则会给测量带来意想不到的误差。 随着电子技术的发展,数字示波器凭借数字技术和软件大大扩展了工作能力,早期产品的取样率低、存在较大死区时间、屏幕刷新率低等不足得到较大改善,以前难以观察的调制信号、通讯眼图、视频信号等复合信号越来越容易观察。数字示波器可以对数据进行运算和分析,特别适合于捕获复杂动态信号中产生的全部细节和异常现象,因而在科学研究、工业生产中得到了广泛的应用。为了让示波器工作在合格的状态,对示波器定期、快速、全面的检定,保证其量值溯源,是摆在测试工程师面前的一项紧迫任务。手工检定效率低,容易出错,对每一种示波器的检定需要测试工程师翻阅大量的资料;自动测试系统具有准确快速地测量参数、直观地显示测试结果、自动存储测试数据等特性,是传统的手工测试无法达到的。用自动测试系统实现对示波器的程控检定将会是仪器检定的趋势。1.2 本设计所要实现的目标本文设计的目的主要是利用A/D转换模块、控制器(本文中采用单片机)、液晶显示模块等配合外围电路实现对输入量的波形和频率显示。用户只需要把待测信号输入转换器,不用其他的操作,示波器自动在显示器上显示波形和频率1.3 设计内容在本设计中,硬件设计分为两个部分波形显示电路和频率显示电路,波形显示电路中,首先使用A/D转换器,对输入的模拟信号数字化,以使单片机能够识别,同时,还要使用单片机控制A/D转换器。对于A/D转换器采样的数据,经过转换之后单片机可以直接读取,对于读取的数据,通过单片机输出,经过显示器,直接显示波形。频率显示电路中,利用外围电路对信号进行采集,转换为高低电平之后,单片机读取,输出,利用数码管显示频率2 系统设计在本系统设计中,主要包括两大部分:1)信号频率测量系统;2)信号波形显示系统。见图2-1和图2-2。图2-1 测频电路方框图 图2-2 信号波形显示系统框图 3 数字示波器的硬件设计与实现3.1 频率测量及显示电路的硬件设计该部分主要由前端电路、控制器AT89C51、数码管显示电路三部分组成。 3.1.1 测频电路总体构成测频电路由前端放大电路,整流电路,以及显示电路,通过AT89C51单片机控制,达到只要有输入信号,就能正确的显示信号频率。接线图见图3-1 图3-1测频电路总接线图 3.1.2 信号调理电路设计信号调理电路主要包括同相比例放大电路和整流电路两部分。同相比例放大电路运算放大器(常简称为“运放”)是具有很高放大倍数的电路单元。在实际电路中,通常结合反馈网络共同组成某种功能模块。由于早期应用于模拟计算机中,用以实现数学运算,故得名“运算放大器”,此名称一直延续至今。运放是一个从功能的角度命名的电路单元,可以由分立的器件实现,也可以实现在半导体芯片当中。随着半导体技术的发展,如今绝大部分的运放是以单片的形式存在。现今运放的种类繁多,广泛应用于几乎所有的行业当中。本系统中同相比例放大的实现是电压放大电路根据输入电压幅值的不同范围分为八个档,输入电压幅值在0-5V之间,八个档分别是0.15V0.2V、0.2V0.3V、0.3V0.5V、0.5V0.8V、0.8V1.2V、1.2V1.6V、1.6V2.5V、2.5V3.2V,放大倍数依次为25、16、10、6、4、3、2、1.4。运放采用LM1875T高精度高速低噪声运算放大器。电路结构采用同相比例放大电路,即放大电路的输入信号由同相输入端接入,反馈电阻一端接运放的输出,一端接运放的反相输入端,反相输入端通过一电阻接地。反馈网络由八个电阻并联组成,且每个反馈电阻与运放输出之间由一单刀双掷开关连接,形成八档。设反相端接地的电阻为R1,反馈电阻为Rp,设放大倍数为Ai ,i从0取到7,依次对应前面的八档。由于放大器的开环放大倍数(即开环增益)很大,则由运放的深度负反馈的原理得同相比例放大电路的闭环放大增益Ai与电阻R1和反馈电阻Rp的关系如下:。由该公式可知,若R1为1千欧,结合各档所需放大倍数,则得Rpi(i从0取到7)依次为24、15、9、5、3、2、1、0.4单位均为千欧。运算放大电路接线图如图3-2所示 图3-2 放大电路接线图整流电路 由于输入信号可能很小,而本文采用的整流器件是光耦P521,其输入端内部是发光二极管,所以输入信号若太小就不能驱动该二极管,光耦就不能正常工作,所以必须有电压放大电路。 放大电路保证了光耦正常工作所需的电压,但通过光耦的电流不应超过光耦中发光二极管的额定电流,故在运放输出端与光耦之间接入一较大电阻限流。 要利用单片机的端口进行频率测量,就必须把待测信号转换成满足单片机要求的方波脉冲信号。在本文中,光耦P521的使用就是为了实现这一要求。光耦P521的1、2两脚为输入,在内部1脚接发光二极管的阳极,2脚接发光二极管的阴极,3、4脚为输出端,内部为一光敏三极管,3脚接三极管的集电极,4脚接发射极。所以当输入信号的正半部分通过使输入端的发光二极管导通发光时,输出端的光敏三极管在二极管发出的光的作用下导通,当二极管截止时,光敏三极管也截止,随着输入信号的变化,光敏三极管随着导通截止,这样在输出端就产生了频率和输入信号相同的方波信号。整流电路见图3-3。 图3-3 整流电路接线图 3.1.3 数码管显示模块 本系统该部分的数据显示采用数码管动态显示。动态显示的接线见图3-4。 本系统中控制器AT89C51的P0口用作字形口,P2口用作字位口。对应本文电路中的八位LED显示器,89C51单片机内部RAM中设置了8个显示缓冲单元0072H0079H,存放8位欲显示的字符数据。89C51单片机的P2口扫描输出总是有一位为高电平,以选中相应的字位。单片机的P1口输出相应位的显示字符段数据,使该位显示出相应字符,其它位为暗。依次改变P2口输出为高电平的位及P0口输出对应的段数据,8位LED显示器就可以显示出缓冲器中字符数据所确定的字符。 3.1.4 数码管显示驱动模块数码管显示驱动选用74LS245集成模块。74LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。 74LS245还具有双向三态功能,既可以输出,也可以输入数据。 1.当8051单片机的P0口总线负载达到或超过P0的最大负载能力时,必须接入74LS245等总线驱动器。 2. 当片选端/CE低电平有效时,DIR=“0”,信号由 B 向 A 传输;(接收) 3.DIR=“1”,信号由 A 向 B 传输;(发送)当/CE为高电平时,A、B均为高阻态。由于P2口始终输出地址的高8位,接口时74LS245的三态控制端/1G和/2G接地,P2口与驱动器输入线对应相连。P0口与74LS245输入端相连,/E端接地,保证数据现畅通。8051的/RD和/PSEN相与后接DIR,使得/RD或/PSEN有效时,74LS245输入(P0.iDi),其它时间处于输出(P0.iDi)。具体接线图见图3-4 图3-4 显示模块接线图3.2 幅度测量及显示模块的硬件设计显示电路主要包括转换电路,显示电路,以及外围电路。所实现的功能是只要有信号输入,不需要调节就能直接显示出信号波形。本设计中使用的主控芯片是AT89C52。AT89C52AT89C52是 ATMEL公司生产的低电压,高性能CMOS 8位单片机。片内含8K bytes的可反复擦写的只读程序存储器(PEROM)和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及80C52 产品引脚兼容,片内置通用8位中央处理器(CPU )和FLASH由存储单元,功能强大AT89C52单片适用于许多较为复杂控制应用场合。 主要工作特性: 与MCS-51和80C52产品指令和引脚完全兼容; 片内程序存储内含8KB的FLASH程序存储器,1000 次可擦写周期; 其工作频率 全静态操作:0HZ-24MHZ; 具有可编程的3级加密程序锁定位; 片内数据存储器内含256字节的RAM; 具有32根可编程I/O口线; 具有3个16 位可编程定时计数器; 中断系统具有8个中断源 6个中断矢量 2级优先权的中断机构; 低功耗的工作模式有空闲模式和掉电模式; 串行口是具有一个全双工的可编程串行通信口; 具有一个数据指针DPTR。功能特性概述: AT89C52 提供以下标准功能:片内程序存储内含8KB的FLASH程序存储器,片内数据存储器内含256字节的RAM, 32个I/O口线,3个16 位定时计数器,中断系统具有8个中断源 6个中断矢量,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU 的工作,但允许RAM,定时计数器串行通信口及中断系统继续工作。掉电方式保存RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位.功能引脚说明: Vcc:电源电压 GND:地 P0:P0口是一组8位漏极开路型双向I/O 口,也即地址/数据总线复用口。作为输出口用时每位能吸收电流的方式驱动8个TTL 逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。 在FLASH由编程时,P0口接收指令字节,而在程序校验时,输出指令字 节,校验时,要求外接上拉电阻。 P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻某个引脚被外部信号拉低时会输出一个电流IIL与AT89C51不同之处是,P1.0 和P1.1还可分别作为定时/计数器2 的外部计数输入(P1.0/T2 )和输入(P1.1/T2EX) , FLASH编程和程序校验期间,Pl接收低8位地址,如下表1-1。 表3-1 P1 引脚的特殊功能引脚号功能特性P1.0T2(定时/计数器2外部计数脉冲输入),时钟输出。P1.1T2EX(定时/计数2捕获/重装载触发和方向控制) P2口:P2 是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑电路。对端口P2写“1,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(llt )。 在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR 指令)时,P2送出高8 位地址数据。在访问8位地址的外部数据存储器、如执行MOVXRI指令)时,P2口输出P2锁存器的内容。 FLASH编程或校验时,P2亦接收高位地址和一些控制信号。 P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL) . P3口除了作为一般的I/0口线外,更重要的用途是它的第二功能,如表3-2所示: 表3-2 p3口的第二功能端口引脚第二功能P3.0RXD(串行口输入)P3.1TXD(串行口输出)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时/计数0)P3.5T1(定时/计数1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通) 此外,P3口还接收一些用于FLASH闪速存储器编程和程序校验的控制信号。 RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。 ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。 对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。 如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活,此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。 PSEN:程序储存允许PSEN输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000H-FFFFH ) , EA端必须保持低电平(接地)需注怠的是:如果加密位LBI被编程,复位时内部会锁存EA端状态。 如EA端为高电平(接Vcc端), CPU则执行内部程序存储器中的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源VPP ,当然这必须是该器件是使用12V编程电压VPP 。 XTAL1:振荡器反相放大器的及内部时钟发生器的输入端 XTAL1:振荡器反相放大器的输出端。 特殊功能寄存器: 在AT89C52片内存储器中,80H-FFH共128个单元为特殊功能寄存器(SFE ) , SFR的地址符号及复位 如表3-3所示。并非所有的地址都被定义,从80H-FFH共128 个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数位将不确定,而写入的数据也将丢失。 不应将数据1写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。表3-3 AT89C52 SFR 符号及复位状态地址符号及复位80HP0 11111111SP 00000111DPL00000000DPH 00000000PCON0*000088HTCON 00000000TMOD 00000000TL0 00000000TL1 000000000TH0 00000000TH1 0000000090HP1 1111111198HSCON 0000000SBUF *0A0HP2 111111110A8HIE 0*0000000B0HP3 111111110B8HIP *0000000C0H0C8HT2CON 00000000T2MOD *000000RCAP2L 00000000RCAP2H 00000000TL2 00000000TH2 000000000D0HPSW 000000000D8H0E0HACC 000000000E8H0F0HB 000000000F8H AT89C52除有定时/计数器0和定时/计数器1 外,还有定时/计数和状态位位于T2CON (参见表3-4) T2CON(参见表3-5) ,寄存器对(RCA02H、RCAP2L)是定时器2在16 位捕获方式或16位自动重装载方式下的捕获/自动重装载寄存器。T2CON地址=0C8H 复位值=0000 0000B可寻地址表3 -4定时/计数器2控制寄存器T2CONTF2EXF2RCKTCLKEXEN2TR2C/T2CP/RL276543210符号功能TF2定时器2溢出标志。定时器2溢出时,又由硬件置位,必须由软件 清0,当RCLK=1或TCLK=1时,定时器2溢出,不对TF2置位。EXF2定时器2外部标志。当EXEN21,且当T2EX引脚上出现负跳变而出现捕获或重装载时,EXF2置位,申请中断此时如果允许定时器2中断,CPU响应中断,执行定时器2中断服务程序,EXF2必须由软件清除。当定时器2工作在向上或向下计数工作方式时(DCEN=1) , ExF2不能激活中断。RCLK接收时钟允许。RCLK=1时用定时器2溢出脉冲作为串行口(工作于工作方式1或3时)的接收时钟,RCLK=0,用定时器l的溢出脉冲作为接收时钟 。TCLK发送时钟允许。TCLK=1时,用定时器2溢出脉冲作为串行口(工作于工作方式1或3时)的发送时钟,RCLK=0 用定时器l的溢出脉冲作为发送脉冲。EXEN2定时器2外部允许标志。当EXEN2=1时,如果定时器2未用于作串行口的波特率发生器,在T2EX端出现负跳变脉冲时,激活定时器2 捕获或重装载EXEN2=0,T2EX端的外部信号无效TR2定时器2启动/停止控制位。TR2=l时,启动定时器2 。C/T2定时器2定时方式或计数方式控制位。C/T20,选择定时方式。C/T21时,选择对外部事件计数方式(下降沿触发)。CP/RL2捕获/重装载选择。CP/RL2=l时,如EXEN2=l且T2EN双端出现负跳变脉冲时发生捕获操作。CP/RL2=0时,若定时器2溢出或EXEN2l条件下,T2EN双端出现负跳变脉冲,都会出现自动重装载操作。当RCLK=1或TCLK=1时,该位无效,在定时器2溢出时强制其自动重装载。 中断寄存器: AT89C52有8个中断源2个中断优先级,lE寄存器控制各中断位,lP寄存器中8个中断源的每一个可定为2个优先级。 数据存储器: AT89C52有256个字节的内部RAM , 80HFFH高128个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128字竹的RAM和殊功能寄存器的地址是相同的,但物理上它们是分开的。 当一条指令访问7FH以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128字节RAM还是访问特殊功能寄存器。如果指令是直接寻址方式则为访问特殊功能寄存器 例如,下面的直接寻址指令访问特殊功能寄存器0A0H(即P2口)地址单元。MOV 0A0H ,#data 间接寻址指令访问高128字节RAM ,例如下面的间接子址指令中,R0的内容为OAOH ,则访问数据字节地址为0A0H , 而不是P2口(0A0H )。 MOV RO ,#data 堆栈操作也是间接寻址方式,所以,高128位数据RAM亦可作为堆栈区使用。 定时器O和定时器1AT89C51的定时器O和定时器1的工作方式: 定时2定时器2是一个16位定时计数器。它既可当定时器使用,也可作为外部事件计数器使用,其工作方式由特殊功能寄存器T2CON(如表3-5 )的C/T2位选择。定时器2有三种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2CON的控制位来选择,参见表3-5 表3-5 定时器2工作方式RCLX+TCLKCP/RL2TR2MODE00116-bit auto-reload01116-bit Capture1X1Baud Rate GeneratorXX0(off) 定时器2由两个8位寄存器TH2和TL2组成,在定时器工作方式中,每个机器周期TL2寄存器的值加1 ,由于一个机器周期由12个振荡时钟构成,因此,计数速率为振荡频率的1/l2 。 在计数工作方式时,当T2引脚上外部输入信号产生由1至O的下降沿时,寄存器的值加1,在这种工作方式下,每个机器周期的5SP2期间,对外部输入进行采样。若在第一个机器周期中采到的值为1,而在下一个机器周期中采到的值为0 , 则在紧跟着的下一个周期的S3P1期间寄存器加l 。由于识别1至0的跳变需要2个机器周期(24个振荡周期),因此,最高计数速率为振荡频率的1/24 为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输入信号至少被采样一次 中断:AT89C52共有6个中断向量:两个外中断(INT0和INTI) , 3个定时器中断(定时器0、l、2)和串行口中断。这些中断源可通过分别设置专用寄存器IE的置位或清0来控制每一个中断的允许或禁止。IE也有一个总禁止位EA , 它能控制所有中断的允许或禁止。3.2.1 显示电路总体结构 波形显示电路主要是AD转换电路,显示模块,见图3-5。 图3-5 波形显示总接线图 3.2.2 单片机外围电路设计 晶振电路AT89C52引脚XTAL1和XTAL2与晶体振荡器Y1及电容C1、C2按图3-6所示方式连接。晶振、电容C1C2及片内与非门(作为反馈、放大元件)构成了电容三点式振荡器,振荡信号频率与晶振频率及电容C1、C2的容量有关,但主要由晶振频率决定,范围在033MHz之间,电容C1、C2取值范围在530pF之间。根据实际情况,本设计中采用12MHZ做为系统的外部晶振。电容取值为30pF。 图3-6 晶振部分接线图复位电路: 单片机复位是使CPU和系统中的 其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后PC0000H,使单片机从第个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。在复位期间(即RST为高电平期间),P0口为高阻态,P1P3口输出高电平;外部程序存储器读选通信号PSEN无效。地址锁存信号ALE也为高电平。根据实际情况选择如图3-7所示的复位电路,该电路在最简单的复位电路下增加了手动复位按键,在接通电源瞬间,电容C5上的电压很小,复位下拉电阻R2上的电压接近电源电压,即RST为高电平,在电容充电的过程中RST端电压逐渐下降,当RST端的电压小于某一数值后,CPU脱离复位状态,由于电容C5足够大,可以保证RST高电平有效时间大于24个振荡周期,CPU能够可靠复位。增加手动复位按键是为了避免死机时无法可靠复位。当复位按键按下后电容C5通过R1放电。当电容C5放电结束后,RST端的电位由R1与R2分压比决定。由于R1R2 因此RST为高电平,CPU处于复位状态,松手后,电容C3充电,RST端电位下降,CPU脱离复位状态。R1的作用在于限制按键按下瞬间电容C3的放电电流,避免产生火花,以保护按键触电。具体接线图见图3-7 。图3-7 复位电路图 3.2.3 信号波形采集模块 本文中的信号数据采集器件采用的是A/D转换器AD574。 AD574是美国AD公司生产的12位逐次逼近型A/D转换器,转换时间为时间为25US,转换精度小于等于0.05%。AD574片内配有三态输出缓冲电路,因而可直接与各种典型的8位或16位微处理器接口,且能与CMOS及TTL电平兼容。由于AD574片内包含高精度的参考电压源和时钟电路,从而使该芯片在不需要任何外加电路和时钟信号的情况下完成A/D转换,应用非常方便。AD574A是AD574的改进产品。 AD574A的性能及参数如下: 1)逐次逼近型ADC,可选择工作于,也可工作于8位。转换后的数据有两种读出方式:12位一次读出;8位、4位两次读出; 2)具有可控三态输出缓冲器,数字逻辑输入输出电平位TTL电平; 3)非线性误差:AD574AJ为1LSB,AD574AK为1/2LSB; 4)转换时间:最大转换时间为25US(属于中档速度); 5)输入模拟信号可以是单极性的,也可以是双极性的。单极性时,输入信号范围为0 +10V和0+20V,从不同引脚输入。双极性输入时,信号范围为05V和010V,从不同引脚输入; 6)输出码制:单极性输入时,输出数字量为原码;双极性输入时,输出为偏移二进制码; 7)具有10.000V的高精度内部基准电压源,只需外接一只适当阻值的电阻,便可向DAC部分的解码网络提供参考输入。内部具有时钟产生电路,不需外部接线; 8)需三组电源:+5V、VCC(+12+15V)VEE(-12-15V)。由于转换精度高,所提供电源必须有良好的稳定性,并进行充分滤波,以防止高频噪声的干扰; 9)低功耗:典型功耗为390 MW。 AD574A引脚功能: AD574A为28引脚双列直插式封装,各引脚功能如下: DB11-DB0:12位数据输出线。DB11为最高位,DB0为最低位,它门可由控制逻辑决定是输出数据还是对外呈高阻状态。 12/:数据模式选择。当此引脚输入为高电平时,12位数据并行输出;当此引脚为低电平时,与引脚A0配合,把12位数据分两次输出,见下表。应注意,此引脚不与TTL兼容,若要此引脚为高电平,则应接1脚;若要此引脚为低电平,应接脚15。A0:字节选择控制。此引脚有两个功能,一个功能是决定方式是12位还是8位。若A0=0,进行全12位转换,转换时间为25US;若A0=1,仅进行8位转换,转换时间为16US。另一个功能是决定输出数据是高8位还是低4位。若A0=0,高8位数据有效;若A0=1,低4位数据有效,中间4位为“0”,高4位为高阻状态。因此,低4位数据读出时应遵循左对齐原则(即:高8位+低4位+中间4位的0000)。 :芯片选择。当=0时,AD574A被选中,否则AD574A不进行任何操作。 :读/转换选择。当=1时,允许读取结果;当=0时,允许A/D转换。 CE:芯片启动信号。当CE=1时,允许读取结果,到底是转换还是读取结果与有关。 STS:状态信号。STS=1表示正在进行A/D转换,STS=0表示转换已完成。 REFOUT:+10基准电压输出。 REFIN:基准电压输入。只有由此脚把从“REFOUT”脚输出的基准电压引入到AD574A内部的12位DAC(AD565),才能进行正常的A/D转换。 BIPOFF:双极性补偿。此引脚适当连接,可实现单极性或双极性输入。 10VIN:10V量程模拟信号输入端。对单极性信号为10V量程的模拟输入端,对双极性信号为5V模拟信号输入脚。 20VIN:20V量程输入端。对单极性信号为20V量程的模拟输入端,对双极性信号为10V模拟信号输入脚。 DG:数字地。各数字电路(译码器、门电路、触发器等)及“+5V”电源的地。 AG:模拟地。各模拟器件(放大器、比较器、多路开关、取样保持器等)地及“+15V”和“-15V”电源地。 Vlog:逻辑电路供电输入端,+5V。 VCC:正电源端,为+12+15V。VEE:负电源端,为-1215V在本系统电路中 AD574A的12/引脚接地,所以转换后的12位数据要分两次读出, 、A0、与单片机的P2.7,P2.6,P3.4相连。AD574A的12位数据输出也接单片机的P0口,其中DB0DB3与DB8DB11位复用P0口的低四位。单片机的读写信号输出经一或非门接 AD574A的芯片启动输入脚CE,P3.2/脚接AD574A的状态信号输出引脚STS。AD转换器采用双极接线。具体接线图见图3-8。 图3-8 信号采集接线 3.2.4 显示模块本设计中的显示部分是由单片机控制的LCD显示的,采用19264作为显示器件。19264是一种液晶显示器。液晶显示模块是一种将液晶显示器件、连接件、集成电路、PCB、线路板、背光源、结构件装配在一起的组件。在单片机系统中使用液晶显示模块作为输出器件具有以下优点:(1)显示质量高由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管(CRT)那样需要不断刷新亮点。因此,液晶显示器画质高而且不会闪烁。(2)数字式接口液晶显示器都是数字式的,和单片机系统的接口更简单,操作也更加方便。(3)体积小、重量轻液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器件要轻很多(4)功率消耗小相比而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其他显示器件也要小很多。YM19264A 是一种图形点阵液晶显示器。它主要采用动态驱动原理由行驱动控制器和列驱动器两部分组成了192(列)64(行)的全点阵液晶显示。 此显示器采用了COB 的软封装方式,通过导电橡胶和压框连接LCD,使其寿命长,连接可靠。 特性: 1)工作电压为+5V10% ,可自带驱动LCD 所需的负电压。 2)全屏幕点阵,点阵数为192(列)64(行),可显示12(/行)4(行)个(1616 点阵)汉字,也可完成图形,字符的显示。 3)与CPU 接口采用5 条位控制总线和8 位并行数据总线输入输出,适配M6800 系列时序。 4)内部有显示数据锁存器 5)简单的操作指令 显示开关设置,显示起始行设置,地址指针设置和数据读/写等指令。 硬件连接 波形显示部分19264液晶显示模块与单片机的连接见图3-9。八位数据传输线接单片机的P1口,显示区片选CS1、CS2、CS3依次接单片机的P2.3、P2.4、P2.5,当CS1=1时,左区显示屏显示,当CS2=1时,中区显示屏显示,当CS3=1时,右区显示屏显示。液晶显示模块的使能信号线E,读写操作选择信号线R/W,和寄存器选择信号线RS分别接单片机的P2.2、P2.1、P2.0。当E=0时,数据总线DB7DB0呈高阻状态,19264释放总线。若RS R/W为00,在E引脚下降沿到来时来临时,写指令代码,DB7DB0上的指令代码进入19264液晶显示模块相应寄存器;若RS R/W为01,当E=1时,允许控制器读19264的状态字,DB7DB0输出当时19264的状态字。若RS R/W为10,当E引脚出现下降沿时,允许控制器将待显示数据由DB7DB0数据总线写入19264液晶显示模块的输入寄存器。若RS R/W为11,当E=1时,允许控制器将显示数据通过DB7DB0数据总线从输出寄存器读出。 图3-9 显示部分电路接线图 3.2.5 电源设计 密码锁主控制部分电源需要用5V直流电源供电,其电路如图4-6所示,把频率为50Hz、有效值为220V的单相交流电压转换为幅值稳定的5V直流电压。其主要原理是把单相交流电经过电源变压器、整流电路、滤波电路、稳压电路转换成稳定的直流电压。由于输入电压为电网电压,一般情况下所需直流电压的数值和电网电压的有效值相差较大,因而电源变压器的作用显现出来起到降压作用。降压后还是交流电压,所以需要整流电路把交流电压转换成直流电压。由于经整流电路整流后的电压含有较大的交流分量,会影响到负载电路的正常工作。需通过低通滤波电路滤波,使输出电压平滑。稳压电路的功能是使输出直流电压基本不受电网电压波动和负载电阻变化的影响,从而获得稳定性足够高的直流电压。本电路使用集成稳压芯片7805解决了电源稳压问题。7805为输出电压5伏、负极接公共地的稳压集成电路。见图3-10. 图3-10 电源输入电路4 系统软件设计4.1 测频系统软件设计 图4-1 定时器T0中断服务程序流程图 4-2信号频率测量系统流程图 图4-3 数码管显示子

温馨提示

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

评论

0/150

提交评论