第八章80C51单片微机的系统扩展原理及接口技术_第1页
第八章80C51单片微机的系统扩展原理及接口技术_第2页
第八章80C51单片微机的系统扩展原理及接口技术_第3页
第八章80C51单片微机的系统扩展原理及接口技术_第4页
第八章80C51单片微机的系统扩展原理及接口技术_第5页
已阅读5页,还剩167页未读 继续免费阅读

下载本文档

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

文档简介

第八章

单片微机的系统扩展原理

及接口技术

Single-chipcomputersystemextensionprincipleandinterfacetechnology

系统扩展原理Systemextensiontheory程序存储器的扩展Expansionofprogrammemory数据存储器的扩展ExtendedDataMemoryI/O口的扩展I/OportexpansionD/A转换接口的扩展D/AconversioninterfaceextensionA/D转换接口的扩展A/Dconversioninterfaceextension键盘接口Keyboardinterface显示接口DisplayInterface系统扩展时的可靠性与低功耗

Thereliabilityofsystemexpansionandlowpowerconsumption8.1系统扩展原理

Systemextensionprinciple

扩展方法:(ExtensionMethods)◆并行扩展法(Parallelexpansion

method)◆串行扩展法(Serialexpansionmethod)8.1.1外部并行扩展原理Externalparallelextensiontheory图8–180C51系列单片微机的三总线结构P0口:低8位地址A0~A7

P2口:高8位地址A8~A15

(2)数据总线(DB)

P0口:D0~D7

P0口为三态双向口(3)控制总线(CB)

、:片外数据存储器和I/O端口的写、读控制(1)地址总线(AB)●ALE:地址锁存●PSEN:读片外程序存储器中的数据●EA :选择片内或片外程序存储器图8–2

地址锁存器8.1.1.1.并行扩展方式的编址技术 ●片选常用方法:(2)译码法⑶可编程阵列逻辑器件PAL(ProgrammableArrayLogic)

通用阵列逻辑GAL(GenericArrayLogic)(加密性好)

⑷I/O口线(1)线选法●片选:●字选:查找扩展的存储单元或I/O端口所在的芯片确定唯一的存储单元或I/O端口图8–464K全地址译码电路#0RAM地址:0000H~1FFFH,共8KB(A15=0,A14=0,A13=0)#1芯片地址:2000H~3FFFH,共8KB(A15=0,A14=0,A13=1)

#2芯片地址:4000H~5FFFH,共8KB(A15=0,A14=1,A13=0)#3芯片地址:6000H~7FFFH,共8KB(A15=0,A14=1,A13=1)#4芯片地址:8000H~9FFFH,共8KB(A15=1,A14=0,A13=0)#5芯片地址:A000H~BFFFH,共8KB(A15=1,A14=0,A13=1)#6芯片地址:C000H~DFFFH,共8KB(A15=1,A14=1,A13=0)#7I/O地址:E000H~FFFFH,共8KBA15=1,A14=1,A13=1)

8.1.1.2.80C51系列单片微机的系统并行扩展能力80C51seriessingle-chipcomputersystemparallelscalability

程序存储器最大容量为64KB,地址:0000H~FFFFH数据存储器最大容量为64KB,地址:0000H~FFFFHUART、SPI总线、I2C总线8.1.2外部串行扩展原理

Externalserialextensiontheory8.1.2.1SPI三线总线结构(SerialPeripheralInterface

)SPI:是一个同步外围接口,允许MCU与各种外围设备以串行方式进行通信一般有3~4根线:串行时钟SCLK,串行数据MISOMOSI

从机选择SS。串口方式0即为此方式8.1.2.2I2C(IntelICBUS)公用双总线结构

SDA:串行数据线,传输双向的数据SCL:串行时钟线,传输时钟信号,同步串行数据线上的数据 8.2程序存储器的扩展

Expansionofprogrammemory

8.2.1程序存储器扩展时的总线功能和操作时序图8–7片外程序存储器取指操作时序图8.2.2片外程序存储器的扩展Chipprogrammemoryexpansion

▲常用程序存储器芯片例:扩展16KB片外程序存储器▲硬件连线HardwareConnectionEA=1,程序存储器先片内4KB、即0000H~0FFFH。当PC值超出片内程序存储器容量时,自动转向片外,所以片外27C128的地址为1000H~3FFFH(12K),共16KB若EA=0,则片外地址0000~3FFFH此接法地址唯一吗?8.3数据存储器的扩展ExtendedDataMemory●各种存储器性能的比较存储器固有不挥发性高密度低功耗晶体管单元在线可重写FLASH √ √ √ √ √SRAM √DRAM √ √ √EEPROM √ √ √ OTP/EPROM√ √ √√掩膜ROM √ √ √ √●常用并行数据存储器芯片:6116、6264、62128、62256、625128.3.1

片外并行数据存储器扩展1.片外并行数据存储器扩展时的总线功能和读、写操作时序80C51对片外数据存储器读、写操作的指令有4条图8–10“MOVXA,@DPTR”和“MOVX@DPTR,A”的操作时序2.片外并行数据存储器的扩展

例:用两片6264扩展16KB片外并行数据存储器的电路。采用线选法寻址。用一根口线P2.7来寻址:●P2.7=0时,访问6264(0),地址范围为6000H~7FFFH。●P2.7=l时,访问6264(1),地址范围为E000H~FFFFH。●如果用P2.6控制选通6264(0),用P2.7控制选通6264(1),地址范围是多少?8.3.2.串行数据存储器的的扩展

ExtensionoftheserialdatamemoryI2C串行EEPROM的扩展◆串行时钟(SCL)◆串行数据(SDA)

双向端口,漏极开路输出◆器件地址A2、A1、A0

,地址输入端,用于器件的选择◆写保护(WP)

硬件数据保护。接地--允许正常的读写接Vcc--禁止写操作,可以读 不连接时,此端被拉为低电平AT24C01/02/04/08/16—128/256/512/1024/2048字节图8-12▲优点:结构简单,8个引脚AT24C01:128字节(128×8位)AT24C02:256字节(256×8位)AT24C04:512字节(512×8位)AT24C08:1K字节(1K×8位)AT24C16:2K字节(2K×8位)需接上拉电阻1)起始信号

2)停止信号

3)确认(应答)起始和停止时序确认输出时序4)位的传输在时钟SCL高电平时,SDA线上的数据必须保持稳定;只有SCL在低电平状态时,SDA数据才能改变

5)器件寻址(控制字)表8-36)写操作——字节写和页写▲字节写图a▲页写图b:连续写8字节——页写页写启动:与字节写的操作启动相同终止页写:由单片微机必须发送一个停止信号a)

①当前地址读②随机读③顺序读7)读操作

有三种读操作:当前地址读、随机地址读、顺序读AT24C02与80C51单片微机的连接原理图器件地址:1010000R/W1010001R/W1010010R/W1010011R/W⑴主控器的写操作黑底框为主控器发送,被控器接收;白底为主控器接收,被控器发送

A 应答信号(低电平)

A 非应答信号(高电平)

S 起始信号

P 停止信号信号电平⑵主控器的读操作

A 应答信号

A 非应答信号

S 起始信号

P 停止信号

SLAR 寻址字节(读) data1~datan 被主控器读出的n个数据字节主控器发送停止信号前应发送非应答位,向被控器表明读操作结束从上述数据传送格式可以看出:1)无论何种方式起始、停止,寻址字节都由主控器发送。2)寻址字节只表明器件地址及传送方向,器件内部的n个数据地址由器件设计者在该器件的I2C总线数据操作格式中,指定第一个数据字节作为器件内的单元地址(SUBADR)数据,并且设置地址自动加减功能,以减少单元地址寻址操作。3)每个字节传送都必须有应答信号(A或A)相随。4)被控器在接收到起始信号后都必须复位它们的总线逻辑。内部无I2C总线的单片机外接I2C总线的器件时,采用系统内的两根I/O口线虚拟I2C总线的SDA和SCL,软件有软件包。子程序为WRNBYT和RDNBYT。

相应的I2C总线读写指令为:

MOVSLA,#SLAW ;寻址被控器件(写) MOVNUMBYT,#n ;规定传送字节数

LCALLWRNBYT ;调用发送n个字节数据子程序

MOVSLA,#SLAR ;寻址被控器件(读) MOVNUMBYT,#n ;规定传送字节数

LCALLRDNBYT ;调用接收n个字节数据子程序

启动I2C总线

STA﹕SETB SDA SETB SCL NOP NOP CLR SDA NOP NOP CLR SCL RET

停止I2C总线数据传送

STOP:CLR SDA SETB SCL NOP NOP SETB SDA NOP NOP CLR SCL RET⒊ 发送应答位Sendacknowledgebit

I2C总线上第9个时钟脉冲对应于应答位,相应数据线上“0”为“ACK”,“1”为“ACK”。

MACK﹕CLR SDA SETB SCL NOP NOP CLR SCL SETB SDA RET⒋ 发送非应答位Non-responsebitsent

MNACK:SETB SDA SETB SCL NOP NOP CLR SCL CLR SDA RET⒌ 应答位检查Acknowledgebitcheck 被控器收到字节后,必须向主控器发应答位。

CACK:SETB SDA SETB SCL CLR F0 MOV A,P1 JNB ACC.7,CEND ;读SDA SETB F0 CEND:CLR SCL NOP NOP RET⒍ 向SDA线上发送一个数据字节(数据在A中)

WRBYT﹕MOVR0,#08H ;长度

WLP﹕RLC A ;发送数据左移

JC WR1 AJMP WR0 WLP1﹕DJNZ R0,WLP RET WR1﹕SETB SDA ;发送“1”(SCL=1时,SDA保持“1”) SETB SCL NOP NOP CLR SCL CLR SDA AJMP WLP1 WR0﹕CLR SDA ;发送“0” SETB SCL NOP NOP CLR SCL AJMP WLP1⒎ 从SDA线上读取一个数据字节

RDBYT﹕MOV R0,#08H ;8位

RLP﹕SETB SDA ;P1.7为输入状态

SETB SCL ;使SDA有效

MOV A,P1 JNB ACC.7,RD0 AJMP RD1 RLP1﹕DJNZ R0,RLP RET RD0﹕CLR C ;读入“0”,拼装

MOV A,R2 RLC A MOV R2,A CLR SCL AJMP RLP1 RD1﹕SETB C ;读入“1”,拼装

MOV A,R2 RLC A MOV R2,A CLR SCL ;使SCL为0,继续可以接收

AJMP RLP1⒏ 模拟I2C总线发送几个字节数据(数据格式见前)

WRNBYT﹕PUSH PSW MOVPSW,#18H ;换工作寄存器区

WRNBYT0﹕MOVR0,NUMBYT WRNBYT1﹕LCALL STA ;启动

MOV A,SLA ;寻址字节SLAW/R LCALL WRBYT ;发一个字节

LCALL CACK ;检查应答位

JB F0,WRNBYT1 ;非应答位,重发

MOV R1,#MTD ;发送数据缓冲区首址

WRDA﹕MOV A,@R1 LCALL WRBYT ;发送

LCALL CACK JB F0,WRNBYT0 INC R1 DJNZ R0,WRDA ;判发送完?

LCALLSTOP ;停止

POP PSW RET⒐ 模拟I2C总线接收几个字节数据

RDNBYT﹕PUSH PSWRDNBYT1﹕MOVPSW,#18H LCALL STA MOV A,SLA ;寻址字节

LCALL WRBYT LCALL CACK JB F0,RDNBYT1 ;非应答位,重写

RDN﹕MOV R1,#MRD ;接收缓冲区首址

RDN1﹕LCALL RDBYT MOV @R1,A DJNZ NUMBYT,ACK ;N个字节接收完?

LCALL MNACK ;接收完,需发非应答位

LCALL STOP POP PSW RET ACK﹕LCALLMACK INC R1 SJMP RDN1例:已知AT24CXX器件地址为1010,A2、A1、A0为引脚地址,若A2、A1、A0全接地,则寻址地址SLAW(写)=A0H,而SLAR(读)=A1H。要求:读AT24C02,将其中50H~57H中的数据读出,并存入片内RAM的60H~67H中。 ORG 0000HVAT24R﹕MOVMTD,#50H ;发送数据缓冲区

MOV SLA,#SLAW ;写寻址地址

MOV NUMBYT,#1 LCALL WRNBYT MOV SLA,#SLAR ;接收缓冲区

MOV NUMBYT,#08H LCALL RDNBYT ;调用子程序

ACALL RMOV8 ;调用数据转移子程序

SJMP $ RMOV8﹕MOV R0,#MRD ;将8个数据从MRD转移到60H~67H MOV R1,#60H MOV R2,#08H RMOV﹕MOV A,@R0 MOV @R1,A INC R0 INC R1 DJNZ R2,RMOV RET

1.单片微机为什么需要I/O接口电路8.4

I/O的扩展及应用

ExtensionandapplicationofI/O

8.4.1I/O扩展概述I/Oexpansionsummary通过接口电路对单片微机与外设之间的数据传送进行协调①高速CPU与工作速度快慢差异很大的慢速外部设备的矛盾②外部设备的数据信号是多种多样的③外部设备种类繁多④外设的数据传送有近距离的,也有远距离的接口电路主要功能:①速度协调:高速CPU与低速外设②三态缓冲:维护数据总线上数据传送的秩序③数据转换:A/D、D/A、串/并⒉接口与端口Interfaceandport接口(Interface):用于相互联系。接口电路:通过电路实现,应该包含有数据寄存器,以保存各种信息端口(port):已编址并能进行读或写操作的寄存器。

⒊数据隔离技术Dataisolationtechnology⑴三态缓冲电路

三态控制信号 工作状态数据输入输出端状态

1 高阻抗 0 高阻抗

1 高阻抗

0 驱动 0 0 11要求:高速——速度快(8-13ns)

大驱动能力——较高的驱动能力低负荷——高阻时对总线不呈现负载(拉电流<0.04mA)⑵集电极开路门Gatesopencollector集电极开路器件的输出是低电平起作用可实现“线与”⒋I/O编址技术⑵统一编址方式⑴独立编址方式优点:I/O地址空间和存储器地址空间相互独立缺点:需要专门设置一套I/O指令和控制信号,增加了系统的开销。把系统中的I/O和存储器统一进行编址

80C51使用统一编址方式。在接口电路中的I/O编址也采用16位地址,和存储单元的地址长度一样⒌I/O数据传送的控制方式⑶程序中断方式Programinterrupt(4)直接存储器存取(DMA)单片机中不用此方法⑴无条件传送方式Unconditionaltransmission——同步程序传送⑵程序查询方式Programquerymode——有条件传送方式,这是一种软硬件方法结合的数据传送方式。8.4.280C51单片微机I/O口直接应用

80C51single-chipmicroprocessorI/Oportdirectlyapplied

⑴I/O口的数据传送指令

MOV Px,A[,Rn,@Ri,direct]MOV A[Rn,@Ri,direct],Px⑵I/O口的位操作指令位传送指令 MOV Px.y,C位清0指令 CLR Px.y 位置1指令 SETB Px.y 位取反 CPL Px.y 位为1转移 JB Px.y,rel位为0转移 JNB Px.y,rel位为1转移并清零 JBCPx.y,rel⑶I/O口其它操作指令逻辑与指令

ANL Px,A 逻辑和指令

ORL Px,A 逻辑异与指令

XRL Px,A 加1指令

INC Px 减1指令

DEC Px 减1条件转移指令

DJNZ Px,rel数值比较转移指令

CJNE A,Px,rel

⒈简单输出口的扩展

例:将一个数据字节从74LS377输出

MOV DPTR,#7FFFH ;地址指针指向74LS377 MOV A,#DATA ;将输出数据送A MOVX@DPTR,A ;输出数据8.4.380C51简单I/O的扩展80C51SimpleI/Oexpansion

⒉简单输入口的扩展Asimpleextensionofinput 例:数据输入

MOV DPTR,#0BFFFH ;指向74LS244口地址

MOVX A,@DPTR ;读入数据8.4.4可编程I/O并行接口芯片8255A

的扩展及应用

ProgrammableI/Oparallelinterfacechipandapplicationoftheexpansion8255A

常用并行可编程接口芯片:8255A可编程通用并行接口芯片8155 带RAM和定时器、计数器的可编程并行接口芯片8279 可编程键盘/显示器接口芯片8.4.4.18255A的逻辑结构和引脚

Thelogicalstructureandpinof8255A⑴口电路A口和B口是单纯的数据口;C口则既可以作数据口,又可以作控制口使用。

A组:A口和C口高4位组合

B组:B口和C口低4位组合三个逻辑电路部分:口电路、总线接口电路和控制逻辑电路⑵总线接口电路实现与单片微机连接A0、A1:端口选择信号。4个可寻址的端口RESET:复位.复位之后,控制寄存器清除,各端口为输入方式⑶控制逻辑电路①数据总线缓冲器:8位双向三态缓冲器,可直接和80C51的数据线相连②读/写控制逻辑

CS:片选信号

RD:读信号

WR:写信号8.4.4.28255A工作方式及I/O操作8255AworkandI/Ooperations②方式1选通输入/输出方式A口和B口作为数据输入/输出,C口为控制信号.表8–6.3个控制线:输入:选通脉冲STB;输入缓冲器满信号IBF;中断请求信号INTR输出:外设响应信号输入ACK;输出缓冲器满信号OBF;

中断请求信号INTR③方式2双向数据传送方式只A口有此方式,可进行数据输入输出。C口的5位线作控制线A口为方式2时,B口只能工作于方式0.

1、8255A的工作方式:3种工作方式,方式0、方式1、方式2.

①方式0基本输入/输出方式两个8位口(A口和B口)及两个4位口(C口高4位和低4位)查询方式:IBF作为状态信号供查询使用中断方式:单片机响应中断后执行中断服务程序时读入数据,并使INTR信号变低,同时也使IBF信号同时变低。以通知外设准备下一次数据输入。2、数据输入操作(方式1)

STB:由外设输入,低电平有效有效时输入数据装入8255A的锁存器

IBF:输出,高电平有效,输入缓冲器满信号, 有效时,表明数据已装入锁存器,它是一个状态信号

INTR:输出高电平有效,向单片机发的出中断请求信号IBF为高时,信号由低变高(后沿)时,中断请求信号有效外设数据STB输入→→8255的输入缓冲器→IBF信号→INTR信号→单片机数据输入过程:3、数据输出操作

ACK:外设响应信号,外设发来的输入信号,低电平有效

OBF:输出缓冲器满信号,输出,低电平有效。

INTR:中断请求信号,输出,高电平有效。数据输出过程:外设处理完数据→ACK信号→使OBF变高→输出缓冲器空查询方式:OBF可作为状态信号供查询使用。中断方式:当ACK信号结束时,INTR有效,向单片微机发出中断请求。当单片机把下一个输出数据写入8255A的输出缓冲器,后OBF有效,此信号启动外设,通知其取走并8255A中的数据

8.4.4.38255A控制字及初始化编程

8255Aprogramcontrolwordandinitialization

有两种控制字:8255A工作方式控制字和C口位置位/复位控制字⑴工作方式控制字⑵C口位置位/复位控制字

8.4.4.48255A与80C51的接口及应用8255Ainterfaceandapplicationwiththe80C51PA地址:7FFCH(A15=0,A1=0,A0=0)PB地址:7FFDH(A15=0,A1=0,A0=1)PC地址:7FFEH(A15=0,A1=1,A0=0)

控制寄存器地址;7FFFH(A15=0,A1=1,A0=1)

例:A、B口均为方式0,要求从A口输入,从B口、C口输出

MOV DPTR,#7FFCH

;从A口输入

MOVX A,@DPTR MOV DPTR,#7FFDH

;从B口输出

MOVX @DPTR,A

MOV DPTR,#7FFEH

;从C口输出

MOVX @DPTR,A

MOVA,#90H ;设A口、B口为方式0 ;A口输入,B口、C口输出

MOV DPTR,#7FFFH MOVX @DPTR,A分析:工作方式控制字为10010000,即90H例:把C口的第5位PC5置为1。

MOV DPTR,#7FFFH MOV A,#00001011B

;PC5置位

MOVX @,DPTR,A

8.4.5串行I/O接口芯片PCF8574的扩展及应用

SerialI/OexpansioninterfacechipandapplicationPCF8574

应用虚拟I2C总线可以用来扩展输入/输出接口。

PCF8574是飞利浦公司生产的一种单片CMOS电路,具有I2C总线接口和8位准双向口,可直接驱动LED发光管;还有中断逻辑线;3个硬件地址引脚使I2C总线系统最多可挂接8片PCF8574。1.PCF8574结构框图与引脚功能. PCF8574结构框图如图8-24所示。图8-25给出了PCF8574/PCF8574A的引脚图。

·SDA:串行数据线,双向。

·SCL:串行时钟线,输入。

·P7~P0:8位准双向输入/输出口。准双向口的每一位可作输入或输出。上电复位时,口的每一位均为高电平。某位在作输入前,应置为高电平。

·A2~A0:地址输入线。INT·:中断输出线,低电平有效。PCF8574的寻址方式及操作AddressingmodesandoperationsPCF8574

(1)PCF8574/PCF8574A的地址

PCF8574的从地址如下:D7 D6 D5 D4 D3 D2 D1 D00 1 0 0 A2 A1 A0 R/W(2)读操作(输入)读操作将PCF8574口的数据传给控制器(主器件)。对PCF8574读操作的时序见图8-26所示。(3)写操作(输出)

写操作为控制器(主器件)将数据传给PCF8574口。对PCF8574写操作的时序见图8-27所示。3.PCF8574的应用ApplicationofPCF8574

(1)应用PCF8574扩展8位输入口电路图如图8-28所示。将开关的状态读入片内RAM30H单元中。程序如下:

RDS:ACALLSTA ;开始

MOVA,#41H ;PCF8574为读方式

ACALLWRBYT ACALLCACK ;检查ACK信号

JBF0,RDS ACALLRDBYT ;读数据

MOV30H,A …(2)应用PCF8574扩展8位输出口ApplicationPCF85748-bitoutputportexpansion电路图如图8-29所示。程序如下:

WRS:ACALL STA ;开始

MOVA,#40H ;PCF8574为写方式

ACALL WRBYT ACALL CACK ;检查ACK信号

JBF0,WRS MOVA,#XXH ;指示灯的亮熄取决于不同的立即数

ACALL WRBYT ACALL CACK ;检查ACK信号

JB F0,WRS利用串行口扩展SerialportexpansionCLR扩展输出口Extendedoutput扩展输入口Extendedinput接口形式:无锁存器和有锁存器分辨率:如8位分辨率:1/255=0.39%Vom10位分辨率1/1024=0.1%Vom转换速度:2.

D/A转换器接口电路的一般特点

8.5D/A转换器接口的扩展及应用D/Aconverterinterfaceandapplicationextensions

8.5.1概述1.

D/A转换器及其接口电路的一般特点

●数字输入DigitalInput:二进制或BCD码形式●模拟输出AnalogOutput:电流或电压,多数是电流●输入:由数字输入和参考源Vref组合进行控制●输出:需要用运放将电流转换为电压

⒈DAC0832的技术特性

technicalcharacteristics●输入数字量为8位参考电压Vref的工作范围为+10~-10V,单电源电压Vcc的范围为+5V~+15V●电流建立时间为1μsCMOS工艺低功耗20mW●具有单缓冲、双缓冲和直通三种数据输入工作方式。8.5.28位D/A转换器芯片DAC0832

8-bitD/AconverterchipDAC0832⒉DAC0832的内部逻辑结构DAC0832internallogicalstructure

两级缓冲LE1=0锁存LE1=1跟随外部条件满足时,LE1=1⒊DAC0832的引脚及其功能Pinandfunction●CS:片选。与ILE信号结合,可对WR1是否起作用进行控制●ILE:允许数据输入锁存。●WR1:写信号1●WR2:写信号2,将输入寄存器中的数据传送到DAC寄存器中,并锁存起来 ●XFER:传送控制信号,控制WR2,选通DAC寄存器。●DI7~DI0:8位数字输入。●Iout1:DAC电流输出1,当数字量为全1时,输出电流最大;●Iout2:DAC电流输出2。●Rbf:反馈电阻(15KΩ),在芯片中,为DAC提供电压输出。●Vref:参考电压输入,Vref可在+10~一10V范围内选择。●VCC:数字电路电源。●DGND:数字地。●AGND:模拟地。

8.5.3DAC0832的扩展与应用ExtensionandapplicationofDAC08321.DAC0832的单缓冲方式的接口电路和应用图8–32DAC0832单缓冲方式的接口电路

ORG 0000H SJMP MAIN ORG 0030HMAIN:MOVDPTR,#7FFFH ;输入输入寄存器和DAC寄存器地址 MOV R0,#0 ;转换初值LP:MOV A,R0 MOVX@DPTR,A;送出模拟量

INCR0SJMPLP例:由上图产生锯齿波输入寄存器和DAC寄存器同时受控锁存DAC0832的地址为7FFFH(P2.7=0)产生锯齿波产生三角波产生任意波如果想增加锯齿波周期,该如何?如果想增加锯齿波幅值,该如何?2.DAC0832的双缓冲方式的接口电路和应用MOV DPTR,#0BFFFH;把数据送第二片0832的输入锁存器MOV A,R1MOVX @DPTR,AMOV DPTR,#7FFFH;两片0832同时输出模拟量MOVX @DPTR,AMOV DPTR,#0DFFFH;把数据送第一片0832的输入锁存器MOV A,R0MOVX @DPTR,A用P2.5控制第一片DAC0832的输入锁存器,地址为DFFFH;用P2.6控制第二片DAC0832的输入锁存器,地址为BFFFH;用P2.7同时控制二片DAC0832的第二级缓冲,地址为7FFFH。若第一片的数据在R0中,第二片的数据在R1中,送数程序为:8.6A/D转换器接口的扩展及应用

A/Dconverterinterfaceandapplicationextensions

8.6.1概述

完整的模/数转换器应该包含输入、输出信号:●模拟输入信号Vin和参考电压Vref

●数字输出信号

●启动转换信号

●转换完成(结束)信号或者“忙”信号

●数据输出允许信号对A/D转换的控制一般分为三个过程:①通过控制口发出启动转换信号,命令模/数转换器开始转换②判断A/D转换是否结束。③转换结束,发出数据输出允许信号,读入转换完成的数据

分辨率:数字量的最低有效位(LSB)变化时对应模拟量的变化量

A/D:输出数字量变化一个相邻数码所需输入的模拟电压的变化量含义:分辨率是对转换量变化敏感程度的描述表示:1.位。如:8位、10位、12位…… 2.模拟量满量程/2n

。例:8位A/D满量程5V,则分辨率=5000mV/256≈20mV10位A/D满量程5V,则分辨率=5000mV/1024≈5mV12位A/D满量程5V,则分辨率=5000mV/4096≈1.25mV

量化误差:数字量的有限位数对模拟量进行量化时引起的误差。 实际就是真实值与转换值之间的最大误差

量化单位ULSB:数字信号最低位1所代表的模拟量▲CMOS工艺,8位8通道,逐次逼近式模数转换器▲转换时间为100μs左右▲可用单一电源供电,此时模拟电压输入范围为0~5V,无需调零和满刻度调整▲非调整误差为±1LSB▲三态锁存输出▲低功耗为15mW8.6.28位8通道A/D芯片ADC0809⒈ADC0809的内部逻辑结构TheinternallogicalstructureADC0809

8路模拟开关模拟开关的地址锁存和译码电路比较器256R电阻网络电子开关逐位比较寄存器SAR三态输出锁存缓冲器以及控制定时电路D0D1D2D3D4D5D6D7IN0IN1IN2IN3IN4IN5IN6IN7⒉ADC0809的引脚及功能ADC0809pinandfunction●IN0~IN7:模拟量输入通道。输入信号为单极性,电压范围0~VCC。若信号过小还需加以放大。在A/D转换过程中模拟量的值不应变化,对变化速度快的模拟量,在输入前应增加采样保持电路。●ADDA、ADDB、ADDC:模拟通道的地址选择线●ALE:地址锁存允许信号。由高到低的负跳变有效●D0~D7:数字输出线

●START:启动信号。在此端上加一正脉冲信号,脉冲的上升沿将内部寄存器全部清0,在其下降沿A/D开始转换。●EOC:转换结束信号。在START信号的上升沿之后0~8个时钟周期内,EOC变为低电平。当转换结束时,EOC变为高电平,这时转换得到的数据可供读出。

●OE:输出允许信号。当OE有效时,A/D的输出锁存缓冲器开放,将其中的数据放到外面的数据线上

●CLK:时钟。时钟频率范围为10K~1280KHz。tWS:最小启动脉宽,典型值为100ns,最大值为200nstWE:最小ALE脉宽,典型值为100ns,最大值为200nstD:模拟开关延时,典型值为1μs,最大值为2.5μstC:转换时间,fCLK=640KHz时,典型值为100μs,最大值为116μstEOC:转换结束延时,最大值为8个时钟周期+2μs

1.ADC0809与80C51的接口片外A/D转换通道的地址为7FF8H~7FFFH8.6.3ADC0809的扩展及应用ExtensionandapplicationofADC0809例:采用延时等待A/D转换结束方式,分别对8路模拟信号轮流采样一次,并依次把结果存入20H为首地址的片内数据存储器中LOOP:MOVX@DPTR,A;启动A/D转换①

LCALLD128μs;延时等待A/D转换结束②

MOVXA,@DPTR;读入A/D转换值③

MOV @R1,A INC DPTR ;指向下一通道地址

INC R1 DJNZR7,LOOP;8个通道未转换完,则继续

ORG 0000H SJMPMAIN ORG 0030HMAIN:MOVR1,#20H MOV DPTR,#7FF8H

;指向通道0地址

MOVR7,#08H ;共需转换8个通道

2.ADC0809与80C51中断方式的接口ADC0809with80C51interruptinterface例:采集8路模拟量,并存入20H地址开始的内部RAM中。

ORG 0000H SJMP MAIN ORG0003H ;外部中断0入口地址

LJMP INT

ORG 0100H ;数据采集程序MAIN:MOV R0,#20H ;数据缓冲区首址

MOV R2,#8 ;8通道计数器

MOV DPTR,#7FF8H

;指向0通道START:CLR F0 ;清中断发生标志

MOVX @DPTR,A ;启动A/D(P2.7=0,/WR=0)SETB IT0 ;置外部中断0为边沿触发

SETB EX0 ;允许外部中断0SETB EA ;开中断LOOP:JNB F0,LOOP ;中断发生标志是否为0DJNZ R2,START ;8个通道转换是否结束

SJMP MAIN

INT:MOVXA,@DPTR ;读数据

(P2.7=0,RD=0) MOV @R0,A ;存数据

INC R0INC DPTR ;指向下一通道

SETB F0 ;置中断发生标志

RETI8.7键盘接口

Keyboardinterface

两种类型:编码键盘和非编码键盘。编码键盘:

非编码键盘:1)键盘输入的特点键盘输入应解决的问题2)按键的确认3)消除按键抖动的措施硬件、软件两种消除方法

(1)双稳态消抖:用两个与非门构成一个RS触发器(2)软件消抖8.7.1键盘接口的工作原理principle1.键盘的工作原理非编码键盘可分为两类:独立式键盘和矩阵式键盘(1)独立式键盘

(2)矩阵式键盘2.矩阵式键盘工作原理

1).识别键盘有无键被按下2).识别出具体的按键(矩阵键盘按键的识别方法)3键盘扫描方式⑴

键扫描:①判断是否有键案下:②判断按键位置:③程序转入相应的键处理程序⑵

键扫描的方式: ①程控扫描方式: ②定时扫描方式:③中断扫描方式:键盘工作方式有三种:编程扫描、定时扫描和中断扫描4.矩阵式键盘的工作过程

当有键压下时,向CPU发中断请求。CPU响应中断、执行中断服务程序扫描键盘。每行串联的二极管可防止多键同时压下时,输出口可能会短路。8.7.2键盘的接口电路Keyboardinterfacecircuit0123456789ABCDEF读入行值输出列值例:上电路图(无中断)要求:按哪个键,则将相应的位置1.资源分配:位10H----去抖结束标志位11H----没扫描到有效键值标志R3----存列值A----存行值R2---存扫描输出值键扫描程序流程图:

初始化K1: MOVP1,#0FH;高4位送0 MOVA,P1 CPLA ANLA,#0FH JNZK2 AJMPK1K2: SETBTR0;启动延时 MOVR7,A;保存键值K4: JBC10H,K3 SJMPK4K3: MOVP1,#0FH MOVA,P1 CPLA ANLA,#0FH JNZK5 AJMPK1K5: CJNEA,07H,K1 ACALLKSCAN JBC11H,K1 ACALLKPRO AJMPK1TIME:MOVTH0,#TMH MOVTL0,#TML SETB10H CLRTR0 RETIKSCAN:MOVR2,#7FH MOVR3,#00H;存列值

MOVP1,R2KS0: MOVA,P1 JBACC.0,KS MOVA,#00H;存行值

RETKS1: JBACC.1,KS2 MOVA,#04H RETKS2: JBACC.2,KS3 MOVA,#08H RETKS3: JBACC.3,NEXT MOVA,#0CH RETNEXT:INCR3;列值加1 MOVA,R2 JNBACC.4,KFH SETBC RRCA;0右移一位

MOVR2,A AJMPKS1KFH: SETB11H;没扫描到有效键值

RETKPRO:ADDA,R3 RLA MOVDPTR,#KTAB JMP@A+DPTRKTAB:AJMPKEY0 AJMPKEY1 AJMPKEY2 AJMPKEY3 AJMPKEY4 AJMPKEY5 AJMPKEY6 AJMPKEY7 AJMPKEY8 AJMPKEY9 AJMPKEYA AJMPKEYB AJMPKEYC AJMPKEYD AJMPKEYE AJMPKEYFKEY0:MOV20H,#00H MOV21H,#00H SETB00H RET KEY1:MOV20H,#00H MOV21H,#00H

SETB01H RET ……KEYF:MOV20H,#00H MOV21H,#00H SETB0FH RETLED显示器的工作原理8.8.1LED显示器的扩展TheexpansionofLEDdisplay8.8显示接口DisplayInterface2.LED显示电路LEDdisplaycircuit(1)

静态显示电路Staticdisplaycircuit(2)

动态显示电路Dynamicdisplaycircuit

例:静态显示,通过串行口方式0扩展键盘和显示器用74LS164作为键盘的8根列线。用三个74LS164作为三个LED的段选输入,P3.3=0时,关闭显示输入。假设显示数据在30H~32H(显示缓冲单元),显示子程序DISP: MOV SCON,#00H;置串行口为同步移位寄存器方式

SETB P3.3 ;开显示输入

MOVR0,#30HL3: MOV A,@R0 MOV SBUF,AL1: JBC TI,L2 SJMPL1 L2: INCR0 CJNER0,#33H,L3 RET例:动态显示,三位数码管,89C51的P0口接段选,P2.0、P2.1、P2.2分别接位选,要求显示TL1中所记录的脉冲数(十进制) MOVTMOD,#60H MOVTL1,#0 MOVTH1,#0 SETBTR1L: ACALLH_BCD ACALLFONT ACALLDISP AJMPL MOV30H,B RETH_BCD:MOVA,TL1 MOVB,#100 DIVAB MOV32H,A MOVA,#10 XCHA,B DIVAB MOV31H,A FONT:MOVR2,#3 MOVR0,#30HFT: MOVA,@R0 MOVDPTR,#TAB MOVCA,@A+DPTR MOV@R0,A INCR0 DJNZR2,FT RETDISP: MOVP2,#0F8H MOVP0,30H SETBP2.0 MOVR3,#10 DJNZR3,$ CLRP2.0 MOVP0,31H SETBP2.1 MOVR3,#10 DJNZR3,$ CLRP2.1 MOVP0,32H SETBP2.2 MOVR3,#10 DJNZR3,$ CLRP2.2 RETTAB: DB3FH,06H,5BH,4FH DB66H,6DH,7DH,07H DB7FH,6FH一、开关量输出接口

Digitaloutputinterface,1.输出口的隔离

Outputisolation光电耦合器:(1)导通电流和截止电流(2)频率响应(3)输出端工作电流(4)输出端暗电流(5)输入输出压降(6)隔离电压

开关量接口的扩展Expansionoftheinterfaceswitch

2.继电器输出接口

Relayoutput单片机与双向晶闸管的接线图3.双向晶闸管输出接口

Triacoutput特点:双向导通,开关无触点应用:交流、大电流场合传统驱动电路:一般的光电隔离器+三极管驱动电路现在:光耦合双向晶闸管驱动器4.固态继电器输出接口Solid-staterelayoutput应用:微机测控系统中作为输出通道的控制元件输出:晶体管或晶闸管驱动,无触点

固态继电器的结构框图电压/频率转换器件

Voltage/frequencyconversiondevice

V/F转换器用于计算机接口有以下特点:(1)接口简单、占用计算机硬件资源少(2)抗干扰性好。(3)便于远距离传输。1、V/F转换原理(图)二、开关量输入接口Digitalinputinterface

2、用V/F转换器实现A/D转换的方法

WiththeV/FconvertertoA/Dconversionmethod

3、LM331-V/F转换器LM331-V/FconverterLM331属于LMX31系列,该系列还包括LMl31/LM231,是通用型的V/F变换器。LM331系列引脚如图7-22所示。(1)性能特点:·频率范围:1~100kHz

·最大线性度:±0.01%

·单电源或双电源供电:

·输入电压范围:-2.0V~Vs·温度特性:最大±50ppm/℃·低功耗:Vs=5V时为15mW·廉价

最大输出频率:

(2)LM331的外部接线

LM331externalwiring(3)LM331与51单片机的接口MCUinterfacewith51LM331

被测量物理量转换为与其成比例的频率信号后,送入单片机需经过频率输入通道,而不同应用环境,频率输入通道的结构不尽相同,大致可分为以下几种:①V/F转换器直接与MCS-51单片机相连,即把频率信号直接接入单片机的定时/计数器输入端,如图(a)所示。②在一些电源干扰大、模拟电路部分容易对单片机产生电气干扰等比较恶劣的环境中,为减少干扰可采用光电隔离或隔离变压器的方法使V/F转换器与单片机无电路联系,如图(b)所示;③当V/F转换器与单片机之间距离较远时,需要采用线路驱动以提高传输能力。一般可采用串行通信的驱动器和接收器来实现。如图(c)所示。图中SN75174/75175是RS-422标准的四差分线路驱动/接收器。下面作为一个例子,使用LM331和8031的内部定时器构成A/D转换电路,电路如图7-25所示。V/F转换器最大输出频率为10kHz,输入电压范围为0~10V。由于本电路V/F输出频率较低,如用其作为计数脉冲则会降低精度,因此采用测周期的方法。V/F输出的频率经D触发器二分频后接至,作为T0计数器的控制信号。T0计数器置定时器状态,取方式1,将TMOD.3(GATE)置1,这样就由和TR0来决定计数器是否工作。这种接法只能测量小于65536个机器周期的信号周期。

程序包括初始化和计数两部分。初始化程序要对定时/计数器0进行状态设置,使其工作在定时方式1,并将GTAE0置1。记数程序首先需判断的电平,当其为低时,打开TR0位准备计数,当其变为高时启动计数,再为低时停止计数并清TR0,取出数据,将T0置0准备下一次计数。程序清单如下:BEGIN: NOPMOV TMOD,#09H MOV TL0,#00HMOV TH0,#00HLOOP1:NOPJBP3.2,LOOPl

SETB TR0LOOP2:NOPJNB P3.2,LOOP2LOOP3:NOPJBP3.2,LOOP3CLR TR0MOVB,TH0 MOV A,TL0MOV TL0,#00HMOV TH0,#00HAJMP LOOP1

8.9系统扩展时的可靠性与低功耗Thereliabilityofsystemexpansionandlowpowerconsumption

8.9.1系统扩展时的可靠性

thereliabilityofthesystemexpansion可靠性定义:“产品在规定条件下和规定时间内,完成规定功能的能力”。⑴规定条件:指应用系统工作条件和环境条件⑵规定时间:使用时间越长则可靠性就越差。评价一个应用系统的可靠性时,必须指明是多长时间内的可靠性。⑶规定功能:指应用系统的主要性能指标和技术要求(如采样精度、响应时间、输出输入信号等)8.9.2系统扩展时的低功耗

thelow-powersystemexpansion低功耗设计的意义:Thesignificanceoflow-powerdesign⑴实现“绿色”电子,⑵提高了电磁兼容性和工作可靠性

⑶促进便携化发展END图8–180C51系列单片微机的三总线结构图8

温馨提示

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

评论

0/150

提交评论