第六章单片机系统的并行扩展c方案课件_第1页
第六章单片机系统的并行扩展c方案课件_第2页
第六章单片机系统的并行扩展c方案课件_第3页
第六章单片机系统的并行扩展c方案课件_第4页
第六章单片机系统的并行扩展c方案课件_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

第六章单片机系统扩展技术3并行接口的扩展4D/A接口的扩展5A/D接口的扩展2存储器的扩展151系统并行扩展原理第六章单片机系统扩展技术3并行接口的扩展46-1-1并行扩展总线P2口作为单片机的地址总线高八位A15~A8,P0为地址总线低八位A7~A0和数据总线D7~D0复用。地址锁存原理(图6-1)。

注意四个控制引脚的电平变化:ALE、、、。6-1-1并行扩展总线P2口作为单片机的地址总线高八位A1

CPU根据地址访问外部存储器,即根据地址线上送出的地址信息选中某一芯片的某个单元进行读写。逻辑上,芯片的选择由高位地址译码实现、被选中芯片中单元的选择则由低位地址信息确定。为了实现单片机与外部存储器的连接,把单片机的地址线分为片内地址线和片选地址线两部分。片选地址线通常直接或通过地址译码器与存储器芯片的片选端相连,也可以悬空不用。片内地址线通常直接或通过地址锁存器与相应存储器地址线相连。6-1-2地址译码方法CPU根据地址访问外部存储器,即根据地址线上线选法

用某一位地址线直接连到所扩展的芯片的片选端。

A15、A14、A13中不能有两根以上地址线同时为低!!!

按照片选地址线的不同连接方式,单片机地址译码可分为:线选法用某一位地址线直接连到所扩展的芯片的片选端。A15A14A13A12…A3A2A1A0

011X…X0000#单元011X…X0011#单元011X…X0102#单元011X…X0113#单元011X…X0004#单元011X…X1015#单元011X…X1106#单元011X…X1117#单元0#芯片

地址重叠:有两个及以上地址与存储单元对应。对于0#芯片,X为无关项,即不论X取0或1,对单元的确定都无影响,故0#芯片中每个单元都有210个重叠地址。当X由全“0”

变到全“1”时,0#芯片的地址范围为6000H~7FFFH。基本地址范围:6000H~6007H。

A15A14A13A12…A3A2A1A0

011X…X00全地址译码法

所有片选地址线全部参加译码。1#芯片只有唯一的地址与其存储单元对应,不存在地址重叠。常用地址译码器:2-4译码器:74LS1393-8译码器:74LS1384-16译码器:74LS154全地址译码法所有片选地址线全部参加译码。1#部分地址译码法

片选线中只有一部分参与译码,其余部分悬空。有地址重叠。

部分地址译码法片选线中只有一部分参与译码,其余部分悬一、MCS-51用于存储器扩展的外部总线信号:P0.0~0.7:8位数据和低8位地址信号复用;P2.0~2.7:高8位地址信号;ALE:地址锁存允许控制信号;PSEN:片外程序存储器读控制信号;RD:片外数据存储器读控制信号;WR:片外数据存储器写控制信号;EA:片内、外程序存储器选择信号。6-2 存储器的扩展一、MCS-51用于存储器扩展的外部总线信号:6-2 存储二、程序存储器(ROM)扩展:

8031扩展32KBEPROMIntel27256

常用EPROM芯片:

Intel2716(2K×8位)、2732(4KB)、2764(8KB)、27128(16KB)、27256(32KB)、27512(64KB)。二、程序存储器(ROM)扩展:8031扩展常用EP三、数据存储器(RAM)扩展:常用RAM芯片:Intel6116(2KB)、6264(8KB)、62256(32KB)。

8031扩展8KBRAMIntel6264三、数据存储器(RAM)扩展:常用RAM芯片:8031四、程序与数据存储器扩展:单片机连接8KBEPROM2764、8KBRAM6264各一片。四、程序与数据存储器扩展:单片机连接8KBEPROM2

单片机通常通过P0口和P2口构成数据、地址总线,扩展EPROM、RAM或其它功能芯片。这样一来,只有剩下的P1口和部分P3口可提供给用户用作I/O口。因此,在大部分的MCS-51单片机应用系统设计中都需要进行I/O口的扩展。6-4 并行接口的扩展单片机通常通过P0口和P2口构成数据、6-4 并行接并行接口的扩展并行接口的扩展6-4-2可编程并行I/O扩展接口8255A

6-4-2可编程并行I/O扩展接口8255A1.数据总线(D7~D0)传送CPU与8255A之间的数据、控制字和状态字。2.控制总线(6条)

CS:片选线

A1和A0:口选线,用于寻址A口、B口、C口以及控制口寄存器中的一个。

RD和WR:二者必须相反,控制CPU与8255A之间数据的传送和流向。

RESET:高电平复位,使内部寄存器全部清零。3.并行I/O总线(PA7~PA0、PB7~PB0、PC7~PC0)传送8255A与外设之间的数据,其中的PC7~PC0还可用作联络线。4.电源线(2条)一、8255A的引脚功能1.数据总线(D7~D0)一、8255A的引脚功能二、8255A的芯片结构1.数据总线驱动器(与单片机数据总线相连)

2.并行I/O端口(A口、B口和C口)

A口:由一个8位数据输出锁存/缓冲器和一个8位数据输入锁存器组成。可设定为8位输入或输出,或双向输入/输出方式。

B口:由一个8位数据输出锁存/缓冲器和一个8位数据输入缓冲器(输入不锁存,不可工作在方式2)组成。可设定为8位输入或输出方式,但不能设定为双向输入/输出方式。

C口:由一个8位数据输出锁存/缓冲器和一个8位数据输入缓冲器(输入不锁存)组成。在方式1和方式2下,分为两个4位口使用:高四位属于A口,传送A口上外设的控制/状态信息,低四位属于B口,传送B口上所需的控制/状态信息。二、8255A的芯片结构1.数据总线驱动器(与单片3.读/写控制逻辑CS:8255A的片选引脚端;

RD:读控制端。为0时,允许单片机从8255A读取数据或状态字;

WR:写控制端。为0时,允许单片机将数据或控制字写入8255A;

A1、A0:口地址选择线。通过A0、A1可选中8255A的四个寄存器。口地址选择如下:

A1A0寄存器

00寄存器A(A口)

01寄存器B(B口)

10寄存器C(C口)

11控制字寄存器(控制口)

RESET:复位控制端。为1时,8255A复位。复位状态:控制字寄存器被清零。

3.读/写控制逻辑CS:8255A的片选引脚端;4.A组和B组控制块

每个控制块接收来自读/写控制逻辑的命令和内部数据总线的控制字,并向对应口发出适当的命令。

A组控制块控制A口及C口的高4位。

B组控制块控制B口及C口的低4位。

4.A组和B组控制块每个控制块接收来自读/写控制逻辑三、8255A的控制字8255A有两种控制字,即方式控制字和PC口位置位/复位控制字。

三、8255A的控制字8255A有

四、8255A的操作方式

(1)方式0(基本I/O方式)

PA、PB、PC可分别被定义为方式0输入或方式0输出。输出具有锁存功能,输入没有锁存。适用于无条件传输数据的设备,如读一组开关状态、控制一组指示灯,不使用应答信号,CPU可以随时读出开关状态,随时把一组数据送指示灯显示。如:令A口和C口高四位工作在方式0输出方式,B口和C口低四位工作在方式0输入方式。MOVR0,#0FBH;控制字寄存器地址MOVA,#83H;方式控制字MOVX@R0,A四、8255A的操作方式如:令A口和C口高四位工作在方(2)方式1(应答I/O方式)有选通输入和选通输出两种工作方式。

A口和B口皆可独立地设置成这种工作方式,在方式1下,A口和B口通常用于传送和它们相连外设的I/O数据,C口用作A口和B口的握手联络线,以实现中断方式传送I/O数据。(2)方式1(应答I/O方式)方式1输入

STB:设备的选通信号输入线,低电平有效,通常是外设给8255A的信号,表示外设给8255的数据已到达引脚。IBF:端口锁存器满标志输出线,高电平有效。通知外设数据已从引脚取入锁存器中。INTE:8255A端口内部的中断允许触发器。“1”表示中断允许(手动设置)。INTR:中断请求信号线,高电平有效。当STB、IBF、INTE都为”1”时,INTR就置“1”

。方式1输入方式1输出

:输出锁存器满状态标志输出线。表示CPU已将数据输出到此端口。:设备响应信号输入线。表示外设已取走数据。

INTR:中断请求信号输出线,高电平有效。当、和INTE都为”1”时,INTR被置“1”,发出中断请求。方式1输出(3)方式2(双向选通I/O方式)

方式2仅对PA口有意义。方式2使PA口成为8位双向三态数据总线口,既可发送数据又可接收数据。PA口方式2工作时,PB口仍可作方式0和方式1I/O口,PC口高5位作状态控制线。

(3)方式2(双向选通I/O方式)方式2仅对PA口有意五、8255A编程规定

初始化编程:往控制口写入控制字,确定8255A工作方式。

方式控制字:D7=1;C口位置位/复位控制字:D7=0。

例:8255A的A口以方式0输出单片机的片内RAM数据,B口以方式1输入…(设控制口的口地址为7F03H) PIOS: MOVDPTR,#7F03H;控制口口地址

MOVA,#86H ;写工作方式控制字

MOVX @DPTR,A MOVDPTR,#7F00H;A口口地址

MOVA,@R0 ;取片内RAM的数据

MOVX @DPTR,A ;由A口输出

…五、8255A编程规定

初始化编程:往控制口写入控例6-4

8255A采用方式1工作,CPU采用中断方式控制打印机把内部RAM中30H开始的32个单元的内容经B口输出打印。主程序:MAIN:MOV8,#30H;RAM首址→1区R0MOV0FH,#20H;长度→1区R7SETBEA;开中断

SETBEX1;允许外中断,电平触发方式

MOVDPTR,#7FFFH;将8255A的PC2(即INTEB)置“1”MOVA,#05HMOVX@DPTR,A;

MOVA,#0BCH;写方式控制字(B口方式1输出)MOVX@DPTR,AMOVDPTR,#7FFDH;从PB口输出第一个数据打印

MOVA,30HMOVX@DPTR,A

INC8;RAM指针加1DEC0FH;长度减1…;执行其它任务例6-48255A采用方式1工作,CPU采用中断方式控制打

外部中断1服务程序:

PINT1:PUSHACC;现场保护(A、DPTR等进栈)

PUSHDPHPUSHDPLPUSHPSWMOVPSW,#8;当前工作寄存器区切换到1区

MOVA,@R0;从B口输出下一个数据打印

MOVDPTR,#7FFDHMOVX@DPTR,AINCR0;修改指针

DJNZR7,BACKCLREX1;长度为0,关中断返回

SETBF0;置打印结束标志位F0BACK:POPPSW;现场恢复(DPTR、A等退栈)

POPDPLPOPDPHPOPACCRETI外部中断1服务程序:6-5 D/A接口的扩展

实现数模转换的功能部件称为D/A转换器,衡量D/A转换器性能的主要参数有:

分辨率:即输出的模拟量的最小变化量,n位的D/A转换器分辨率为2-n;满刻度误差:即输入为全1时输出电压与其理想值之间的误差,一般为2-(n+1);输出范围;转换时间:指从转换器的输入改变到输出稳定的时间间隔;是否容易和CPU连接。6-5 D/A接口的扩展实现数模转换的功能部件称为D

6-5-1梯形电阻式D/A转换原理:“按权展开,然后相加”

根据以上的分析计算,可推理得到n位二进制数的转换表达式:其中D为n位二进制数的和,因此,电流和二进制数成线性关系。运算放大器的输出电压为:根据以上的分析计算,可推理得到n位二进制数的转换表达式:DAC0832是美国数据公司的8位D/A,片内带数据锁存器,电流输出,输出电流稳定时间为1us。+5V~+15V单电源供电,功耗为20mW。

6-5-2DAC0832DAC0832是美国数据公司的8位D/A,片内带数据锁存器,1.DAC0832的内部结构控制线(5条)ILE:

数据锁存允许控制信号输入线,高电平有效;

CS:片选片信号输入线,低电平有效;WR1:数据锁存器写选通输入线,负脉冲有效;WR2:DAC寄存器写选通输入线,负脉冲有效;XFER:数据传输控制信号输入线,低电平有效;

1.DAC0832的内部结构控制线(5条)输出线(3条):IOUT1:电流输出线,当DAC寄存器为全1时IOUT1最大;IOUT2:电流输出线,其值与IOUT1值之和为一常数;Rfb:

反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度。

输出线(3条):2.DAC0832的工作方式直通方式:使所有控制信号(CS、WR1、WR2、ILE、XFER)均有效,常用于不带微机的控制系统;

单缓冲方式:只使一个数据缓冲器有效,适用于一路模拟量输出或几路模拟量非同步输出;

双缓冲方式:输入寄存器和DAC寄存器各自分配有地址,可分别选通后同时输出多路模拟信号,适用于多个DAC0832同时输出。2.DAC0832的工作方式直通方式:使所有控制信号(CS、1.DAC用作单极性电压输出

Vout=-D×Vref/256

D=D7×27+D6×26+…+D0×203.DAC的应用-电流输出转换成电压输出

1.DAC用作单极性电压输出Vou2.DAC用作双极性电压输出列方程:I1+I2+I3=0I1=Va/R,I2=Vout

/2R,I3=Vref/2RVa=-D×Vref/256解得:

Vout=(D-128)×Vref/1282.DAC用作双极性电压输出列方程:只有一路模拟量输出的MCS-51系统只有一路模拟量输出的MCS-51系统例:D/A转换程序:用DAC0832输出0~5V锯齿波,电路为单缓冲方式(设VREF=-5V,DAC0832地址为7FFFH,脉冲周期要求为100ms)。100msDACS:MOVDPTR,#7FFFH;0832I/O地址

MOVA,#0 ;开始输出0VDACL:MOVX @DPTR,A ;输出模拟量

ACALL DELAY ;延时100ms/256

INCA ;升压

AJMP DACL ;连续输出DELAY:…

;延时子程序+5V0V例:D/A转换程序:用DAC0832输出0~5V锯齿波,电路例:D/A转换程序,用DAC0832输出-1~-5V方波,电路为单缓冲方式。设VREF=5V,DAC0832地址为7FFFH。解:

ORG1000HSTART:MOVDPTR,#7FFFHLOOP:MOVA,#33H;(等于10进制的51)MOVX@DPTR,A;置上限电平

ACALLDELAY;形成方波顶宽

MOVA,#0FFH

MOVX@DPTR,A;置下限电平

ACALLDELAY;形成方波底宽

SJMPLOOP;循环DELAY:…-1V-5V例:D/A转换程序,用DAC0832输出-1~-5V方波,电A/D转换器是将模拟量转换成数字量的器件。模拟量可是电压、电流等电信号,也可是声、光、压力和温度等随时间连续变化的非电物理量。非电物理量可通过合适的传感器等转换成电信号,模拟量只有转换成数字量才能被计算机采集、分析和计算处理。6-6A/D接口的扩展

A/D转换器是将模拟量转换成数字量的器件。模拟量可是电压、电A/D转换的种类计数器式:结构简单,转换速度很慢;双积分式:抗干扰能力强,转换速度低;逐次逼近式:转换速度较快;并行转换:转换速度最快,但因结构复杂而造价较高。A/D转换的种类计数器式:结构简单,转换速度很慢;

控制电路先使“N位寄存器”中最高位置1,其余位清零,“N位D/A转换网络”根据“N位寄存器”中的内容产生一个比较电压Vs(为满量程的一半),并将其与Vx比较,若Vx>Vs,则“N位寄存器”中最高位的“1”保留,表示Vx比满量程的一半还大,否则置“0”。然后控制电路依次对N-1,N-2,…,1位重复上述比较过程,就可使“N位寄存器”中得到与模拟量Vx相对应的数字量。逐次逼近式A/D转换原理:控制电路先使“N位寄存器”中最高位衡量A/D性能的主要参数:分辨率:即输出的数字量最低位变化一位所对应的输入模拟量的变化值;满刻度误差:即输出全1时输入电压与其理想输入量之差;转换速率;转换精度;是否可方便地和CPU连接。衡量A/D性能的主要参数:6-6-2集成A/D转换器

ADC0809/0808为8路8位逐次逼近式A/D转换器,可分时转换8路模拟信号。ADC0809由一个8位逐次逼近式A/D转换器、8路模拟量转换开关、3-8地址锁存译码器和三态输出数据锁存器。6-6-2ADC0809的引脚功能IN0~IN7:8路模拟量输入通道;D7~D0:8位三态数据输出线;A、B、C:通道选择输入线;ALE:通道锁存控制信号输入线;START:启动转换控制信号输入线;CLK:转换时钟输入线,典型值为640KHz,超过该频率,转换精度会下降;EOC:转换结束信号输出线,高电平有效;OE:输出允许控制信号输入线,OE为高电平时把转换结果送数据线D7~D0,OE为低电平时D7~D0浮空;ADC0809的引脚功能IN0~IN7:8路模拟量输入通道ADC0809时钟信号的确定ADC0809时钟信号由8031的ALE信号提供,8031的ALE引脚通常是每个机器周期出现两次,故它的频率是单片机振荡频率的1/6。若8031的主频是6MHz,则ALE信号频率是1MHz,若使ALE上信号二分频后接ADC0809的CLK端,则可获得500KHz的A/D转换脉冲。ADC0809时钟信号的确定ADC0809时钟信号由1.启动A/D转换(3种启动方式对应3种硬件连接方法)1)ADDA,ADDB,ADDC分别接地址锁存器提供地址的低3位,指向IN7通道的相应程序指令为:

MOVDPTR,#0EFF7H;指向A/D转换器和模拟通道IN7地址

MOVX@DPTR,A;启动A/D转换,A中可以是任意值

MCS-51单片机与ADC0809的接口方法1.启动A/D转换(3种启动方式对应3种硬件连接方法)MCS2)ADDA,ADDB,ADDC分别接数据线中的低3位,则指向IN7通道的相应程序指令为:

MOVDPH,#0E0H ;送A/D转换器端口地址

MOVA,#07H ;IN7地址送AMOVX@DPTR,A ;送地址并启动A/D转换2)ADDA,ADDB,ADDC分别接数据线中的低3位,则3)ADDA,ADDB,ADDC分别接高8位地址中的低3位,则指向IN7通道的相应程序指令为:

MOVDPTR,#0E700HMOVX@DPTR,A3)ADDA,ADDB,ADDC分别接高8位地址中的低3位1)无条件传送方式

转换时间是转换器的一项已知和固定的技术指标。例如:ADC0809转换时间为128

s,可在A/D转换启动后,调用一个延时足够长的子程序,规定时间到,转换也肯定已经完成。2)查询方式

ADC0809的EOC端出现高电平,表明A/D转换完成。查询测试EOC的状态,即可确知转换是否完成。需注意从ADC0809复位到EOC变低约需10

s时间,查询时应首先确定EOC先变低,再变高,才说明A/D转换完成。3)中断方式

把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。2.确认A/D转换完成3.转换数据的传送1)无条件传送方式2.确认A/D转换完成3.转换数据的传送例6-6

如图6-40a电路中,对IN0~IN7上模拟电压巡回采集一遍数字量,并送入内部RAM以50H为始址的输入缓冲区的有关程序如下:

ORG0000HSTMPMA1NORG0013HLJMPP1NT1MAIN:MOV10H,#50H;输入数据区首址送工作寄存器2区R0MOV12H,#0;IN0相对地址送工作寄存器2区R2MOV17H,#8

温馨提示

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

评论

0/150

提交评论