51单片机英文是什么各自接口的功能是什么

51单片机功能接口说明_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
51单片机功能接口说明
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
你可能喜欢AT89S52的引脚功能介绍:
电源引脚:(40脚)电源正极VCC;(20脚)电源负极GND。
复位引脚:(9脚)复位引脚RST。
时钟信号输入输出引脚:(19脚)XTAL1;(18脚)XTAL2;
外部ROM的读选通引脚:(29脚)PSEN(低电平有效)。
地址锁存和ROM编程脉冲输入引脚:(30脚)ALE/PROG为高电平时为地址锁存允许控制信号;为低电平时为对内部ROM编程脉冲输入端。
访问外部存储器控制引脚:(31脚)EA/VPP当接高电平时,可访问内部和外部程序存储器;当接低电平时只能访问外部程序存储器。
1.P0端口结构:P0口可以当作普通I/O口,也可以在系统外部扩展存储器的时候,输出低8位的地址。
2.P1口结构:P1口一般用作通用I/O端口,其可以用作位处理,各位都可以单独输出或输入信息。另外AT89S系列的(6脚)MOSI;(7脚)MISO;(8脚)SCK可用作程序下载。
P1端口各位的第二功能
P1端口的位
T2(定时器/计数器T2的外部计数输入),时钟输出
T2EX(定时器/计数器T2的捕捉和重载触发信号控制)
指令输入(编程用)
数据输出(编程用)
时钟输入(编程用)
3.P2口结构:P2口可以当作普通I/O口,也可以在系统外部扩展存储器的时候,输出高8位的地址。
4.P3口内部结构:P3端口是一个具有第二功能、且可位操作的端口。当作为普通端口时,口可以进行位操作,是准双向端口。当系统需要扩展外部器件时,口可以作为第二功能使用。&
P3端口各位的第二功能
P3端口的位
串行数据输出
串行数据输入
外中断0信号输入端
外中断1信号输入端
T0计数脉冲输入端
T1计数脉冲输入端
读外部数据存储器
写外部数据存储器
单片机4个8位I/O端口的不同结构,决定了各自的应用范围。例如,在一些复杂的应用系统中,只用一个单片机很难达到系统的要求,经常需要外部功能扩展。因此,单片机的P0口和P2口常用于组成16位地址总线。P0口用作8位数据总线,P3口由于其特有的第二功能,因此常用于传输和控制等,只有P1口可以真正的用于I/O操作。
另外,在单片机应用时,P0口需要外加上拉电阻,而P1口、P2口和P3口内部设置有上拉电阻,不用外加。这4个I/O端口均为准双向I/O端口,其驱动能力不同,P0口的驱动能力最强,可以驱动8个LSTTL负载,其余3个端口只能驱动4个LSTTL负载。
还有一个需要强调的是,这些端口都有两种读取方式:读锁存器和读引脚。这是因为在I/O端口中,锁存器内容和引脚上的内容有可能不一致。51ADC0809中文资料以及和单片机接口电路设计和程序 adc0809中文资料
51ADC0809中文资料以及和单片机接口电路设计和程序 adc0809中文资料
本文话题: &
典型的集成ADC芯片为了满足多种需要,目前国内外各半导体器件生产厂家设计并生产出了多种多样的ADC芯片。仅美国AD公司的ADC产品就有几十个系列、近百种型号之多。从性能上讲,它们有的精度高、速度快,有的则价格低廉。从功能上讲,有的不仅具有A/D转换的基本功能,还包括内部放大器和三态输出锁存器;有的甚至还包括多路开关、采样保持器等,已发展为一个单片的小型数据采集系统。尽管ADC芯片的品种、型号很多,其内部功能强弱、转换速度快慢、转换精度高低有很大差别,但从用户最关心的外特性看,无论哪种芯片,都必不可少地要包括以下四种基本信号引脚端:模拟信号输入端(单极性或双极性);数字量输出端(并行或串行);转换启动信号输入端;转换结束信号输出端。除此之外,各种不同型号的芯片可能还会有一些其他各不相同的控制信号端。选用ADC芯片时,除了必须考虑各种技术要求外,通常还需了解芯片以下两方面的特性。(1)数字输出的方式是否有可控三态输出。有可控三态输出的ADC芯片允许输出线与微机系统的数据总线直接相连,并在转换结束后利用读数信号RD选通三态门,将转换结果送上总线。没有可控三态输出(包括内部根本没有输出三态门和虽有三态门、但外部不可控两种情况)的ADC芯片则不允许数据输出线与系统的数据总线直接相连,而必须通过I/O接口与MPU交换信息。(2)启动转换的控制方式是脉冲控制式还是电平控制式。对脉冲启动转换的ADC芯片,只要在其启动转换引脚上施加一个宽度符合芯片要求的脉冲信号,就能启动转换并自动完成。一般能和MPU配套使用的芯片,MPU的I/O写脉冲都能满足ADC芯片对启动脉冲的要求。对电平启动转换的ADC芯片,在转换过程中启动信号必须保持规定的电平不变,否则,如中途撤消规定的电平,就会停止转换而可能得到错误的结果。为此,必须用D触发器或可编程并行I/O接口芯片的某一位来锁存这个电平,或用单稳等电路来对启动信号进行定时变换。具有上述两种数字输出方式和两种启动转换控制方式的ADC芯片都不少,在实际使用芯片时要特别注意看清芯片说明。下面介绍两种常用芯片的性能和使用方法。1. ADC ADC 0808和ADC 0809除精度略有差别外(前者精度为8位、后者精度为7位),其余各方面完全相同。它们都是CMOS器件,不仅包括一个8位的逐次逼近型的ADC部分,而且还提供一个8通道的模拟多路开关和通道寻址逻辑,因而有理由把它作为简单的“数据采集系统”。利用它可直接输入8个单端的模拟信号分时进行A/D转换,在多点巡回检测和过程控制、运动控制中应用十分广泛。1) 主要技术指标和特性 (1)分辨率: 8位。1(2)总的不可调误差: ADC0808为±2LSB,ADC 0809为±1LSB。(3)转换时间: 取决于芯片时钟频率,如CLK=500kHz时,TCONV=128μs。 (4)单一电源: +5V。(5)模拟输入电压范围: 单极性0~5V;双极性±5V,±10V(需外加一定电路)。 (6)具有可控三态输出缓存器。(7)启动转换控制为脉冲式(正脉冲),上升沿使所有内部寄存器清零,下降沿使A/D转换开始。(8)使用时不需进行零点和满刻度调节。 2) 内部结构和外部引脚ADC的内部结构和外部引脚分别如图11.19和图11.20所示。内部各部分的作用和工作原理在内部结构图中已一目了然,在此就不再赘述,下面仅对各引脚定义分述如下:图11.19 ADC内部结构框图(1)IN0~IN7——8路模拟输入,通过3根地址译码线ADDA、ADDB、ADDC来选通一路。(2)D7~D0——A/D转换后的数据输出端,为三态可控输出,故可直接和微处理器数据线连接。8位排列顺序是D7为最高位,D0为最低位。(3)ADDA、ADDB、ADDC——模拟通道选择地址信号,ADDA为低位,ADDC为高位。地址信号与选中通道对应关系如表11.3所示。(4)VR(+)、VR(-)——正、负参考电压输入端,用于提供片内DAC电阻网络的基准电压。在单极性输入时,VR(+)=5V,VR(-)=0V;双极性输入时,VR(+)、VR(-)分别接正、负极性的参考电压。图11.20 ADC外部引脚图(5)ALE——地址锁存允许信号,高电平有效。当此信号有效时,A、B、C三位地址信号被锁存,译码选通对应模拟通道。在使用时,该信号常和START信号连在一起,以便同时锁存通道地址和启动A/D转换。(6)START——A/D转换启动信号,正脉冲有效。加于该端的脉冲的上升沿使逐次逼近寄存器清零,下降沿开始A/D转换。如正在进行转换时又接到新的启动脉冲,则原来的转换进程被中止,重新从头开始转换。(7)EOC——转换结束信号,高电平有效。该信号在A/D转换过程中为低电平,其余时间为高电平。该信号可作为被CPU查询的状态信号,也可作为对CPU的中断请求信号。在需要对某个模拟量不断采样、转换的情况下,EOC也可作为启动信号反馈接到START端,但在刚加电时需由外电路第一次启动。(8)OE——输出允许信号,高电平有效。当微处理器送出该信号时,ADC的输出三态门被打开,使转换结果通过数据总线被读走。在中断工作方式下,该信号往往是CPU发出的中断请求响应信号。3) 工作时序与使用说明ADC 的工作时序如图11.21所示。当通道选择地址有效时,ALE信号一出现,地址便马上被锁存,这时转换启动信号紧随ALE之后(或与ALE同时)出现。START的上升沿将逐次逼近寄存器SAR复位,在该上升沿之后的2μs加8个时钟周期内(不定),EOC信号将变低电平,以指示转换操作正在进行中,直到转换完成后EOC再变高电平。微处理器收到变为高电平的EOC信号后,便立即送出OE信号,打开三态门,读取转换结果。图11.21 ADC 工作时序模拟输入通道的选择可以相对于转换开始操作独立地进行(当然,不能在转换过程中进行),然而通常是把通道选择和启动转换结合起来完成(因为ADC的时间特性允许这样做)。这样可以用一条写指令既选择模拟通道又启动转换。在与微机接口时,输入通道的选择可有两种方法,一种是通过地址总线选择,一种是通过数据总线选择。如用EOC信号去产生中断请求,要特别注意EOC的变低相对于启动信号有2μs+8个时钟周期的延迟,要设法使它不致产生虚假的中断请求。为此,最好利用EOC上升沿产生中断请求,而不是靠高电平产生中断请求。2. AD574AAD574A是美国AD公司的产品,是目前国际市场上较先进的、价格低廉、应用较广的混合集成12位逐次逼近式ADC芯片。它分6个等级,即AD574AJ、AK、AL、AS、AT、AU,前三种使用温度范围为0~+70℃,后三种为-55~+125℃。它们除线性度及其他某些特性因等级不同而异外,主要性能指标和工作特点是相同的。1) 主要技术指标和特性1(1)非线性误差: ±1LSB或±2LSB(因等级不同而异)。(2)电压输入范围: 单极性0~+10V,0~+20V,双极性±5V,±10V。 (3)转换时间: 35μs。(4)供电电源: +5V,±15V。(5)启动转换方式: 由多个信号联合控制,属脉冲式。 (6)输出方式: 具有多路方式的可控三态输出缓存器。 (7)无需外加时钟。(8)片内有基准电压源。可外加VR,也可通过将VO(R)与Vi(R)相连而自己提供VR。内部提供的VR为(10.00±0.1)V(max),可供外部使用,其最大输出电流为1.5mA;(9)可进行12位或8位转换。12位输出可一次完成,也可两次完成(先高8位,后低4位)。2) 内部结构与引脚功能AD574A的内部结构与外部引脚如图11.22所示。从图可见,它由两片大规模集成电路混合而成: 一片为以D/A转换器AD565和10V基准源为主的模拟片,一片为集成了逐次逼近寄存器SAR和转换控制电路、时钟电路、三态输出缓冲器电路和高分辨率比较器的数字片,其中12位三态输出缓冲器分成独立的A、B、C三段,每段4位,目的是便于与各种字长微处理器的数据总线直接相连。AD574A为28引脚双列直插式封装,各引脚信号的功能定义分述如下:图11.22 AD574A的结构框图与引脚(1)12/8——输出数据方式选择。当接高电平时,输出数据是12位字长;当接低电平时,是将转换输出的数变成两个8位字输出。(2)A0——转换数据长度选择。当A0为低电平时,进行12位转换;A0为高电平时,则为8位长度的转换。(3)CS——片选信号。(4)R/C——读或转换选择。当为高电平时,可将转换后数据读出;当为低电平时,启动转换。(5)CE——芯片允许信号,用来控制转换与读操作。只有当它为高电平时,并且CS=0时,R/信号的控制才起作用。CE和CS、R/C、12/8、A0信号配合进行转换和读操作的控制真值表如表11.4所示。(6)VCC——正电源,电压范围为0~+16.5V。(7)Vo(R)——+10V参考电压输出端,具有1.5mA的带负载能力。(8)AGND——模拟地。(9)GND——数字地。(10)Vi(R)——参考电压输入端。(11)VEE——负电源,可选加-11.4V~-16.5V之间的电压。(12)BIP OFF——双极性偏移端,用于极性控制。单极性输入时接模拟地(AGND),双极性输入时接Vo(R)端。(13)Vi(10)——单极性0~+10V范围输入端,双极性±5V范围输入端。 (14)Vi(20)——单极性0~+20V范围输入端,双极性±10V范围输入端。(15)STS——转换状态输出端,只在转换进行过程中呈现高电平,转换一结束立即返回到低电平。可用查询方式检测此端电平变化,来判断转换是否结束,也可利用它的负跳变沿来触发一个触发器产生IRQ信号,在中断服务程序中读取转换后的有效数据。从转换被启动并使STS变高电平一直到转换周期完成这一段时间内,AD574A对再来的启动信号不予理睬,转换进行期间也不能从输出数据缓冲器读取数据。3) 工作时序AD574A的工作时序如图11.23所示。对其启动转换和转换结束后读数据两个过程分别说明如下:51ADC0809中文资料以及和单片机接口电路设计和程序_adc0809中文资料图11.23 AD574A的工作时序(1)启动转换 在CS=0和CE=1时,才能启动转换。由于是CS=0和CE=1相与后,才能启动A/D转换,因此实际上这两者中哪一个信号后出现,就认为是该信号启动了转换。无论用哪一个启动转换,都应使R/C信号超前其200ns时间变低电平。从图11.23可看出,是由CE启动转换的,当R/为低电平时,启动后才是转换,否则将成为读数据操作。在转换期间STS为高电平,转换完成时变低电平。(2)读转换数据 在CS=0和CE=1且R/C为高电平时,才能读数据,由12/8决定是12位并行读出,还是两次读出。如图11.23所示,CS或CE信号均可用作允许输出信号,看哪一个后出现,图中为CE信号后出现。规定A0要超前于读信号至少150ns,R/C信号超前于CE信号最小可到零。从表11.4和图11.23可看出,AD574A还能以一种单独控制(stand-alone)方式工作: CE和12/8固定接高电平,CS和A0固定接地,只用R/C来控制转换和读数,R/C=0时启动12位转换,R/C=1时并行读出12位数。具体实现办法可有两种: 正脉冲控制和负脉冲控制。当使用350ns以上的R/C正脉冲控制时,有脉冲期间开启三态缓冲器读数,脉冲后沿(下降沿)启动转换。当使用400ns以上的R/C负脉冲控制时,则前沿启动转换,脉冲结束后读数。4) 使用方法AD574A有单极性和双极性两种模拟输入方式。(1)单极性输入的接线和校准单极性输入的接线如图11.24(a)所示。AD574A在单极性方式下,有两种额定的模拟输入范围: 0~+10V的输入接在Vi(10)和AGND间,0~+20V输入接在Vi(20)和AGND间。R1用于偏移调整(如不需进行调整可把BIP OFF直接接AGND,省去外加的调整电路),R2用于满量程调整(如不需调整,R2可用一个50Ω±1%的金属膜固定电阻代替)。为使量化误11差为±2LSB,AD574A的额定偏移规定为2LSB。因此在作偏移调整时,使输入电压为12LSB(满量程电压为+10V时是1.22mV),调R1,使数字输出为到1的跳变。在做满量程调整时,是通过施加一个低于满量程值12LSB的模拟信号进行的,这时调R2以得到从到的跳变点。(2)双极性输入的接线和校准双极性输入的接线如图11.24(b)所示。和单极性输入时一样,双极性时也有两种额定的模拟输入范围: ±5V和±10V。±5V输入接在Vi(10)和AGND之间;±10V接在Vi(20)和AGND之间。图11.24 AD574A的输入接线图1双极性校准也类似于单极性校准。调整方法是,先施加一个高于负满量程2LSB(对于±5V范围为-4.9988V)的输入电压,调R1,使输出出现从到的1跳变;再施加一个低于正满量程12LSB(对于±5V范围为+4.9963V)的输入信号,调R2使输出现从到的跳变。如偏移和增益无需调整,则相应的调整电阻也和在单极性中一样,R2可用50±1%Ω的固定电阻代替。ADC 0808 与 ADC 0809 区别§7.3 A/D转换器ADC0809与 MCS-51单片机的接口设计 ADC八位逐次逼近式A/D转换器是一种单片CMOS器件,包括8位的模/数转换器,8通道多路转换器和与微处理器兼容的控制逻辑.8通道多路转换器能直接连通8个单端模拟信号中一任何一个. 一,ADC的内部结构及引脚功能 1,ADC0809转换器内部结构2,ADC0809引脚功能分辨率为8位.最大不可调误差ADC0808小于±1/2LSB,ADC0809小于±1LSB单一+5V供电,模拟输入范围为0~5V.具有锁存三态输出,输出与TTL兼容.功耗为15mw.不必进行零点和满度调整.转换速度取决于芯片的时钟频率.时钟频率范围:10~1280KHZ当CLK=500KHZ时,转换速度为128μs.IN0~IN7:8路输入通道的模拟量输入端口. 2-1~2-8:8位数字量输出端口. START,ALE:START为启动控制输入端口,ALE为地址锁存控制信号端口.这两个信号端可连接在一起,当通过软件输入一个正脉冲,便立即启动模/数转换.EOC,OE:EOC为转换结束信号脉冲输出端口,OE为输出允许控制端口,这两个信号亦可连结在一起表示模/数转换结束.OE端的电平由低变高,打开三态输出锁存器,将转换结果的数字量输出到数据总线上.REF(+),REF(-),VCC,GND,REF(+)和REF(-)为参考电压输入端,VCC为主电源输入端,GND为接地端.一般REF(+)与VCC连接在一起,REF(-)与GND连接在一起.CLK:时钟输入端.3,8路模拟开关的三位地址选通编码表ADDA,B,C8路模拟开关的三位地址选通输入端,以选择对应的输入通道. 地 址 码对应的输入通道CBAIN0IN1IN2IN3IN4IN5IN6IN7二,ADC与8031单片机的接口设计 ADC与8031单片机的硬件接口有三种方式,查询方式,中断方式和等待延时方式.究竟采用何种方式,应视具体情况,按总体要求而选择.1.延时方式 ADC0809编程模式在软件编写时,应令p2.7=A15=0;A0,A1,A2给出被选择的模拟通道的地址;执行一条输出指令,启动A/D转换;执行一条输入指令,读取A/D转换结果.通道地址:7FF8H~7FFFH下面的程序是采用延时的方法,分别对8路模拟信号轮流采样一次,并依次把结果转存到数据存储区的采样转换程序.START: MOV R1, #50H ;置数据区首地址MOV DPTR, #7FF8H ;P2.7=0且指向通道0 MOV R7, #08H ;置通道数 NEXT: MOVX @DPTR,A ;启动A/D转换MOV R6, #0AH ;软件延时DLAY: NOPNOPNOPDJNZ R6, DLAYMOVX A, @DPTR ;读取转换结果MOV @ R1, A ;存储数据INC DPTR ;指向下一个通道INC R1 ;修改数据区指针 DJNZ R7, NEXT ;8个通道全采样完了吗 ........ 2.中断方式 将ADC作为一个外部扩展的并行I/O口,直接由8031的P2.0和脉冲进行启动.通道地址为FEF8H~FEFFH用中断方式读取转换结果的数字量,模拟量输入通路选择端A,B,C分别与8031的P0.0,P0.1,P0.2(经74LS373)相连,CLK由8031的ALE提供. INTADC:SETB IT1 ;选择为边沿触发方式SETB EA ;开中断SETB EX1 ;MOV DPTR, #0FEF8H ;通道地址送DPTRMOVX @DPTR,A ;启动A/D转换……PINT1: ……MOV DPTR, #0FEF8H ; 通道地址送DPTRMOVX A, @ DPTR;读取从IN0输入的转换结果存入MOV 50H, A ;50H单元MOVX @DPTR,A ;启动A/D转换RETI ;中断返回三,接口电路设计中的几点注意事项1.关于ADC最高工作时钟频率的说明由于ADC芯片内无时钟,所以必须靠外部提供时钟;外部时钟的频率范围为10KHZ~1280KHZ.在前面的ADC通过中断方式与8031单片机接口的电路中,8031单片机的主频接为6MHZ,ALE提供ADC的时钟频率为1MHZ(1000KHZ);实际应用系统使用证明,ADC能够正常可靠地工作.但在用户进行ADC应用设计时,推荐选用640KHZ左右的时钟频率. 2,ADC0816/17与ADC0809的主要区别ADC与ADC相比,除模拟量输入通道数增至16路,封装为40引脚外,其原理,性能结构基本相同.ADC0816和ADC0817的主要区别是:ADC0816的最大不可调误差为±1/2LSB,精度高,价格也高;ADC0817的最大不可调误差为士1LSB,价格低. 习题七 试设计一数据采集系统 2002.10 使用单位: 山东省气象局在东营市孤岛气象观察站设计单位: 山东大学物理与微电子学院2000级设计方案: 自行确定提 示: 对于非模拟物理量,可以用下图示意即可非电物理量传感器A/D转换器§7.3 A/D转换器 MCS-51单片机的接口设计 八位逐次逼近式A/D转换器是一种单片,包括8位的模/数转换器,8通道多路转换器和与微处理器兼容的控制逻辑.8通道多路转换器能直接连通8个单端模拟信号中一任何一个.一,ADC的内部结构及引脚功能 转换器内部结构 引脚功能分辨率为8位.最大不可调误差ADC0808小于±1/2LSB,小于±1LSB单一+5V供电,模拟输入范围为0~5V.具有锁存三态输出,输出与TTL兼容.功耗为15mw.不必进行零点和满度调整.转换速度取决于芯片的时钟频率.时钟频率范围:10~1280KHZ当CLK=500KHZ时,转换速度为128μs.IN0~IN7:8路输入通道的模拟量输入端口.2-1~2-8:8位数字量输出端口.START,ALE:START为启动控制输入端口,ALE为地址锁存控制信号端口.这两个信号端可连接在一起,当通过软件输入一个正脉冲,便立即启动模/数转换.EOC,OE:EOC为转换结束信号脉冲输出端口,OE为输出允许控制端口,这两个信号亦可连结在一起表示模/数转换结束.OE端的电平由低变高,打开三态输出锁存器,将转换结果的数字量输出到数据总线上.REF(+),REF(-),VCC,GND,REF(+)和REF(-)为参考电压输入端,VCC为主电源输入端,GND为接地端.一般REF(+)与VCC连接在一起,REF(-)与GND连接在一起.CLK:时钟输入端.3,8路模拟开关的三位地址选通编码表ADDA,B,C8路模拟开关的三位地址选通输入端,以选择对应的输入通道.地 址 码对应的输入通道CBA111111111111IN0IN1IN2IN3IN4IN5IN6IN7二,ADC与8031单片机的接口设计 与,查询方式,中断方式和等待延时方式.究竟采用何种方式,应视具体情况,按总体要求而选择.1.延时方式 编程模式在软件编写时,应令p2.7=A15=0;A0,A1,A2给出被选择的模拟通道的地址;执行一条输出指令,启动A/D转换;执行一条输入指令,读取A/D转换结果.通道地址:7FF8H~7FFFH下面的程序是采用延时的方法,分别对8路模拟信号轮流采样一次,并依次把结果转存到数据存储区的采样转换程序.START: MOV R1, #50H ;置数据区首地址MOV DPTR, #7FF8H ;P2.7=0且指向通道0MOV R7, #08H ;置通道数NEXT: MOVX @DPTR,A ;启动A/D转换MOV R6, #0AH ;软件延时DLAY: NOPNOPNOPDJNZ R6, DLAYMOVX A, @DPTR ;读取转换结果MOV @ R1, A ;存储数据INC DPTR ;指向下一个通道INC R1 ;修改数据区指针DJNZ R7, NEXT ;8个通道全采样完了吗........2.中断方式将ADC作为一个外部扩展的并行I/O口,直接由8031的P2.0和脉冲进行启动.通道地址为FEF8H~FEFFH用中断方式读取转换结果的数字量,模拟量输入通路选择端A,B,C分别与8031的P0.0,P0.1,P0.2(经74LS373)相连,51ADC0809中文资料以及和单片机接口电路设计和程序_adc0809中文资料CLK由ALE提供.INTADC:SETB IT1 ;选择为边沿触发方式SETB EA ;开中断SETB EX1 ;MOV DPTR, #0FEF8H ;通道地址送DPTRMOVX @DPTR,A ;启动A/D转换……PINT1: ……MOV DPTR, #0FEF8H ; 通道地址送DPTRMOVX A, @ DPTR;读取从IN0输入的转换结果存入MOV 50H, A ;50H单元MOVX @DPTR,A ;启动A/D转换RETI ;中断返回三,接口电路设计中的几点注意事项1.关于最高工作时钟频率的说明由于ADC芯片内无时钟,所以必须靠外部提供时钟;外部时钟的频率范围为10KHZ~1280KHZ.在前面的ADC通过中断方式与8031单片机接口的电路中,8031单片机的主频接为6MHZ,ALE提供ADC的时钟频率为1MHZ(1000KHZ);实际应用系统使用证明,ADC能够正常可靠地工作.但在用户进行ADC应用设计时,推荐选用640KHZ左右的时钟频率. 与的主要区别 与相比,除模拟量输入通道数增至16路,封装为40引脚外,其原理,性能结构基本相同. 和: 的最大不可调误差为±1/2LSB,精度高,价格也高; 的最大不可调误差为士1LSB,价格低.习题七 试设计一数据采集系统 2002.10使用单位: 山东省气象局在东营市孤岛气象观察站设计单位: 山东大学物理与微电子学院2000级设计方案: 自行确定提 示: 对于非模拟物理量,可以用下图示意即可ADC0808ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。ADC0808是ADC0809的简化版本,功能基本相同。一般在硬件仿真时采用ADC0808进行A/D转换,实际使用时采用ADC0809进行A/D转换。ADC0808管脚图内部结构ADC0808是CMOS单片型逐次逼近式A/D转换器,它有8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器。引脚功能(外部特性)ADC0808芯片有28条引脚,采用双列直插式封装,如右图所示。各引脚功能如下:1~5和26~28(IN0~IN7):8路模拟量输入端。8、14、15和17~21:8位数字量输出端。22(ALE):地址锁存允许信号,输入,高电平有效。6(START): A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。7(EOC): A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。9(OE):数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。10(CLK):时钟脉冲输入端。要求时钟频率不高于640KHZ。12(VREF(+))和16(VREF(-)):参考电压输入端11(Vcc):主电源输入端。13(GND):地。23~25(ADDA、ADDB、ADDC):3位地址输入线,用于选通8路模拟输入中的一路一个风格很好的AD转换程序,值得你参考标签: AD转换程序顶[0] 分享到 发表评论(0) 编辑词条 开心001 人人网 新浪微博//ICC-AVR application builder :
1:26:55// Target : M16// Crystal:1.0000Mhz#include &iom16v.h&#include &macros.h&#define ADC_VREF_TYPE 0xe0 //选用2.56V 的片内基准电压源,且结果为左对齐 #define AD_SE_ADC0 0x00 //ADC0unsigned char Table[10] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //数码管字型0~9unsigned char Data[4] = {0,0,0,0}; //存放A/D转换结果unsigned long int i,j=2560,k=256;void port_init(void){PORTA = 0x01;DDRA = 0x00;PORTB = 0xFF;DDRB = 0xFF;PORTC = 0x0F; //m103 output onlyDDRC = 0x0F;PORTD = 0x00;DDRD = 0x00;}//ADC initialize// Conversion time: 112uSvoid adc_init(void){ADCSR = 0x00; //disable adcADMUX = 0x00; //select adc input 0ACSR = 0x80;ADCSR = 0x86;}//call this routine to initialize all peripheralsvoid init_devices(void){//stop errant interrupts until set upCLI(); //disable all interruptsport_init();adc_init();MCUCR = 0x00;GICR = 0x00;TIMSK = 0x00; //timer interrupt sourcesSEI(); //re-enable interrupts//all peripherals are now initialized}void delay_(unsigned char a){for(i=0;i&a*7373;i++);}void Display(unsigned char p[]) //动态显示,{for(i=0;i&4;i++){PORTD=0x01&&i;PORTB=Table[p[i]];delay_(5);PORTD&=(~0x01&&i);}}unsigned int read_adc(unsigned char adc_input) //读取A/D转换结果 {ADMUX=adc_input|ADC_VREF_TYPE;ADCSRA|=0x40; //启动A/D转换while ((ADCSRA&0x10)==0); //等待A/D转换完成ADCSRA|=0x10;return ADCH;}void Process(unsigned int i,unsigned char *p) //数据处理函数 {p[0]=i/1000;i=i%1000;p[1]=i/100;i=i%100;p[2]=i/10;i=i%10;p[3]=i;}void main(void){init_devices();DDRA=0x00; //设置A口为不带上拉输入;PORTA=0x00;DDRB=0 //设置B口为输出口;51ADC0809中文资料以及和单片机接口电路设计和程序_adc0809中文资料DDRD=0 //设置D口为输出口;PORTB=0x3f; //B口初始化输出0 ;D口初始化输出1;点亮全部数码管;PORTD=0ADMUX=ADC_VREF_TYPE; //选择第一通道ADC0;ADCSRA=0xA6; //125k转换速率,自由转换模式;启动A/D转换;delay_(1000); //延时待系统稳定;while(1){i=read_adc(AD_SE_ADC0); //获取A/D转换数据i=(i*j)/k;Process(i,Data); //数据处理Display(Data); //显示结果delay_(5);}}AD转换程序[汇编语言]日 星期五 13:46;实验目的:熟悉A/D转换;软件思路:选择RAO做为模拟输入通道;; 连续转换4次再求平均值做为转换结果; 最后结构只取低8位; 结果送数码管的低3位显示;硬件要求:拨码开关S14第2位置ON,第1位置OFF; 拨码开关S6全部置ON,S5第4-6位置ON,第1-3位置OFF; 为不影响结果,其他拨码开关置OFF。#INCLUDE&P16F877a.INC& ;包含芯片头文件__CONFIG_DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_ON&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC ;*********************寄存器定义*********************TEMP EQU 20H ;临时寄存器BAI EQU 21H ;转换结果的百位SHI EQU 22H ;转换结果的十位GE EQU 23H ;转换结果的个位;****************************************************ORG 00H ;复位入口地址NOP ;ICD需要的空指令GOTO MAIN ;跳转到主程序入口ORG 04H ;中断入口地址RETFIE ;放置一条中断返回指令,防止以外中断发生;***********************查表程序*********************;入口参数:W;出口参数:WTABLEADDWF PCL,1 ;指令寄存器加上偏移地址RETLW 0C0H ;0的编码(公阳极数码管) RETLW 0F9H ;1的编码RETLW 0A4H ;2的编码RETLW 0B0H ;3的编码RETLW 99H ;4的编码RETLW 92H ;5的编码RETLW 082H ;6RETLW 0F8H ;7RETLW 080H ;8RETLW 090H ;9;***********************主程序***********************MAINMOVLW 30HMOVWF FSR ;转换结果存放起始地址LOOPBSF STATUS,RP0 ;选择体1MOVLW 7H ;A口高3位为输出,低3位输入MOVWF TRISACLRF TRISD ;D口设为输出MOVLW 8EHMOVWF ADCON1 ;结果左对齐,只选择RA0做ADC口,其余做普通数字口 BCF STATUS,RP0 ;回体0MOVLW 41HMOVWF ADCON0 ;选择时钟源为fosc/8,允许ADC工作CALL DELAY ;调用延时程序,保证足够的采样时间BSF ADCON0,GO ;启动ADC转换WAITBTFSS PIR1,ADIF ;转换是否完成GOTO WAIT ;等待转换的完成BSF STATUS,RP0MOVFW ADRESL ;读取转换的结果BCF STATUS,RP0MOVWF INDF ;保存到临时寄存器里INCF FSR,1BTFSS FSR,2 ;连续转换4次,求平均值GOTO LOOPCALL CHANGE ;调用结果转换程序CALL DISPLAY ;调用显示程序GOTO MAIN ;循环工作;************************转换程序*********************;入口参数:30H---33H;出口参数:BAI,SHI,GECHANGECLRF BAICLRF SHICLRF GE ;先清除结果寄存器MOVFW 31H ;以下8条指令求4次转换结果的平均值 ADDWF 30H,1MOVFW 32HADDWF 30H,1MOVFW 33HADDWF 30H,1RRF 30H,1RRF 30H,0MOVWF TEMPMOVLW 64H ;减100,结果保留在W中SUBWF TEMP,0BTFSS STATUS,C ;判断是否大于100GOTO SHI_VAL ;否,转求十位结果MOVWF TEMP ;是,差送回TEMP中INCF BAI,1 ;百位加1GOTO $-6 ;返回继续求百位的值SHI_VALMOVLW 0AH ;减10,结果保留在W中SUBWF TEMP,0BTFSS STATUS,C ;判断是否大于10GOTO GE_VAL ;否,转去判断个位结果MOVWF TEMP ;是,差送回TEMP中INCF SHI,1 ;十位值加1GOTO $-6 ;转会继续求十位的值GE_VALMOVFW TEMPMOVWF GE ;个位的值RETURN;**************************显示程序********************;入口参数:BAI,SHI,GE;出口参数:无DISPLAYMOVFW BAI ;显示百位CALL TABLEMOVWF PORTDBCF PORTA,3CALL DELAYCALL DELAYBSF PORTA,3MOVFW SHI ;显示十位CALL TABLEMOVWF PORTDBCF PORTA,4CALL DELAYCALL DELAYBSF PORTA,4MOVFW GE ;显示个位CALL TABLEMOVWF PORTDBCF PORTA,5CALL DELAYCALL DELAYBSF PORTA,5RETURN;***************************延时程序***********************;入口参数:无;出口参数:无DELAYMOVLW 5FHMOVWF TEMPDECFSZ TEMP,1GOTO $-1RETURN;*********************************************************END ;程序结束串行AD转换芯片与51单片机的接口电路及程序设计---------------------------------------------------------------------------------串行AD转换芯片与51单片机的接口电路及程序设计AT89C51单片机系统经常使用A/D转换器。虽然并行A/D转换器速度高、转换通道多,但其价格高,占用单片机接口资源比串行A/D转换器多。工业检测控制及智能化仪器仪表中经常采用串行A/D转换器。ADS1110是一种精密、可连续自校准的串行A/D转换器,带有差分输入和高达16位的分辨率,其串行接口为I2C总线。AT89C51单片机通过软件模拟I2C总线实现与ADS1110的连接。ADS1110的特点与内部结构ADS1110的特点完整的数据采集系统和小型SOT23-6封装;片内基准电压:精度2.048 V+0.05%;片内可编程增益放大器PGA;片内振荡器;16位分辨率;可编程的转换速率15次/秒~240次/秒;I2C总线接口(8个有效地址);电源电压2.7 V~5.5 V;低电流消耗240 μA。 ADS1110的引脚功能ADS1110串行A/D转换器采用6引脚贴片封装,其引脚排列如图1所示。VDD:电源端,通常接+5V;GND:模拟地和数字地;VIN+、VIN-:采样模拟信号输入端,其范围为2.048 V~2.048 V;SCL:I2C总线时钟线;SDA:I2C总线数据线。ADS1110的内部结构ADS1110是由带有可调增益的△-∑型转换器内核、2.048 V的电压基准、时钟振荡器和I2C总线接口组成。其内部结构如图2所示。ADS1110的寄存器读写配置请参考:ADS110引脚功能,寄存器配置及应用电路介绍ADS1110的A/D转换器内核是由差分开关电容△-∑调节器和数字滤波器组成。调节器测量正模拟输入和负模拟输入的压差,并将其与基准电压相比较。数字滤波器接收高速数据流并输出代码,该代码是一个与输入电压成比例的数字,即A/D转换后的数据。ADS1110片内电压基准是2.048 V。ADS1110只能采用内部电压基准该基准,不能测量,也不用于外部电路。ADS1110片内集成时钟振荡器用于驱动△-∑调节器和数字滤波器。ADS1110的信号输入端设有可编程增益放大器PGA,其输入阻抗在差分输入时的典型值为2.8 MΩ。硬件设计由于AT89C51单片机没有I2C总线接口,可通过软件模拟实现与I2C总线器件的连接。具体方法是将单片机的I/O接口连接至I2C的数据线SDA和时钟线SCL。通过软件控制时钟和数据传输,系统灵活性强。图5所示是数据采集显示系统,采集工业现场的4路模拟信号并轮询显示。采用4个ADS1110作为A/D转换器,地址为ED0~ED3。具有I2C总线接口的EEPROM AT24C16作为存储器。本系统有4位LED数码显示管和4个参数设定按键。采集数据经数字滤波、16进制→工程值转换后,送至数码管轮询显示。ADS1110和AT24C16的I2C接口连ADSl110数据线SDA至单片机的P1.0,时钟线SCL连接单片机的P1.1,上拉电阻阻值选10 kΩ。软件设计按照硬件电路,编写A/D转换子程序为ADS0,其中嵌套调用了START,为起始命令子程序,FSDZ1为向ADS1110发送单个字节命令的子程序,ADREAD是读取输出寄存器和配置寄存器的子程序,STOP是停止命令子程序。ADS0只对地址为ED0的ADS1110读数,如果要读取其他ADS1110,只需更改地址即可。系统中ADS1110的工作方式选用默认设置,51ADC0809中文资料以及和单片机接口电路设计和程序_adc0809中文资料即配置寄存器内容为#8CH,所以程序未向配置寄存器写入数据。程序代码如下:5 结束语ADS1110是一款高性价比具有I2C总线接口的串行A/D转换器。ADS1110已在单片机系统中应用,并用于现场。实践证明,ADS1110和单片机组成的数据采集系统,占用I/O端口少、功耗低,适用无电源场合。但需注意的是,因I2C总线为串行扩展总线,数据采集时不能用于实时速度要求较高的场合。上一篇:串行A/D转换器ADSL1110引脚图,特点及内部结构介绍本文来自:
原文网址:/info/commonIC/0076443.html51写的单片机程序,AD转换,0809,具有记忆电压功能,自动扫描,智能扫描。想看就得静下心来看 03:54;模数转换8位,最小精度0.02,;ADC 0809;外部频率500KHZ; ------------; 0.0~0.3位控制----|p0 p2 |-|--/8----显示段控制; 0.4~0.7按键---| |; | |; | |; | |---ALE--CLOCK; | |; | |---p3.5-- OE; A/D 8BIT---|p1 P3 |---P3.4--EOC; | |---p3.3--START/ALE; | |---P3.0~P3.2--显示位控制; -----------;转换顺序,先选通地址,再SAA脉冲信号,延时10MS,等待EOC为高,从P1口读入,(也可以P2口读入);作为动态自动扫描时,用33H存显示的通道,并赋给P3口,而P3口高位全为一,保证数据的有效读入;晶振12MHZ;30,31,32-=显示字,33H--8BIT,34H--MODE,35H--BIT CONTROL,36--显示通道字 37H--10 38H--FFHSTA BIT P3.6;START ALE BIT P3.3 ; ALEEOC BIT P3.4OE BIT P3.5DYBJ BIT 20H.0 ;大于比较XYBJ BIT 20H.1 ;小于比较CCBJ BIT 20H.2 ;存储电压标记;*************程序开始初始化**********************ORG 0000HSTART:MOV P0,#0FFHMOV P1,#0FFHMOV P3,#0D0HMOV P2,#0FFHMOV 20H,#00H ;延时初始化MOV R5,#25MOV R6,#50MOV R7,#50MOV 30H,#0BFH; - 显示初始化 显示位 2MOV 31H,#0BFH ; - 显示初始化 显示位 3MOV 32H,#0BFH ; - 显示初始化 显示位4MOV 33H,#00H ;BIT CONTROL --8MOV 34H,#00H ;MODE SELECT COUNTERMOV 36H,#0BFH ; - 显示初始化 显示位1; ------------存储区初始化--------MOV 50H,#00HMOV 51H,#00HMOV 52H,#00HMOV 53H,#00HMOV 54H,#00HMOV 55H,#00HMOV 56H,#00HMOV 57H,#00HCALL XIANSHIAJMP ITMODETS;--------------------------------------------------------------------------- DELAY: ;10 MSDJNZ R5,$MOV R5,#25;提高扫描次数DJNZ R6, DELAYMOV R6,#50RET;*********************显示部分800MS******************XIANSHI:MOV P2,36HCLR P0.0CALL DELAYSETB P0.0MOV P2,30HCLR P0.1CALL DELAYSETB P0.1MOV P2,31HCLR P0.2CALL DELAYSETB P0.2MOV P2,32HCLR P0.3CALL DELAYSETB P0.3DJNZ R7,XIANSHIMOV R7,#50RET;----------------------模式部分---------------------------ITMODETS:;智能模式提示MOV 33H,#00HMOV 36H,#0A4H ;ZMOV 30H,#0C8H ;NMOV 31H,#0A3H ;oMOV 32H,#0A3H ;oCALL XIANSHIITMODE: ;智能模式JNB P0.4,AUTOMODETSCALL WBQZMOV A,21HCJNE A,#00H,ITMODE0JMP ITMODE1ITMODE0:CALL TDXIANSHICALL XIANSHI ;延长时间ITMODE1:CALL TDADD1AJMP ITMODE;-----------------CUN CHU MODE--------STOREMODETS: ;智能选择,循环显示MOV R1,#50HMOV 33H,#00HMOV 36H,#0C6H ;CMOV 30H,#0C6H ;CMOV 31H,#0A3H ;oMOV 32H,#0A3H ;oCALL XIANSHIJNB P0.4,STOREMODETS;防止按键时间过长,跳过该模式 STOREMODE: ;存储模式;初始化R1JNB P0.4,ITMODETSMOV 21H,@R1MOV A,21HCJNE A,#00H, STMODEJMP STMODE0STMODE:CALL CCTDSTMODE0:CALL TDADD1INC R1CJNE R1,#58H,STOREMODEMOV R1,#50HAJMP STOREMODE;--------------AUTO MODE-------------AUTOMODETS:MOV 33H,#00HMOV 36H,#0A4H ;ZMOV 30H,#0A1H ;dMOV 31H,#0A3H ;oMOV 32H,#0A3H ;oCALL XIANSHIAUTOMODE: ;自动模式JNB P0.4,MANMODETSCALL TZXCALL TDADD1AJMP AUTOMODE;---------------MAN MODE------------- MANMODETS:MOV 33H,#00HMOV 36H,#092H ;SMOV 30H,#0A1H ;dMOV 31H,#0A3H ;oMOV 32H,#0A3H ;oCALL XIANSHIMANMODE: ; 手动模式 ,具有电压存储功能 JNB P0.4,STOREMODETSCALL TZXJB P0.6, MMDCALL DELAYJB P0.6, MMDCALL TDADD1 ;通道加一 按键检测 AJMP MANMODEMMD:JB P0.7,MMD0CALL DELAYJB P0.7,MMD0CALL TDPLUS1 ;通道减一 按键检测 AJMP MANMODEMMD0: ;存储通道电压按键检测 JB P0.5,MANMODECALL DELAYJB P0.5,MANMODEMOV R1,#50H ;按通道存储MOV A, 33HADD A, R1MOV R1,AMOV @R1,21H ; 加入存储动作提示MOV 36H,#0C6HMOV 30H,#0C6HMOV 31H,#0BFHMOV 32H,#0BFHCALL XIANSHIJMP MANMODE51ADC0809中文资料以及和单片机接口电路设计和程序_adc0809中文资料;---------------一体化部分-------------------------------TZX:;通道,转换,显示一体化CALL TDXIANSHICALL WBQZCALL XIANSHIRETCCTD: ;存储通道,编码,显示一体化CALL TDXIANSHICALL CONVERTCALL XIANSHIRET;----------------通道显示转化部分---------------------TDXIANSHI: ;通道字的转换MOV A,33HMOV DPTR,#XSSMOVC A,@A+DPTRMOV 36H,ARETTDADD1: ;通道加一MOV A,33HINC ACJNE A,#08H,TDTZMOV 33H,#00HRETTDTZ: ;通道调整MOV 33H,ARETTDPLUS1: ;通道减一MOV A,33HDEC ACJNE A,#0FFH,TDTZ;通道调整MOV 33H,#00HRET;+++++++++++++++++++++计数部分 JISHI BU FEN++++++++++++++++++;以下为电压查询部分,可直接调用------------------------------------------- WBQZ: ;外部取值MOV 20H,#00HMOV P2,#0FFHMOV 35H,33HORL 33H,#0D0HMOV P3,33HMOV 33H,35HSETB ALECLR STAJNB EOC,$MOV P1,#0FFH ; 高阻态SETB OEMOV A,P1MOV 21H,ACONVERT: ;电压查询转换MOV 30H,#2MOV 31H,#5MOV 32H,#00HCLR OEAJMP SWCXSWCX:MOV A,30HMOV DPTR,#ZSB;整数表,存的是二进制电压MOVC A,@A+DPTRCJNE A,21H,JXC;继续查AJMP SWCC;首位查出JXC:SUBB A,21HJC ADD0AJMP PLUS0PLUS0:DEC 30HJB XYBJ,ZWCX;中为查询CLR CSETB DYBJAJMP SWCXADD0:JB DYBJ,ZWCXINC 30HCLR CSETB XYBJAJMP SWCXZWCX: ;中为查询,根据30H的值,找出表单MOV A,30HCX0V: CJNE A,#00H,CX1VMOV DPTR,#TAB0VAJMP ZWXCCX1V: CJNE A,#01H,CX2VMOV DPTR,#TAB1VAJMP ZWXC;中位详查CX2V: CJNE A,#02H,CX3VMOV DPTR,#TAB2VAJMP ZWXCCX3V: CJNE A,#03H,CX4VMOV DPTR,#TAB3VAJMP ZWXCCX4V: CJNE A,#04H,WRONGMOV DPTR,#TAB4VAJMP ZWXCWRONG:MOV P2,#079H;ECPL P0.3CALL DELAY;20MSDJNZ R7,WRONGMOV R7,#20AJMP XIANSHI;显示上次测量电压600MS后,就重新测量ZWXC:MOV 20H,#00HZWXC1:MOV A,31HMOVC A,@A+DPTRMOV 22H,ACJNE A,21H,BJAJMP ZWCCBJ:SUBB A,21HJC ADD1AJMP PLUS1PLUS1:DEC 31HJB XYBJ,MWCX;中为查询CLR CSETB DYBJAJMP ZWXC1ADD1:JB DYBJ,MWCXINC 31HCLR CSETB XYBJAJMP ZWXC1MWCX: ;调整22H的值为前一值,查询溢出时,调整为9CLR CMOV A,31HMOVC A,@A+DPTRMOV 22H,AMWCX0:; MOV A,22HINC 22H;INC 32HMOV A,22HCJNE A,21H,MWCX0MOV A,#5SUBB A,32HJC MWYCJZ MWYCMOV A,32HRL AMOV 32H,AAJMP CBQZMWYC: MOV 32H,#9JMP CBQZSWCC: MOV 31H,#0ZWCC: MOV 32H,#0CBQZ:MOV DPTR,#DDS;带点数MOV A,30HMOVC A,@A+DPTRMOV 30H,AMOV DPTR,#XSS;显示数查询MOV A,31HMOVC A,@A+DPTRMOV 31H,AMOV A,32HMOVC A,@A+DPTRMOV 32H,ARETZSB: DB 00H, 33H ,66H, 99H,0CCH,0FFHDDS: DB 040H;0. 带点数DB 079H;1.DB 024H;2.DB 030H;3.DB 019H;4.DB 012H;5.XSS: DB 0C0H;0 显示数字DB 0F9H;1DB 0A4H;2DB 0B0H;3DB 099H;4DB 092H;5DB 082H;6DB 0F8H;7DB 080H;8DB 090H;9 电压表单TAB0V: DB 00H, 05H, 0AH, 0FH, 14H, 19H, 1EH, 23H, 28H, 2DH, 33H ; 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1TAB1V: DB 33H, 38H, 3DH, 42H, 47H, 4CH, 51H, 56H, 5BH, 60H, 66H ; 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2TAB2V: DB 66H, 6BH, 70H, 75H, 7AH, 7FH, 84H, 89H, 8EH, 93H, 99H ; 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3TAB3V: DB 99H, 9EH, 0A3H,0A8H,0ADH,0B2H,0B7H,0BCH,0C1H,0C6H,0CCH ; 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4TAB4V: DB 0CCH,0D1H,0D6H,0DBH,0E0H,0E5H,0EAH,0EFH,0F4H,0F9H,0FFH ; 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5摘 要:介绍一种多通道高精度串行A/D转换器TLC2543的主要特点、工作原理,给出了TLC2543与51系列单片机的接口电路及驱动程序。关键词:串行外设接口;单片机;接口TLC2543是11个输入端的12位模数转换器,具有转换快、稳定性好、与微处理器接口简单、价格低等优点,应用前景好。由于它带有串行外设接口(SPI,Seri-alPeripheralInterface),而51系列单片机没有SPI,因此研究它与51单片机的接口就非常有意义。1 TLC2543的引脚及功能TLC2543是12位开关电容逐次逼近模数转换器,有多种封装形式,其中DB、DW或N封装的管脚图见图1。引脚的功能简要分类说明如下。51ADC0809中文资料以及和单片机接口电路设计和程序_adc0809中文资料I/OCLOCK:控制输入输出的时钟,由外部输入。DATAINPUT:控制字输入端,用于选择转换及输出数据格式。DATAOUT:A/D转换结果的输出端。2 TLC2543的使用方法2.1 控制字的格式控制字为从DATAINPUT端串行输入的8位数据,它规定了TLC2543要转换的模拟量通道、转换后的输出数据长度、输出数据的格式。其中高4位(D7~D4)决定通道号,对于0通道至10通道,该4位分别为H,当为时,用于对TLC2543的自检,分别测试(VREF++VREF-)/2、VREF-、VREF+的值,当为1110时,TLC2543进入休眠状态。低4位决定输出数据长度及格式,其中D3、D2决定输出数据长度,01表示输出数据长度为8位,11表示输出数据长度为16位,其他为12位。D1决定输出数据是高位先送出,还是低位先送出,为0表示高位先送出。D0决定输出数据是单极性(二进制)还是双极性(2的补码),若为单极性,该位为0,反之为1。2.2 转换过程上电后,片选CS必须从高到低,才能开始一次工作周期,此时EOC为高,输入数据寄存器被置为0,输出数据寄存器的内容是随机的。开始时,CS片选为高,I/O CLOCK、DATA INPUT被禁止,DATA OUT 呈高阻状,EOC为高。使CS变低,I/OCLOCK、DATAINPUT使能,DATAOUT脱离高阻状态。12个时钟信号从I/OCLOCK端依次加入,随着时钟信号的加入,控制字从DATAINPUT一位一位地在时钟信号的上升沿时被送入TLC2543(高位先送入),同时上一周期转换的A/D数据,即输出数据寄存器中的数据从DATAOUT一位一位地移出。TLC2543收到第4个时钟信号后,通道号也已收到,此时TLC2543开始对选定通道的模拟量进行采样,并保持到第12个时钟的下降沿。在第12个时钟下降沿,EOC变低,开始对本次采样的模拟量进行A/D转换,转换时间约需10μs,转换完成后EOC变高,转换的数据在输出数据寄存器中,待下一个工作周期输出。此后,可以进行新的工作周期。3 TLC2543与单片机的接口和采集程序目前使用的51系列单片机没有SPI接口,为了与TLC2543接口,可以用软件功能来实现SPI的功能,其硬件接口如图2所示。本示例采用延时进行采集,故省去了EOC引脚的接口。下面是采用C51编写的A/D转换程序。其中port是待采集的模拟量通道号,ad_data是采样值。delay()是延时函数,大约为20微秒。参考文献[1]TEXAS产品说明书[Z].2000.[2]马明建,周长城.数据采集与处理[M].西安:西安交通大学出版社,1998.[3]何立民.MCS-51单片机应用系统[M].北京:北京航空航天大学出版社,1998模拟滤波器模拟滤波器可以分为无源和有源滤波器。无源滤波器:这种电路主要有无源元件R、L和C组成。有源滤波器:集成运放和R、C组成,具有不用电感、体积小、重量轻等优点。集成运放的开环电压增益和输入阻抗均很高,输出电阻小,构成有源滤波电路后还具有一定的电压放大和缓冲作用。但集成运放带宽有限,所以目前的有源滤波电路的工作频率难以做得很高。有源滤波自身就是谐波源。其依靠电力电子装置,在检测到系统谐波的同时产生一组和系统幅值相等,相位相反的谐波向量,这样可以抵消掉系统谐波,使其成为正弦波形。有源滤波除了滤除谐波外,同时还可以动态补偿无功功率。其优点是反映动作迅速,滤除谐波可达到95%以上,补偿无功细致。缺点为价格高,容量小。由于目前国际上大容量硅阀技术还不成熟,所以当前常见的有源滤波容量不超过600kvar。其运行可靠性也不及无源。一般无源滤波指通过电感和电容的匹配对某次谐波并联低阻(调谐滤波)状态,给某次谐波电流构成一个低阻态通路。这样谐波电流就不会流入系统。无源滤波的优点为成本低,运行稳定,技术相对成熟,容量大。缺点为谐波滤除率一般只有80%,对基波的无功补偿也是一定的。目前在容量大且要求补偿细致的地方一般使用有源加无源混合型,即无源进行大容量的滤波补偿,有源进行微调。原理上讲,有源滤波器可以达到很高的Q值,但是过高的Q值对于有源滤波器来说是不够稳定的。有源滤波器的特性曲线不够好,有可能是你使用的运放带宽不够。从原理上,无论有源无源,实现出来的特性应该是一致的。主要还是一个制作问题。你的说法有基本概念问题。不能说你的二阶低通滤波器的相应没有巴特沃思的相应好!因为你的滤波器就是根据巴特沃思原形设计的!你的楼下那位大虾说的很对。无论是无源还是有源滤波器,都是基于同样的原形,从滤波特性本身来讲都是一样的。两者的差别不在这里。你还是应该在电路上寻找原因。无源RC滤波器当然不能等同于有源RC滤波器,有源RC和无源LC可以实现出Bottworth函数,而用无源RC实现这个函数是很不理想的,它的最低衰耗值极高(此点鲜为人知)。所以一般不用无源RC函数作滤波器逼近函数。不仅如此,而且经过计算,无源低通二阶滤波器的品质因数非常的低,最高能达到0.5,但是这个还不是所有的频率都能够达到的。滤波器是一种能使有用信号顺利通过而同时对无用频率信号进行抑制(或衰减)的电子装置。工程上常用它来做信号处理、数据传送和抑制干扰等。以往主要采用无源元件R、L和C组成模拟滤波器,六十年代以来,集成运放获得了迅速地发展,由它和R、C组成的源滤波器,具有不用电感、体积小、重量轻等优点。此外,由于集成运放的开环电压增益和输入阻抗均很高,而输出阻抗又很低,而且,由其构成的有源滤波器还具且一定的电压放大和缓冲作用。因此,基于放大器和R、C构成的有源滤波器应用日益广泛。随着微电子学的发展,人们已经可以把一些电阻和电容与运放集成在一块芯片上构成通用有源滤波器(Universal Active Filter,UAF)。这种芯片集成度高,片内集成了设计滤波器所需的电阻和电容,在应用中只需极少数外部器件就可以很方便地构成一个源滤波器。BB(Burr-Brown)公司的UAF42就是这一类通用有源滤波器的代表。它可广泛应用于高通、低通和带通滤波器设计中。它采用典型的状态可调(state-variable)模拟结构,内部集成了一个反向放大器和两个积分器。该积器包括1000μF(±5%)的电容。因此较好的解决了有源波器设计中获得低损耗(low-loss)电容的问题。有源滤波器工作原理是:用电流互感器采集直流线路上的电流,经A/D采样,将所得的电流信号进行谐波分离算法的处理,得到谐波参考信号,作为PWM的调制信号,与三角波相比,从而得到开关信号,用此开关信号去控制IGBT单相桥,根据PWM技术的原理,将上下桥臂的开关信号反接,就可得到与线上谐波信号大小相等、方向相反的谐波电流,将线上的谐波电流抵消掉。这是前馈控制部分。再将有源滤波器接入点后的线上电流的谐波分量反馈回来,作为调节器的输入,调整前馈控制的误差。 低通滤波器科技名词定义中文名称:低通滤波器英文名称:low-pass filter定义:让某一频率以下的信号分量通过,而对该频率以上的信号分量大大抑制的电容、电感与电阻等器件的组合装置。所属学科:通信科技(一级学科);通信原理与基本技术(二级学科)本内容由全国科学技术名词审定委员会审定公布51ADC0809中文资料以及和单片机接口电路设计和程序_adc0809中文资料巴特沃斯滤波器是滤波器的一种设计分类,其采用的是巴特沃斯传递函数,有高通、低通、带通、带阻等多种滤波器类型。巴特沃斯滤波器在通频带内外都有平稳的幅频特性,但有较长的过渡带,在过渡带上很容易造成失真。编辑本段三、切比雪夫滤波器 简述低通滤波器切比雪夫滤波器也是滤波器的一种设计分类,其采用的是切比雪夫传递函数,也有高通、低通、带通、高阻、带阻等多种滤波器类型。同巴特沃斯滤波器相添加图片比,切比雪夫滤波器的过渡带很窄,但内部的幅频特性却很不稳定。滤波器的种类;高通与低通滤波器的最常见拓扑是Sallen Key,它只需一个运放(图1a和1b)。多通(道)滤波器常用作带通滤波器(图1c),而且它还只需要一个运放。图2及图3示出了双二阶滤波器部分的拓扑。每种结构都能实现完整的通用滤波器传递函数。图2所示电路使用三个运放,并且使用中央运放的目的仅是为了使总的反馈路径为负反馈。带开关电容器的相同滤波器只需两个运放(图3)。参考文献1和2介绍了这些滤波器结构。并且使用中央运放的目的仅是为了使总的反馈路径为负反馈低通滤波器允许从直流到某个截止频率 (fCUTOFF) 的信号通过。将通用滤波器二阶传递函数的高通和带通系数均设为零,即得到一个二阶低通滤波器传递公式: 图4示出了一个典型低通滤波器的曲线,此曲线和表2表明低于f0的频率其响应相对平坦。对于高于f0的频率,信号按该频率平方的速率下降。在频率f0处,阻尼值使输出信号衰减。您可以级联多个这样的滤波器部分来得到一个更高阶的(更陡峭的转降)滤波器。假定设计要求一个截止频率为10kHz的四阶贝塞尔 (Bessel) 低通滤波器。根据参考文献1,每部分的转降频率分别为16.13及18.19 kHz,阻尼值分别为1.775及0.821,并且这两个滤波器分区的高通、带通和低通系数分别为0、0与1。您可以使用这两个带有上述参数的滤波器部分来实现所要求的滤波器。截止频率为输出信号衰减3 dB的频率点。51ADC0809中文资料以及和单片机接口电路设计和程序_adc0809中文资料设计简便的高频用定K型LC低通滤波器时间: 22:21:00 来源:电子发烧友 作者:电路的功能由于受放大器频率特性和寄生电容的影响,要制作数面千赫兹以上的有源滤波器非常困难。另一方面既然用LC电路构成的低通滤波器,线圈L的电感量和电路的体积都比较大,但频率在兆赫以上时可以做到小型化,有实用价值。LC滤波器最基本的形式称作定K型滤波器,从直觉上看,电路设计与RC滤波器相同。一般情况下,各项参数因信号源和负载阻抗而异,这里取相等值。设计要点如果先确定了特性阻抗Z,那末可分别应用L=Z/(2πfo.z)公式计算出电感和电容量。普通滤波器的-3DB截止频率FO在这里为FO≈1.5FO。如果FC=1.5MHZ,因为FO=FO/1.5=800KHZ,所以L=119UH,C=331PF。本电路采用了市场采用了市场上出售的固定电感器,所以L、C分别为100UH、330PF时对特性阻抗600欧不会有太大影响。 延伸阅读:
上一篇:下一篇:

我要回帖

更多关于 单片机英文是什么 的文章

 

随机推荐