1、 本科毕业设计论文 题 目 简易数字示波器设计 系 别 电气与信息工程系 专 业 电子信息工程 班 级 电信 902 班 学号 09010043 学生姓名 祝斌锋 指导老师 金印彬 2013年6月摘要摘 要示波器是电子测量中一种最常用的仪器,被广泛应用于各个领域。随着微电子技术和计算机技术的飞速发展,示波器也从模拟示波器向数字示波器发展。同模拟示波器相比,数字示波器具有很多优点,并开始逐步取代模拟示波器,成为市场上的主流。本文主要完成了简易数字示波器的设计,包括硬件设计(通过Proteus仿真替代)和软件设计两大部分。 硬件设计上,信号波形采集采用的是12位逐次逼近型A/D转换器AD574A,
2、转换时间为25us,转换精度小于等于0.05%。控制器选用AT89C52及AT89C51两个单片机,解决了一般示波器使用一片单片机,运行速度明显不足的问题。波形显示部分采用液晶显示模块,具有简单易实现、显示效果好等优点。频率显示部分采用的是6位数码管显示,简单易行。Proteus仿真表明,该设计运算速度明显提高。频率显示准确,可以实现快速读取。该示波器可以实现对模拟带宽为1Hz20KHz的模拟信号的波形和频率的实时显示。关键词:单片机;实时采样;波形;频率IIIABSTRACTABSTRACTAn oscilloscope is electronic measurement instrumen
3、t, 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 graduall
4、y 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 conv
5、ersion 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 a
6、nd 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. The oscilloscope can realize to simulate 1Hz 20 KHz bandwidth
7、real-time display of the waveform and frequency of the analog signalKey Words:SCM ; Real-time sampling; Waveform;Frequency目录目 录 1 前 言11.1选题的背景意义和研究现状11.1.1选题的背景和意义11.1.2国内外研究现状11.2 本设计所要实现的目标21.3 设计内容22 系统设计53 数字示波器的硬件设计与实现73.1 频率测量及显示电路的硬件设计73.1.1 测频电路总体构成73.1.2 信号调理电路设计73.1.3 数码管显示模块93.1.4 数码管显示驱动
8、模块103.2 幅度测量及显示模块的硬件设计103.2.1 显示电路总体结构173.2.2 单片机外围电路设计183.2.3 信号波形采集模块193.2.4 显示模块213.2.5 电源设计234 系统软件设计254.1 测频系统软件设计254.2 信号采集系统软件图274.3 波形显示系统软件设计285 调试及仿真316 结 论33致 谢35参考文献37附录一:系统总体接线图39附录二:频率测量子系统流程图40附录三:信号显示子系统流程图41附录四:频率测量系统程序清单42附录五:波形显示系统程序清单44V前言1 前 言1.1选题的背景意义和研究现状1.1.1选题的背景和意义1909年的诺贝
9、尔物理奖得主Karl Ferdinand Braun于1897年发明世界上第一台阴极射线管示波器,至今许多德国人仍称CRT为布朗管(Braun Tube)。 根据IEEE的文献记载1972年英国的Nicolet公司发明了第一台的数字示波器(DSO),到1996年惠普科技(安捷伦科技前身)发明了全球第一台混合信号示波器(MSO),数字示波器自上个世纪七十年代诞生以来,其应用越来越广泛,已成为测试工程师必备的工具之一。时间到了21世纪这是一个科学和技术都在飞速发展的时代,随着电子技术、计算机技术、通信技术和自动化技术的高速发展,电子测量仪器也有了巨大的发展。数字示波器就以其存储波形及多种信号分析、
10、计算、处理等优良的性能从而逐步取代模拟示波器。用数字示波器能完成对信号的一次性采集,把波形存储起来,还可以通过移位操作观察波形的任何一部分等等。数字示波器是随着数字集成电路技术的发展而出现的新型智能化示波器,己经成为电子测量领域的基础测试仪器。随着新技术、新器件的发展,它正在向宽带化、模块化、多功能和网络化的方向发展。数字示波器的优势是可以实现高带宽及强大的分析功能。现在高端数字示波器的实时带宽已达到20GHz,可以广泛应用于各种千兆以太网、光通讯等测试领域。而低端数字示波器几乎可以应用于国民经济各个领域的通用测试,同时可广泛应用于高校及职业学校的教学,为社会培养众多的后备人才。数字示波器的技
11、术基础是数据采集,其设计技术可以应用于更广泛的数据采集产品中,具有深远的意义。为了巩固大学4年来所学的知识,将课本上的理论知识运用到实际中,而且能掌握和了解本专业的仪器测量这块的先进发展趋势,我选择了简易数字示波器这个题目作为我的大学毕业设计题目。1.1.2国内外研究现状自从1972年世界上第一台数字示波器(DSO)问世以来,经历了三个发展阶段。1986年以前为DSO发展的初期阶段,当时的取样率较低,一般不超过50MSa/s,带宽在20MHz以下,结构形式以数字存储加传统模拟示波器二合一的组合式为主,功能少,性能低。主要代表性产品有美国哥德(Gould)公司生产的4035,HP公司生产的HP5
12、4200。1986年-1994年,伴随高速ADC和高速RAM的迅速发展,DSO的发展也进入了快车道,取样率达到了4GSa/s,记录长度超过32K。每年各示波器生产厂商都推出新的型号,技术上开始走向成熟。1989年,HP公司率先停止了模拟示波器的生产,专心培育数字示波器市场。到1993年,DSO的销售额就超过了传统模拟示波器,使持续将近半个世纪的模拟示波器市场发生动摇。1995年以后,DSO在技术上己经成熟,带宽在100MHz以上,DSO已经完全取代了模拟示波器。2004年10月,AGILENT公司推出了具震撼性的DS081304A数字示波器,带宽3GHz,上升时间23ps,最高采样率40GHz
13、。这时,除了继续提高取样率(最高达40GSa/s)、带宽(达20GHz)和增加记录长度(达16MB)外,DSO制造商开始向100MHz以下带宽的通用DSO方向发展,并且性价比迅速提高。1996年AGILENT公司面向通用DSO市场推出了100MHz带宽的数字示波器54645A及首款混合信号示波器54645D。AGILENT公司在后续推出的54620/40A/D系列混合信号示波器中提供了强大的串行触发能力,包括SPI、USB、IZE、LIN、和EAN等。通用DSO的单台价格己接近同档次的模拟示波器水平。目前,100MHz以下的DSO,将与模拟示波器同时并存发展。虽然模拟示波器本身也在不断的数字化
14、,增加数字显示和光标测量的功能。但是,模拟示波器无法具备DSO所特有的预触发、存储和数据处理等测量功能。可以预计,通用DSO全面取代模拟示波器的日子不会很远了。目前,100MHz数字示波器的代表性产品,国外的主要有Agilent公司的5000系列,Tektronix公司的TDSl000、TDS2000系列。国内DSO的研制工作起步较晚,第一台DSO于1993年在电子部41研究所研制成功,但是起步水平较高,最先推出的是取样率为40MSa/s,带宽分别为750MHz和800MHz的两个型号产品。到96年就把带宽提高到了1GHz。98年把取样率提高到1GSa/s。研制中的100MHz带宽的深存储型D
15、SO已经取得了阶段性成果。目前主要的生产厂家是美国安捷伦公司、泰克公司、力科公司、台湾的固纬公司、国内的中国电子科技集团第41研究所和北京普源精电公司等。1.2 本设计所要实现的目标本文设计的目的主要是利用A/D转换模块、控制器(本文中采用单片机)、液晶显示模块等配合外围电路实现对输入量的波形和频率显示。用户只需要把待测信号输入转换器,不用其他的操作,示波器自动在显示器上显示波形和频率1.3 设计内容在本设计中,硬件设计分为两个部分波形显示电路和频率显示电路,波形显示电路中,首先使用A/D转换器,对输入的模拟信号数字化,以使单片机能够识别,同时,还要使用单片机控制A/D转换器。对于A/D转换器
16、采样的数据,经过转换之后单片机可以直接读取,对于读取的数据,通过单片机输出,经过显示器,直接显示波形。频率显示电路中,利用外围电路对信号进行采集,转换为高低电平之后,单片机读取,输出,利用数码管显示频率49系统设计2 系统设计在本系统设计中,主要包括两大部分:1)信号频率测量系统;2)信号波形显示系统。见图2-1和图2-2。AT89C52显示电路晶振电路信号采集电路复位电路图2-1 信号波形显示系统框图信号采集电路A/D转换电路AT89C51显示电路图2-2 测频电路方框图信号数字示波器的硬件设计与实现3 数字示波器的硬件设计与实现3.1 频率测量及显示电路的硬件设计该部分主要由前端电路、控制
17、器AT89C51、数码管显示电路三部分组成。3.1.1 测频电路总体构成测频电路由前端放大电路,整流电路,以及显示电路,通过AT89C51单片机控制,达到只要有输入信号,就能正确的显示信号频率。接线图见图3-1。图3-1测频电路总接线图3.1.2 信号调理电路设计信号调理电路主要包括同相比例放大电路和整流电路两部分。同向比例放大器:运算放大器是具有很高放大倍数的电路单元,实际电路中,通常结合反馈网络共同组成某种功能模块。由于早期应用于模拟计算机中,用以实现数学运算,故得名“运算放大器”,此名称一直延续至今。运放是一个从功能的角度命名的电路单元,可以由分立的器件实现,也可以实现在半导体芯片当中。
18、随着半导体技术的发展,如今绝大部分的运放是以单芯片的形式存在。现今运放的种类繁多,广泛应用于几乎所有的行业当中。本系统中同相比例放大的实现是电压放大电路根据输入电压幅值的不同范围分为八个档,输入电压幅值在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高精度高速低噪声运算放大器。电路结构采用同相比例放大电路,即放大电路的输入信号由同相输入端接入,反馈电阻一端接运放的输出,一端接运放的反相输入端,
19、反相输入端通过一电阻接地。反馈网络由八个电阻并联组成,且每个反馈电阻与运放输出之间由一单刀双掷开关连接,形成八档。设反相端接地的电阻为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 放大电路接线图整流电路 由于输入信号可能很小,而本文采用的整流
20、器件是光耦P521,其输入端内部是发光二极管,所以输入信号若太小就不能驱动该二极管,光耦就不能正常工作,所以必须有电压放大电路。放大电路保证了光耦正常工作所需的电压,但通过光耦的电流不应超过光耦中发光二极管的额定电流,故在运放输出端与光耦之间接入一较大电阻限流。要利用单片机的端口进行频率测量,就必须把待测信号转换成满足单片机要求的方波脉冲信号。在本文中,光耦P521的使用就是为了实现这一要求。光耦P521的1、2两脚为输入,在内部1脚接发光二极管的阳极,2脚接发光二极管的阴极,3、4脚为输出端,内部为一光敏三极管,3脚接三极管的集电极,4脚接发射极。所以当输入信号的正半部分通过使输入端的发光二
21、极管导通发光时,输出端的光敏三极管在二极管发出的光的作用下导通,当二极管截止时,光敏三极管也截止,随着输入信号的变化,光敏三极管随着导通截止,这样在输出端就产生了频率和输入信号相同的方波信号。整流电路见图3-3。 图3-3 整流电路接线图3.1.3 数码管显示模块本系统该部分的数据显示采用数码管动态显示。动态显示的接线见图3-4。本系统中控制器AT89C51的P0口用作字形口,P2口用作字位口。对应本文电路中的八位LED显示器,AT89C51单片机内部RAM中设置了8个显示缓冲单元0072H0079H,存放8位欲显示的字符数据。AT89C51单片机的P2口扫描输出总是有一位为高电平,以选中相应
22、的字位。单片机的P1口输出相应位的显示字符段数据,使该位显示出相应字符,其它位为暗。依次改变P2口输出为高电平的位及P0口输出对应的段数据,8位LED显示器就可以显示出缓冲器中字符数据所确定的字符。3.1.4 数码管显示驱动模块数码管显示驱动选用74LS245集成模块。74LS245是我们常用的芯片,用来驱动LED或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。 74LS245还具有双向三态功能,既可以输出,也可以输入数据。 1.当单片机的P0口总线负载达到或超过P0的最大负载能力时,必须接入74LS245等总线驱动器。 当片选端/CE低电平有效时,DIR=“0”,信号由 B
23、向 A 传输(接收);DIR=“1”,信号由 A 向 B 传输(发送);当CE为高电平时,A、B均为高阻态。由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。P0口与74LS245输入端相连,E端接地,保证数据线畅通。单片机的/RD和/PSEN相与后接DIR,使得RD且PSEN有效时,74LS245输入(P0.1D1),其它时间处于输出(P0.1D1)。具体接线图见图3-4 3.2 幅度测量及显示模块的硬件设计显示电路主要包括转换电路,显示电路,以及外围电路。所实现的功能是只要有信号输入,不需要调节就能直接显示出信号波形。本设计中使用
24、的主控芯片是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 次可擦写周期;其工作频率 全静态操
25、作:0HZ-24MHZ;具有可编程的3级加密程序锁定位;片内数据存储器内含256字节的RAM;具有32根可编程I/O口线;具有3个16 位可编程定时计数器;中断系统具有8个中断源 6个中断矢量 2级优先权的中断机构; 图3-4 显示模块接线图低功耗的工作模式有空闲模式和掉电模式;串行口是具有一个全双工的可编程串行通信口;具有一个数据指针DPTR。功能特性概述:AT89C52 提供以下标准功能:片内程序存储内含8KB的FLASH程序存储器,片内数据存储器内含256字节的RAM, 32个I/O口线,3个16 位定时计数器,中断系统具有8个中断源 6个中断矢量,一个全双工串行通信口,片内振荡器及时钟
26、电路。同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU 的工作,但允许RAM,定时计数器串行通信口及中断系统继续工作。掉电方式保存RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位. 功能引脚说明:Vcc:电源电压GND:地P0:P0口是一组8位漏极开路型双向I/O 口,也即地址/数据总线复用口。作为输出口用时每位能吸收电流的方式驱动8个TTL 逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在FLA
27、SH由编程时,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位地址,如下表3-1。P2口:P2 是一个带有内部上拉电阻
28、的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑电路。对端口P2写“1,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR 指令)时,P2送出高8 位地址数据。在访问8位地址的外部数据存储器、如执行MOVXRI指令)时,P2口输出P2锁存器的内容。 表3-1 P1 引脚的特殊功能引脚号功能特性P1.0T2(定时/计数器2外部计数脉冲输入),时钟输出。P1.1T2EX(定时/计数2捕获/重装载触发和方向控制)
29、FLASH编程或校验时,P2亦接收高位地址和一些控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL) . P3口除了作为一般的I/0口线外,更重要的用途是它的第二功能,如表3-2所示:此外,P3口还接收一些用于FLASH闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址
30、锁存允许)输出脉冲用于锁存地址的低8位字节一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活,此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN:程序储存允许PSEN输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,
31、每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 表3-2 p3口的第二功能端口引脚第二功能P3.0RXD(串行口输入)P3.1TXD(串行口输出)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时/计数0)P3.5T1(定时/计数1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000H-FFFFH ) , EA端必须保持低电平(接地)需注意的是:如果加密位LBI被编程,复位时内部会锁存EA端状态。如EA端为高电平(
32、接Vcc端), CPU则执行内部程序存储器中的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源VPP ,当然这必须是该器件是使用12V编程电压VPP 。XTA L1:振荡器反相放大器及内部时钟发生器的输入端XTA L2:振荡器反相放大器的输出端。特殊功能寄存器:在AT89C52片内存储器中,80H-FFH共128个单元为特殊功能寄存器(SFE ) , SFR的地址符号及复位 如表3-3所示。表3-3 AT89C52 SFR 符号及复位状态地址符号及复位80HP0 11111111SP 00000111DPL00000000DPH 00000000PCON0*000088HTCON
33、 00000000TMOD 00000000TL0 00000000TL1 000000000TH0 00000000TH1 0000000090HP1 1111111198HSCON 0000000SBUF *0A0HP2 111111110A8HIE 0*0000000B0HP3 111111110B8HIP *0000000C0H0C8HT2CON 00000000T2MOD *000000RCAP2L 00000000RCAP2H 00000000TL2 00000000TH2 000000000D0HPSW 000000000D8H0E0HACC 000000000E8H0F0HB
34、000000000F8H并非所有的地址都被定义,从80H-FFH共128 个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数位将不确定,而写入的数据也将丢失。不应将数据1写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。AT89C52除有定时/计数器0和定时/计数器1 外,还有定时/计数和状态位位于T2CON (参见表3-4) T2CON(参见表3-5) ,寄存器对(RCA02H、RCAP2L)是定时器2在16 位捕获方式或16位自动重装载方式下的捕获/自动重装载寄存器。T2CON地址=0C8H 复位
35、值=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接收
36、时钟允许。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,选
37、择定时方式。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)地址是
38、重叠的,也就是高128字节的RAM和特殊功能寄存器的地址是相同的,但物理上它们是分开的。 当一条指令访问7FH以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128字节RAM还是访问特殊功能寄存器。如果指令是直接寻址方式则为访问特殊功能寄存器例如,下面的直接寻址指令访问特殊功能寄存器0A0H(即P2口)地址单元。MOV 0A0H ,#data 间接寻址指令访问高128字节RAM ,例如下面的间接寻址指令中,R0的内容为OAOH ,则访问数据字节地址为0A0H , 而不是P2口(0A0H )。MOV RO ,#data堆栈操作也是间接寻址方式,所以,高128位数据RA
39、M亦可作为堆栈区使用。定时器O和定时器1AT89C51的定时器O和定时器1的工作方式:定时2定时器2是一个16位定时计数器。它既可当定时器使用,也可作为外部事件计数器使用,其工作方式由特殊功能寄存器T2CON(如表3-5 )的C/T2位选择。定时器2有三种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2CON的控制位来选择,参见表3-5 定时器2由两个8位寄存器TH2和TL2组成,在定时器工作方式中,每个机器周期TL2寄存器的值加1 ,由于一个机器周期由12个振荡时钟构成,因此,计数速率为振荡频率的1/l2 。在计数工作方式时,当T2引脚上外部输入信号产生
40、由1至O的下降沿时,寄存器的值加1,在这种工作方式下,每个机器周期的5SP2期间,对外部输入进行采样。若在第一个机器周期中采到的值为1,而在下一个机器周期中采到的值为0 , 则在紧跟着的下一个周期的S3P1期间寄存器加l 。由于识别1至0的跳变需要2个机器周期(24个振荡周期),因此,最高计数速率为振荡频率的1/24 为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输入信号至少被采样一次表3-5 定时器2工作方式RCLX+TCLKCP/RL2TR2MODE00116-bit auto-reload01116-bit Capture1X1Baud Rate Gener
41、atorXX0(off)中断: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所示方式连接。晶振、电容C1、C2及片内与非门(作为反馈、放大元件)构成了电容三点
42、式振荡器,振荡信号频率与晶振频率及电容C1、C2的容量有关,但主要由晶振频率决定,范围在033MHz之间,电容C1、C2取值范围在530pF之间。根据实际情况,本设计中采用12MHZ做为系统的外部晶振。电容取值为30pF。 图3-6 晶振部分接线图复位电路:单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后PC0000H,使单片机从第个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。在复位期间(即RST为高电平期间),P0口为高阻态,P1P3口输出高电平,外部程序存储器读选通信号PSEN无效。地址锁存信号ALE也为
43、高电平。根据实际情况选择如图3-7所示的复位电路,该电路在最简单的复位电路下增加了手动复位按键,在接通电源瞬间,电容C5上的电压很小,复位下拉电阻R2上的电压接近电源电压,即RST为高电平,在电容充电的过程中RST端电压逐渐下降,当RST端的电压小于某一数值后,CPU脱离复位状态,由于电容C5足够大,可以保证RST高电平有效时间大于24个振荡周期,CPU能够可靠复位。增加手动复位按键是为了避免死机时无法可靠复位。当复位按键按下后电容C5通过R1放电。当电容C5放电结束后,RST端的电位由R1与R2分压比决定。由于R1R2 因此RST为高电平,CPU处于复位状态,松手后,电容C3充电,RST端电
44、位下降,CPU脱离复位状态。R1的作用在于限制按键按下瞬间电容C3的放电电流,避免产生火花,以保护按键触电。具体接线图见图3-7 。图3-7 复位电路图3.2.3 信号波形采集模块本文中的信号数据采集器件采用的是A/D转换器AD574A。AD574A是美国AD公司生产的12位逐次逼近型A/D转换器,转换时间为时间为25us,转换精度小于等于0.05%。AD574片内配有三态输出缓冲电路,因而可直接与各种典型的8位或16位微处理器接口,且能与CMOS及TTL电平兼容。由于AD574A片内包含高精度的参考电压源和时钟电路,从而使该芯片在不需要任何外加电路和时钟信号的情况下完成A/D转换,应用非常方
45、便。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)具有1
46、0.000V的高精度内部基准电压源,只需外接一只适当阻值的电阻,便可向DAC部分的解码网络提供参考输入。内部具有时钟产生电路,不需外部接线;8)需三组电源:+5V、VCC(+12+15V)VEE(-12-15V)。由于转换精度高,所提供电源必须有良好的稳定性,并进行充分滤波,以防止高频噪声的干扰;9)低功耗:典型功耗为390 mW。AD574A引脚功能:AD574A为28引脚双列直插式封装,各引脚功能如下:DB11-DB0:12位数据输出线。通过这12条数据总线向外输出A/D转换数据12/8 :数据模式选择。当此引脚输入为高电平时,12位数据并行输出;当此引脚为低电平时,与引脚A0配合,把12位数据分两次输出,参见表3-6。表3-6 AD574A的接口电路
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100