程控放大器的设计.doc_第1页
程控放大器的设计.doc_第2页
程控放大器的设计.doc_第3页
程控放大器的设计.doc_第4页
程控放大器的设计.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

程控放大器的设计硬件课程设计任务书 I前言 1第1章 程控放大器概述 21.1 程控放大器的概述及应用领域 21.2 AT89C52单片机概述 21.3 单片机引脚图 2第2章 电路设计及分析 42.1 OP07放大器的概述 42.2 DAC0832DA转换器概述 52.3 程控放大电路的设计 7第3章 软件设计 103.1 C51语言介绍 103.2 程控放大器的C语言程序 10附 录 11结 论 14参 考 文 献 15前 言本文分析了程控放大器的基本原理和它用对模拟信号进行稳幅和稳零的方法。并定量分析了程控信号的可调节范围及精度。.当改变量程时测量放大器的增益也相应地加以改变.这种变化通常是自动进行,即不需要人为的改变电路连接,而是通过软件控制放大器增益的改变.这样可以实现仪器量程的自动切换.另外,通过改变增益的方法使系统功能增强,在核测量中,稳谱的方法之一就是改变输入信号的放大倍数.这就需要用到数字控制放大器,并针对该仪器要解决的具体问题要求放大器的放大倍数在一定范围内变化,并且放大倍数调节要求精细.该文提供了这种数控放大的一种设计方案,它的放大倍数范围为0.120,其倍数的调节步长为0.1倍。第1章 程控放大器概述1.1 程控放大器的概述及应用领域程控放大器是一种放大倍数由程序控制的放大器,也称为可编程放大器。在多通道或多参数的数据采集系统中,多个通道或多个参数共用一个测量放大器。就每个通道的数据采集而言,还可实现自动控制增益或量程自动切换,因此程控增益放大器得到广泛应用。在本次实习中分别对显示过程运用动态扫描,按键的去抖以及放大过程的编程、反馈电阻来分别实现相应的功能。本次实习中我们所做的简单程控放大器,只是在十分基础的范围内制作和了解。本文简单介绍了与之相关的AT89C52单片机、OP07放大器、DAC0832DA转换器的概况及应用。1.2 AT89C52单片机概述AT89C52是美国Atmel公司生产的低电压、高性能CMOS 8位单片机,片内含8KB的可反复檫写的程序存储器和12B的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内配置通用8位中央处理器(CPU)和Flash存储单元,功能强大的AT89C52单片机可灵活应用于各种控制领域。AT89C52单片机属于AT89C51单片机的增强型,与Intel公司的80C52在引脚排列、硬件组成、工作特点和指令系统等方面兼容。其主要工作特性是:片内程序存储器内含8KB的Flash程序存储器,可擦写寿命为1000次;片内数据存储器内含256字节的RAM;具有32根可编程I/O口线;具有3个可编程定时器;中断系统是具有8个中断源、6个中断矢量、2个级优先权的中断结构;串行口是具有一个全双工的可编程串行通信口;具有一个数据指针DPTR;低功耗工作模式有空闲模式和掉电模式;具有可编程的3级程序锁定位;AT89C52工作电源电压为5(1+0.2)V,且典型值为5V;AT89C52最高工作频率为24MHz。1.3 单片机引脚图 图1-1 AT89C52单片机管脚图 设计中所用的是AT89C52单片机,它的管脚图如图1-1所示:引脚功能说明: VCC电源电压 GND地 P0口P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。 在FLASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 P1口P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输出口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。第2章 电路设计及分析2.1 AD603放大器的概述一AD603放大器参数OP07是一种高精度单片运算放大器,具有很低的输入失调电压和漂移。OP07的优良特性使它特别适合作前级放大器,放大微弱信号。使用OP07一般不用考虑调零和频率问题就能满足要求。 主要特点: 低输入失调电压:75uV(最大) 低失调电压温漂:1.3uV/(最大) 低失调电压时漂:1.5uV/月(最大) 低噪声:0.6uV P-P(最大) 宽输入电压范围:14V 宽电源电压范围:3V18V二OP07放大器原理由于运算放大器的增益极高,所以不能在两输入端之间加上输入信号,而一定要用作反馈放大器。 (a) 同相放大电路首先,我们来讨论同相放大电路。设 IN+ 端和 IN 端的电压分别为 和 ,并认为运算放大器的增益无限大,则为要获得有限的输出电压,则 = 。这点则是运算放大器工作中的一大特征。在此前提下,分析电路工作就能变得十分简单。根据此特征,输入与输出的关系为: (b) 反相放大电路 下面我们来分析反相放大电路。 = ,这点是与同相放大电路情况相同的, 所以 =0V 。这样,尽管有输入信号,然而 端处为 0V 。恰似接地,所以被叫做假想接地。于是,若讨论流经 、 的电流 I ,由于运算放大器的输入电流为 0 ,则 据此,可得出输入与输出的关系 可见,同相放大器和反相放大电路,是从对应于输入,其输出是否倒向这一事实出发而得名的。 (C) 实际的运算放大器 以上所述是均是理想的运算放大器的情况。实际上,运算放大器的增益不可能无限大,有电流向 、 端子流入(或流出),并且其电流不一定相等。即使在无信号时, 、 之间也有一定的电压。 2.2 DAC0832DA转换器概述本次实习中要通过电阻来调节放大倍数,所以我们选择DAC0832DA转换器中的电阻网与外界电路组成反馈来实现这一功能。(一) D/A转换器DAC0832DAC0832是采用CMOS工艺制成的单片直流输出型8位数/模转换器。如图3-1所示,它由倒T型R-2R电阻网络、模拟开关、运算放大器和参考电压VREF四大部分组成。运算放大器输出的模拟 量V0为:图2-1 电阻网络图由上式可见,输出的模拟量与输入的数字量( ) 成正比,这就实现了从数字量到模拟量的转换。一个8位D/A转换器有8个输入端(其中每个输入端是8位二进制数的一位),有一个模拟输出端。输入可有28=256个不同的二进制组态,输出为256个电压之一,即输出电压不是整个电压范围内任意值,而只能是256个可能值。图3-2是DAC0832的逻辑框图和引脚排列。图2-2 DAC0832的逻辑框图及引脚排列D0D7:数字信号输入端。ILE:输入寄存器允许,高电平有效。CS:片选信号,低电平有效。WR1:写信号1,低电平有效。XFER:传送控制信号,低电平有效。WR2:写信号2,低电平有效。IOUT1、IOUT2:DAC电流输出端。Rfb:是集成在片内的外接运放的反馈电阻。 Vref:基准电压(-1010V)。Vcc:是源电压(+5+15V)。A1、A2、A0 :地址输入端。ALE地址锁存允许输入信号,在此脚施加正脉冲,上升沿有效,此时锁存地址码,从而选通相应的模拟信号通道,以便进行A/D转换。START:启动信号输入端,应在此脚施加正脉冲,当上升沿到达时,内部逐次逼近寄存器复位,在下降沿到达后,开始A/D转换过程。OE:输入允许信号,高电平有效。CLOCK(CP):时钟信号输入端,外接时钟频率一般为640kHz。 Vcc:+5V单电源供电。 、 Vref(+),Vref(-):基准电压的正极、负极。一般Vref(+)接+5V电源,Vref(-)接地。D7D0:数字信号输出端。 由A2、A1、A0三地址输入端选通8路模拟信号中的任何一路进行A/D转换。DAC0832是采样频率为八位的D/A转换芯片,集成电路内有两级输入寄存器,使DAC0832芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。所以这个芯片的应用很泛, D/A转换结果采用电流形式输出。若需要相应的模拟电压信号,可通过一个高输入阻抗的线性运算放大器实现。运放的反馈电阻可通过RFB端引用片内固有电阻,也可外接。DAC0832逻辑输入满足TTL电平,可直接与TTL电路或微机电路连接。2.3 程控放大电路的设计 键盘模块的电路设计图2-3 键盘模块电路在这个图中,利用四个开关和四个电阻组成一个简易的键盘。其中的四条线分别与单片机的P2口相连。通过对开关的控制来设置放大倍数,并在LED数码管中显示。键盘实质是一组按键开关的集合.一个电压信号通过键盘开关机械触点的断开、闭合来控制电压高低电平的变化。 LED显示模块的电路设计图2-4 LED显示模块电路该实验采用三个LED7段数码管、三个PNP三极管和7个1K电阻组成显示电路。其中的7条线分别与单片机的3339引脚相连。PNP管相当于LED管开关通过写在单片机中的程序来控制三个PNP管的e极,从而控制三极管的导通与闭合。对于三极管的控制是通过单片机的2528引脚来控制。在本次实习中所用的显示方式为动态显示方式,既在某一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段码线上输出相应位要显示的段码。这样在同一时刻,4位LED中只有选通的那一位显示出字符,而其他三位则熄灭。下一时刻同样只让另一个位的信息显示。如此循环,就可以使各位显示出要的结果,所以在不同时刻显示不同的字符,但是由于LED显示器的余辉和人眼的视觉暂留作用,只要间隔时间足够短就可以造成多位同时亮的假象,达到同时显示的效果。 放大及DA转换电路的设计图2-5 放大及DA转换电路其中由DAC0832DA转换器和OP07放大器组成, DAC0832DA转换器的D0D7接到单片机的18引脚。数据从单片机传输过来,输入到DAC0832中进行相应的转换,再通过OP07对信号进行放大,并得到输出。具体算法得到相应输出为图2-6 程控放大电路第3章 软件设计3.1 C51语言介绍本次实习运用C语言编程来对单片机进行显示的动态扫描控制、信号的传输转换控制。1C语言简洁、紧凑,使用方便、灵活。2运算符丰富。共有34种。C把括号、赋值、逗号等都作为运算符处理。从而使C的运算类型极为丰富,可以实现其他高级语言难以实现的运算。3数据结构类型丰富。4具有结构化的控制语句。5语法限制不太严格,程序设计自由度大。6C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此有人把它称为中级语言。7生成目标代码质量高,程序执行效率高。8与汇编语言相比,用C语言写的程序可移植性好。3.2 程控放大器的C语言程序用C语言进行了简单编程,运用单片机对显示模块进行动态扫描编程,将从键盘得来的高低电平信息进行处理,得到相应的信号。通过P1口输入DAC0832,再通过OP07进行放大.得出程序。具体见附录附 录#include #include #define uchar unsigned charuchar data count=0,key;int data fang_da=10;code uchar tab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/-延时程序-void yanshi(uchar ms)uchar i; while(ms-) for(i=0;i200) fang_da=200; if(fang_da2) count=0; switch(count) case 0: P0= tabfang_da%10; P2=0xdf; break; case 1: P0= tab(fang_da/10)%10; P2=0xbf; break; case 2: P0= tabfang_da/100; P2=0x7f; break; default:break; TH0 = 0xf0; /T0定时方式 TL0 = 0x00; TR0 = 1;/=程序结束=结 论通过这次实习使我对程控放大器产生了浓厚的兴趣,在队友和老师的帮助下我们完成了原理图的设计,编写了放大器的c语言程序,让我更加熟练的运用c语言,在进行仿真时由于对模块的各种控制信号了解不够导致仿真出现了很大的错误,还有在一些细节上没有认真的去研究,所以导致程序的调试费了很长的时间。在焊接过程中虽然由于许多线的串并联使焊接过程变的比较烦琐,但是我们还是尽自己的最大努力保证电路在没有出现错误的前提下做到了美观大方。同时通过这次专业综合设计锻炼了我发现问题解决问题的能力,特别是在调试程序时,由于焊接的不是很好,有部分地方甚至丢掉了,在很大程度上给我造成了很大的困难。但正是这样锻炼了我查找错误的能力,培养了我不怕失败的勇气。在调试过程中老师和同学给了我很大的帮助,最后终于调试成功。并且验证了程控放大器的放大作用。最后感谢学校给我们这次实习的机会让我能找到自己的不足之处,让我在就业和工作的道路上迈出坚实的一步,也让我知道现在是高速通信的时代我们的设计与实验都可能是以后应用的高端电子设备,使我们在通信领域永远处于不败的地位,同时也是加强自我修行锻炼动手能力的最佳方法。在设计过程中,对应用软件的熟练程度有所提高,还从老师身上学到了很多东西。老师认真负责的态度和严谨治学精神都使我受益非浅。这次设计使我对以后做工作增加了信心,让我以后的道路更加宽广,我要感谢郑老师和刘老师的耐心辅导和队友们的支持,谢谢你们!参 考 文 献1 张毅刚.MCS-51单片机应用设计M高等教育出版社。2003-12-1。2 王仲 .单片机原理及其接口技术 M 机械工业出版社,2001.89-120 3 郭力平.MCS-51系列单片机实用接口技术M,人民邮电出版社,2003.23-56 4 李广弟.单片机基础. 北京:北京航空航天大学出版社,2001.8-105 康光华.电子技术基础模拟部分(第五版),高等教育出版社,2006-1。6 谭浩强.程序设计(第三版),清华大学出版社,2005-7。AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。目录主要性能 引脚说明 特殊功能寄存器 存储器结构 片上资源 1. 看门狗定时器 2. UART 3. 定时器 0 和定时器1 4. 定时器 2中断源主要性能 引脚说明 特殊功能寄存器 存储器结构 片上资源 1. 看门狗定时器 2. UART 3. 定时器 0 和定时器1 4. 定时器 2中断源展开编辑本段主要性能1、与MCS-51单片机产品兼容; 2、8K字节在系统可编程Flash存储器; 3、1000次擦写周期; 4、全静态操作:0Hz-33MHz; 5、三级加密程序存储器; 6、32个可编程I/O口线; 7、三个16位定时器/计数器; 8、八个中断源; 9、全双工UART串行通道; 10、低功耗空闲和掉电模式; 11、掉电后中断可唤醒; 12、看门狗定时器; 13、双数据指针; 14、掉电标识符 。 编辑本段引脚说明AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程 AT89S52引脚图 DIP封装Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。 P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻 辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下, P0不具有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验 时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2 的触发输入(P1.1/T2EX)。 在flash编程和校验时,P1口接收低8位地址字节。 引脚号第二功能: P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用) P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动 AT89S52引脚图 PLCC封装4 个 TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR) 时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p3 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。 在flash编程和校验时,P3口也接收一些控制信号。 端口引脚 第二功能: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INTO(外中断0) P3.3 INT1(外中断1) P3.4 TO(定时/计数器0) P3.5 T1(定时/计数器1) P3.6 WR(外部数据存储器写选通) P3.7 RD(外部数据存储器读选通) 此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。 RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。 ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。 PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。 编辑本段特殊功能寄存器特殊功能寄存器(SFR)的地址空间映象如表1所示。 AT89S52 特殊寄存器映象及复位值并不是所有的地址都被定义了。片上没有定义的地址是不能用的。读这些地址,一般将得到一个随机数据;写入的数据将会无效。 用户不应该给这些未定义的地址写入数据“1”。由于这些寄存器在将来可能被赋予新的功能,复位后,这些位都为“0”。 定时器 2 寄存器:寄存器T2CON 和T2MOD 包含定时器2 的控制位和状态位(如表2和表3所示),寄存器对RCAP2H和RCAP2L是定时器2的捕捉/自动重载寄存器。 中断寄存器:各中断允许位在IE寄存器中,六个中断源的两个优先级也可在IE中设置。 表2 T2CON:定时器/计数器2控制寄存器 T2CON 地址为0C8H 复位值:0000 0000B位可寻址 TF2 EXF2RLCLK TCLK EXEN2TR2C/T2CP/RL27654 3210 符号功能TF2定时器2 溢出标志位。必须软件清“0”。RCLK=1 或TCLK=1 时,TF2不 用置位。EXF2定时器2 外部标志位。EXEN2=1 时,T2EX 上的负跳变而出现捕捉或重载 时,EXF2 会被硬件置位。定时器2 打开,EXF2=1 时,将引导CPU执行定 时器2 中断程序。EXF2 必须如见清“0”。在向下/向上技术模式(DCEN=1) 下EXF2不能引起中断。RLCLK 串行口接收数据时钟标志位。若RCLK=1,串行口将使用定时器2 溢出脉冲 作为串行口工作模式1 和3 的串口接收时钟;RCLK0,将使用定时器1计数 溢出作为串口接收时钟。TCLK串行口发送数据时钟标志位。若TCLK=1,串行口将使用定时器2 溢出脉冲作 为串行口工作模式1 和3 的串口发送时钟;TCLK0,将使用定时器1计数溢出 作为串口发送时钟。EXEN2定时器2外部允许标志位。当EXEN2=1时,如果定时器2没有用作串行时钟, T2EX(P1.1)的负跳变见引起定时器2 捕捉和重载。若EXEN20,定时器2 将视T2EX端的信号无效TR2开始/停止控制定时器2。TR2=1,定时器2开始工作C/T2 定时器 2 定时/计数选择标志位。C/T2 0,定时; C/T2 1,外部事件计 数(下降沿触发)CP/RL2捕捉/重载选择标志位。当EXEN2=1时, CP/RL21,T2EX出现负脉冲,会引 起捕捉操作;当定时器2溢出或EXEN2=1时T2EX出现负跳变,都会出现自动重载 操作。CP/RL20 将引起T2EX 的负脉冲。当RCKL=1或TCKL1时,此标志位 无效,定时器2溢出时,强制做自动重载操作。双数据指针寄存器:为了更有利于访问内部和外部数据存储器,系统提供了两路16位数据指针寄存器:位于SFR中82H83H的DP0和位于84H85。特殊寄存器AUXR1中DPS0 选择DP0;DPS=1 选择DP1。用户应该在访问数据指针寄存器前先初始化DPS至合理的值。 表 3a AUXR:辅助寄存器 AUXR 地址:8EH 复位值:XXX00XX0B不可位寻址 WDIDLEDISRTO DISALE 7 6 5 432 10预留扩展用 DISALE ALE使能标志位 DISALE 操作方式 0 ALE 以1/6晶振频率输出信号 1 ALE 只有在执行MOVX 或MOVC指令时激活 DISRTO 复位输出标志位 DISRTO 0 看门狗(WDT)定时结束,Reset 输出高电平 1 Reset 只有输入 WDIDLE 空闲模式下WDT 使能标志位 WDIDLE 0 空闲模式下,WDT继续计数 1 空闲模式下,WDT停止计数 掉电标志位:掉电标志位(POF)位于特殊寄存器PCON的第四位(PCON.4)。上电期间POF置“1”。POF可以软件控制使用与否,但不受复位影响。 表 3b AUXR1:辅助寄存器1 AUXR1 地址:A2H 复位值:XXXXXXX0B 不可位寻址 DPS7654 3 210预留扩展用 DPS 数据指针选择位 DPS 0 选择DPTR寄存器DP0L和DP0H 1 选择DPTR寄存器DP1L和DP1H 编辑本段存储器结构MCS-51器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64K寻址。 程序存储器:如果EA引脚接地,程序读取只从外部存储器开始。 对于 89S52,如果EA 接VCC,程序读写先从内部存储器(地址为0000H1FFFH)开始,接着从外部寻址,寻址地址为:2000HFFFFH。 数据存储器:AT89S52 有256 字节片内数据存储器。高128 字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。 当一条指令访问高于7FH 的地址时,寻址方式决定CPU 访问高128 字节RAM 还是特殊功能寄存器空间。直接寻址方式访问特殊功能寄存器(SFR)。 例如,下面的直接寻址指令访问0A0H(P2口)存储单元MOV 0A0H , #data使用间接寻址方式访问高128 字节RAM。例如,下面的间接寻址方式中,R0 内容为0A0H,访问的是地址0A0H的寄存器,而不是P2口(它的地址也是0A0H)。 MOV R0 , #data堆栈操作也是简介寻址方式。因此,高128字节数据RAM也可用于堆栈空间。 编辑本段片上资源看门狗定时器WDT是一种需要软件控制的复位方式。WDT 由13位计数器和特殊功能寄存器中的看门狗定时器复位存储器(WDTRST)构成。WDT 在默认情况下无法工作;为了激活WDT,用户必须往WDTRST 寄存器(地址:0A6H)中依次写入01EH 和0E1H。当WDT激活后,晶振工作,WDT在每个机器周期都会增加。WDT计时周期依赖于外部时钟频率。除了复位(硬件复位或WDT溢出复位),没有办法停止WDT工作。当WDT溢出,它将驱动RSR引脚一个高电平输出。 WDT的使用为了激活WDT,用户必须向WDTRST寄存器(地址为0A6H的SFR)依次写入0E1H和0E1H。当WDT激活后,用户必须向WDTRST写入01EH和0E1H喂狗来避免WDT溢出。当计数达到8191(1FFFH)时,13 位计数器将会溢出,这将会复位器件。晶振正常工作、WDT激活后,每一个机器周期WDT 都会增加。为了复位WDT,用户必须向WDTRST 写入01EH 和0E1H(WDTRST 是只读寄存器)。WDT 计数器不能读或写。 当WDT 计数器溢出时,将给RST 引脚产生一个复位脉冲输出,这个复位脉冲持续96个晶振周期(TOSC),其中TOSC=1/FOSC。为了很好地使用WDT,应该在一定时间内周期性写入那部分代码,以避免WDT复位。 掉电和空闲方式下的 WDT在掉电模式下,晶振停止工作,这意味这WDT也停止了工作。在这种方式下,用户不必喂狗。有两种方式可以离开掉电模式:硬件复位或通过一个激活的外部中断。通过硬件复位退出掉电模式后,用户就应该给WDT 喂狗,就如同通常AT89S52 复位一样。 通过中断退出掉电模式的情形有很大的不同。中断应持续拉低很长一段时间,使得晶振稳定。当中断拉高后,执行中断服务程序。为了防止WDT在中断保持低电平的时候复位器件,WDT 直到中断拉低后才开始工作。这就意味着WDT 应该在中断服务程序中复位。 为了确保在离开掉电模式最初的几个状态WDT不被溢出,最好在进入掉电模式前就复位WDT。 在进入待机模式前,特殊寄存器AUXR的WDIDLE位用来决定WDT是否继续计数。 默认状态下,在待机模式下,WDIDLE0,WDT继续计数。为了防止WDT在待机模式下复位AT89S52,用户应该建立一个定时器,定时离开待机模式,喂狗,再重新进入待机模式。 UART在AT89S52 中,UART 的操作与AT89C51 和AT89C52 一样。为了获得更深入的关于UART 的信息,选择“Products”,然后选择“8051-Architech Flash Microcontroller”,再选择“ProductOverview”即可。 定时器 0 和定时器1在AT89S52 中,定时器0 和定时器1 的操作与AT89C51 和AT89C52 一样。为了获得更深入的关于UART 的信息,选择“Products”,然后选择“8051-Architech Flash Microcontroller”,再选择“ProductOverview”即可。 定时器 2定时器2是一个16位定时/计数器,它既可以做定时器,又可以做事件计数器。其工作方式由特殊寄存器T2CON中的C/T2位选择(如表2所示)。定时器2有三种工作模式: 捕捉方式、自动重载(向下或向上计数)和波特率发生器。如表3 所示,工作模式由T2CON中的相关位选择。定时器2 有2 个8位寄存器:TH2和TL2。在定时工作方式中,每个机器周期,TL2 寄存器都会加1。由于一个机器周期由12 个晶振周期构成,因此,计数频率就是晶振频率的1/12。表 3 定时器2工作模式 RCLK+TCLK CP/RL2 TR2 MODE 00116位自动重载01116位捕捉1x1波特率发生器xx0(不用)捕捉方式在捕捉模式下,通过T2CON中的EXEN2来选择两种方式。 图 5 定时器的捕捉模式如果EXEN2=0,定时器2时一个16位定时/计数器,溢出时,对T2CON 的TF2标志置位,TF2引起中断。如果EXEN2=1,定时器2做相同的操作。除上述功能外,外部输入T2EX引脚(P1.1)1至0的下跳变也会使得TH2和TL2中的值分别捕捉到RCAP2H和RCAP2L中。除此之外,T2EX 的跳变会引起T2CON 中的EXF2 置位。像TF2 一样,T2EX 也会引起中断。捕捉模式如图5所示。在计数工作方式下,寄存器在相关外部输入角T2 发生1 至0 的下降沿时增加1。在这种方式下,每个机器周期的S5P2期间采样外部输入。一个机器周期采样到高电平,而下一个周期采样到低电平,计数器将加1。在检测到跳变的这个周期的S3P1 期间,新的计数值出现在寄存器中。因为识别10的跳变需要2个机器周期(24个晶振周期),所以,最大的计数频率不高于晶振频率的1/24。为了确保给定的电平在改变前采样到一次,电平应该至少在一个完整的机器周期内保持不变。 自动重载当定时器2 工作于16 位自动重载模式,可对其编程实现向上计数或向下计数。这一功能可以通过特殊寄存器T2MOD(见表4)中的DCEN(向下计数允许位)来实现。通过复位,DCEN 被置为0,因此,定时器2 默认为向上计数。DCEN 设置后,定时器2就可以取决于T2EX向上、向下计数。 如图6 所示,DCEN=0 时,定时器2 自动计数。通过T2CON 中的EXEN 图 6 定时器2重载模式(DCEN=0)2 位可以选择两种方式。如果EXEN2=0,定时器2计数,计到0FFFFH后置位TF2溢出标志。计数溢出也使得定时器寄存器重新从RCAP2H 和RCAP2L 中加载16 位值。定时器工作于捕捉模式,RCAP2H和RCAP2L的值可以由软件预设。如果EXEN2=1,计数溢出或在外部T2EX(P1.1)引脚上的1到0的下跳变都会触发16位重载。这个跳变也置位EXF2中断标志位。T2EX 上的一个逻辑0 使得定时器2 向下计数。当TH2 和TL2 分别等于RCAP2H 和RCAP2L中的值的时候,计数器下溢。计数器下溢,置位TF2,并将0FFFFH加载到定时器存储器中。如图6所示,置位DCEN,允许定时器2向上或向下计数。在这种模式下,T2EX引脚控制着计数的方向。T2EX上的一个逻辑1使得定时器2向上计数。定时器计到0FFFFH溢出,并置位TF2。定时器的溢出也使得RCAP2H和RCAP2L中的16位值分别加载到定时器存储器TH2和TL2中。 定时器2上溢或下溢,外部中断标志位EXF2 被锁死。在这种工作模式下,EXF2不能触发中断。 表 4 T2MOD-定时器2控制寄存器 T2MOD 地址:0C9H 复位值:XXXXXX00B 不可位寻址 T2OE DCEN7 65 43 210 符号 功能 无定义,预留扩展定时器2输出允许位置1后,定时器2可配置成向上/向下计数编辑本段中断源AT89S52 有6个中断源:两个外部中断(INT0 和INT1),三个定时中断(定时器0、1、2)和一个串行中断。这些中断如图10所示每个中断源都可以通过置位或清除特殊寄存器IE 中的相关中断允许控制位分别使得中断源有效或无效。IE还包括一个中断允许总控制位EA,它能一次禁止所有中断。 如表5所示,IE.6位是不可用的。对于AT89S52,IE.5位也是不能用的。用户软件不应给这些位写1。它们为AT89系列新产品预留。 定时器2可以被寄存器T2CON中的TF2和EXF2的或逻辑触发。程序进入中断服务后,这些标志位都可以由硬件清0。实际上,中断服务程序必须判定是否是TF2 或EXF2激活中断,标志位也必须由软件清0。 定时器0和定时器1标志位TF0 和TF1在计数溢出的那个周期的S5P2被置位。它们的值一直到下一个周期被电路捕捉下来。然而,定时器2 的标志位TF2 在计数溢出的那个周期的S2P2被置位,在同一个周期被电路捕捉下来。 表 4 中断允许控制寄存器(IE) (MSB) (LSB) EA ET2 ES ET1 EX1ET0EX0中断允许控制位1,允许中断 中断允许控制位0,禁止中断 符号位地址功能EAIE.7中断总允许控制位。EA=0,中断总禁止;EA=1,各中断 由各自的控制位设定IE.6预留ET2 IE.5定时器2中断允许控制位ES IE.4串行口中断允许控制位ET1 IE.3定时器1中断允许控制位EX1IE.2外部中断1允许控制位ET0 IE.1定时器0中断允许控制位EX0 IE.0外部中断0允许控制位AD603AGC 电路常用于RF/IF 电路系统中,AGC 电路的优劣直接影响着系统的性能。因此设计了AD603 和AD590 构成的375dBAGC 电路,并用于低压载波扩频通信系统中的数据集中器。在很多信号采集系统中,信号变化的幅度都比较大,那么放大以后的信号幅值有可能超过A/D 转换的量程,所以必须根据信号的变化相应调整放大器的增益。在自动化程度要求较高的系统中,希望能够在程序中用软件控制放大器的增益,或者放大器本身能自动将增益调整到适当的范围。AD603 正是这样一种具有程控增益调整

温馨提示

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

最新文档

评论

0/150

提交评论