第六章单片机系统的并行扩展c方案课件.ppt

上传人:小飞机 文档编号:3947414 上传时间:2023-03-28 格式:PPT 页数:54 大小:3.72MB
返回 下载 相关 举报
第六章单片机系统的并行扩展c方案课件.ppt_第1页
第1页 / 共54页
第六章单片机系统的并行扩展c方案课件.ppt_第2页
第2页 / 共54页
第六章单片机系统的并行扩展c方案课件.ppt_第3页
第3页 / 共54页
第六章单片机系统的并行扩展c方案课件.ppt_第4页
第4页 / 共54页
第六章单片机系统的并行扩展c方案课件.ppt_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《第六章单片机系统的并行扩展c方案课件.ppt》由会员分享,可在线阅读,更多相关《第六章单片机系统的并行扩展c方案课件.ppt(54页珍藏版)》请在三一办公上搜索。

1、第六章 单片机系统扩展技术,3 并行接口的扩展,4 D/A接口的扩展,5 A/D接口的扩展,2 存储器的扩展,1 51系统并行扩展原理,6-1-1 并行扩展总线,P2口作为单片机的地址总线高八位A15A8,P0为地址总线低八位A7A0和数据总线D7D0复用。地址锁存原理(图6-1)。注意四个控制引脚的电平变化:ALE、。,CPU根据地址访问外部存储器,即根据地址线上送出的地址信息选中某一芯片的某个单元进行读写。逻辑上,芯片的选择由高位地址译码实现、被选中芯片中单元的选择则由低位地址信息确定。为了实现单片机与外部存储器的连接,把单片机的地址线分为片内地址线和片选地址线两部分。片选地址线通常直接或

2、通过地址译码器与存储器芯片的片选端相连,也可以悬空不用。片内地址线通常直接或通过地址锁存器与相应存储器地址线相连。,6-1-2 地址译码方法,线选法,用某一位地址线直接连到所扩展的芯片的片选端。A15、A14、A13中不能有两根以上地址线同时为低!,按照片选地址线的不同连接方式,单片机地址译码可分为:,0#芯片,地址重叠:有两个及以上地址与存储单元对应。对于0#芯片,X为无关项,即不论X取0或1,对单元的确定都无影响,故0#芯片中每个单元都有210个重叠地址。当X由全“0”变到全“1”时,0#芯片的地址范围为6000H7FFFH。基本地址范围:6000H6007H。,全地址译码法,所有片选地址

3、线全部参加译码。1#芯片只有唯一的地址与其存储单元对应,不存在地址重叠。,常用地址译码器:2-4译码器:74LS1393-8译码器:74LS1384-16译码器:74LS154,部分地址译码法,片选线中只有一部分参与译码,其余部分悬空。有地址重叠。,一、MCS-51用于存储器扩展的外部总线信号:P0.00.7:8位数据和低8位地址信号复用;P2.02.7:高8位地址信号;ALE:地址锁存允许控制信号;PSEN:片外程序存储器读控制信号;RD:片外数据存储器读控制信号;WR:片外数据存储器写控制信号;EA:片内、外程序存储器选择信号。,6-2 存储器的扩展,二、程序存储器(ROM)扩展:,803

4、1扩展32KB EPROMIntel 27256,常用EPROM芯片:Intel 2716(2K8位)、2732(4KB)、2764(8KB)、27128(16KB)、27256(32KB)、27512(64KB)。,三、数据存储器(RAM)扩展:,常用RAM芯片:Intel 6116(2KB)、6264(8KB)、62256(32KB)。,8031扩展8KB RAM Intel 6264,四、程序与数据存储器扩展:,单片机连接 8KB EPROM 2764、8KB RAM 6264 各一片。,单片机通常通过P0口和P2口构成数据、地址总线,扩展EPROM、RAM或其它功能芯片。这样一来,只有

5、剩下的P1口和部分P3口可提供给用户用作I/O口。因此,在大部分的MCS-51单片机应用系统设计中都需要进行I/O口的扩展。,6-4并行接口的扩展,并行接口的扩展,6-4-2 可编程并行I/O扩展接口8255A,1.数据总线(D7D0)传送CPU与8255A之间的数据、控制字和状态字。2.控制总线(6条)CS:片选线 A1和A0:口选线,用于寻址A口、B口、C口以及控制口寄存器中的一个。RD和WR:二者必须相反,控制CPU与8255A之间数据的传送和流向。RESET:高电平复位,使内部寄存器全部清零。3.并行I/O总线(PA7PA0、PB7PB0、PC7PC0)传送8255A与外设之间的数据,

6、其中的PC7PC0还可用作联络线。4.电源线(2条),一、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口

7、上外设的控制/状态信息,低四位属于B口,传送B口上所需的控制/状态信息。,3.读/写控制逻辑,CS:8255A的片选引脚端;RD:读控制端。为0时,允许单片机从8255A读取数据或状态字;WR:写控制端。为0时,允许单片机将数据或控制字写入8255A;A1、A0:口地址选择线。通过A0、A1可选中8255A的四个寄存器。口地址选择如下:A1 A0 寄存器 0 0 寄存器A(A口)0 1 寄存器B(B口)1 0 寄存器C(C口)1 1 控制字寄存器(控制口)RESET:复位控制端。为1时,8255A复位。复位状态:控制字寄存器被清零。,4.A组和B组控制块,每个控制块接收来自读/写控制逻辑的命令

8、和内部数据总线的控制字,并向对应口发出适当的命令。A组控制块控制A口及C口的高4位。B组控制块控制B口及C口的低4位。,三、8255A的控制字,8255A有两种控制字,即方式控制字和PC口位置位/复位控制字。,四、8255A的操作方式(1)方式0(基本I/O方式)PA、PB、PC可分别被定义为方式0输入或方式0输出。输出具有锁存功能,输入没有锁存。适用于无条件传输数据的设备,如读一组开关状态、控制一组指示灯,不使用应答信号,CPU可以随时读出开关状态,随时把一组数据送指示灯显示。,如:令A口和C口高四位工作在方式0输出方式,B口和C口低四位工作在方式0输入方式。MOV R0,#0FBH;控制字

9、寄存器地址MOV A,#83H;方式控制字MOVX R0,A,(2)方式1(应答I/O方式)有选通输入和选通输出两种工作方式。A口和B口皆可独立地设置成这种工作方式,在方式1下,A口和B口通常用于传送和它们相连外设的I/O数据,C口用作A口和B口的握手联络线,以实现中断方式传送I/O数据。,方式1输入 STB:设备的选通信号输入线,低电平有效,通常是外设给8255A的信号,表示外设给8255的数据已到达引脚。IBF:端口锁存器满标志输出线,高电平有效。通知外设数据已从引脚取入锁存器中。INTE:8255A端口内部的中断允许触发器。“1”表示中断允许(手动设置)。INTR:中断请求信号线,高电平

10、有效。当STB、IBF、INTE都为”1”时,INTR就置“1”。,方式1输出:输出锁存器满状态标志输出线。表示CPU已将数据输出到此端口。:设备响应信号输入线。表示外设已取走数据。INTR:中断请求信号输出线,高电平有效。当、和INTE都为”1”时,INTR被置“1”,发出中断请求。,(3)方式2(双向选通I/O方式),方式2仅对PA口有意义。方式2使PA口成为8位双向三态数据总线口,既可发送数据又可接收数据。PA口方式2工作时,PB口仍可作方式0和方式1 I/O口,PC口高5位作状态控制线。,五、8255A编程规定 初始化编程:往控制口写入控制字,确定8255A工作方式。方式控制字:D7=

11、1;C口位置位/复位控制字:D7=0。,例:8255A的A口以方式0输出单片机的片内RAM数据,B口以方式1输入(设控制口的口地址为7F03H),PIOS:MOV DPTR,#7F03H;控制口口地址MOV A,#86H;写工作方式控制字MOVXDPTR,A MOV DPTR,#7F00H;A口口地址MOV A,R0;取片内RAM的数据MOVXDPTR,A;由A口输出,例6-4 8255A采用方式1工作,CPU采用中断方式控制打印机把内部RAM中30H开始的32个单元的内容经B口输出打印。,主程序:MAIN:MOV 8,#30H;RAM首址 1区R0 MOV 0FH,#20H;长度1区R7 S

12、ETB EA;开中断 SETB EX1;允许外中断,电平触发方式 MOV DPTR,#7FFFH;将8255A的PC2(即INTEB)置“1”MOV A,05H MOVX DPTR,A;MOV A,#0BCH;写方式控制字(B口方式1输出)MOVX DPTR,A MOV DPTR,#7FFDH;从PB口输出第一个数据打印 MOV A,30H MOVX DPTR,A INC 8;RAM指针加1 DEC 0FH;长度减1;执行其它任务,外部中断1服务程序:PINT1:PUSH ACC;现场保护(A、DPTR 等进栈)PUSH DPH PUSH DPL PUSH PSW MOV PSW,#8;当前工

13、作寄存器区切换到1区 MOV A,R0;从B口输出下一个数据打印 MOV DPTR,#7FFDH MOVX DPTR,A INC R0;修改指针 DJNZ R7,BACK CLR EX1;长度为0,关中断返回 SETB F0;置打印结束标志位F0 BACK:POP PSW;现场恢复(DPTR、A等退栈)POP DPL POP DPH POP ACC RETI,6-5D/A接口的扩展,实现数模转换的功能部件称为D/A转换器,衡量D/A转换器性能的主要参数有:,分辨率:即输出的模拟量的最小变化量,n位的D/A转换器分辨率为2-n;满刻度误差:即输入为全1时输出电压与其理想值之间的误差,一般为2-(

14、n+1);输出范围;转换时间:指从转换器的输入改变到输出稳定的时间间隔;是否容易和CPU连接。,6-5-1 梯形电阻式D/A转换原理:“按权展开,然后相加”,根据以上的分析计算,可推理得到n位二进制数的转换表达式:其中D为n位二进制数的和,因此,电流 和二进制数成线性关系。运算放大器的输出电压为:,DAC0832是美国数据公司的8位D/A,片内带数据锁存器,电流输出,输出电流稳定时间为1 us。+5V+15V单电源供电,功耗为20mW。,6-5-2 DAC 0832,1.DAC 0832的内部结构,控制线(5条)ILE:数据锁存允许控制信号输入线,高电平有效;CS:片选片信号输入线,低电平有效

15、;WR1:数据锁存器写选通输入线,负脉冲有效;WR2:DAC寄存器写选通输入线,负脉冲有效;XFER:数据传输控制信号输入线,低电平有效;,输出线(3条):IOUT1:电流输出线,当DAC寄存器为全1时IOUT1最大;IOUT2:电流输出线,其值与IOUT1值之和为一常数;Rfb:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度。,2.DAC0832的工作方式,直通方式:使所有控制信号(CS、WR1、WR2、ILE、XFER)均有效,常用于不带微机的控制系统;单缓冲方式:只使一个数据缓冲器有效,适用于一路模拟量输出或几路模拟量非同步输出;双缓冲方式:输入寄存器和DAC寄存器各自分配有

16、地址,可分别选通后同时输出多路模拟信号,适用于多个DAC0832同时输出。,1.DAC用作单极性电压输出,VoutDVref/256 DD727+D626+D020,3.DAC的应用-电流输出转换成电压输出,2.DAC用作双极性电压输出,列方程:I1+I2+I3=0I1=Va/R,I2=Vout/2R,I3=Vref/2RVaDVref/256解得:Vout=(D128)Vref/128,只有一路模拟量输出的MCS-51系统,例:D/A转换程序:用DAC0832输出05V锯齿波,电路为单缓冲方式(设VREF=-5V,DAC0832地址为7FFFH,脉冲周期要求为100ms)。,DACS:MOV

17、 DPTR,#7FFFH;0832 I/O地址MOV A,#0;开始输出0VDACL:MOVXDPTR,A;输出模拟量ACALL DELAY;延时100ms/256INC A;升压AJMPDACL;连续输出DELAY:;延时子程序,+5V,0V,例:D/A转换程序,用DAC0832输出-1-5V方波,电路为单缓冲方式。设VREF=5V,DAC0832地址为7FFFH。,解:ORG 1000HSTART:MOV DPTR,#7FFFH LOOP:MOV A,#33H;(等于10进制的51)MOVX DPTR,A;置上限电平 ACALL DELAY;形成方波顶宽 MOV A,#0FFH MOVX

18、DPTR,A;置下限电平 ACALL DELAY;形成方波底宽 SJMP LOOP;循环DELAY:,-1V,-5V,A/D转换器是将模拟量转换成数字量的器件。模拟量可是电压、电流等电信号,也可是声、光、压力和温度等随时间连续变化的非电物理量。非电物理量可通过合适的传感器等转换成电信号,模拟量只有转换成数字量才能被计算机采集、分析和计算处理。,6-6 A/D接口的扩展,A/D转换的种类,计数器式:结构简单,转换速度很慢;双积分式:抗干扰能力强,转换速度低;逐次逼近式:转换速度较快;并行转换:转换速度最快,但因结构复杂而造价较高。,控制电路先使“N位寄存器”中最高位置1,其余位清零,“N位D/A

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

20、器,可分时转换8路模拟信号。,ADC0809由一个8位逐次逼近式A/D转换器、8路模拟量转换开关、3-8地址锁存译码器和三态输出数据锁存器。,ADC0809的引脚功能,IN0IN7:8路模拟量输入通道;D7D0:8位三态数据输出线;A、B、C:通道选择输入线;ALE:通道锁存控制信号输入线;START:启动转换控制信号输入线;CLK:转换时钟输入线,典型值为640KHz,超过该频率,转换精度会下降;EOC:转换结束信号输出线,高电平有效;OE:输出允许控制信号输入线,OE为高电平时把转换结果送数据线D7D0,OE为低电平时D7D0浮空;,ADC0809时钟信号的确定,ADC0809时钟信号由8

21、031的ALE信号提供,8031的ALE引脚通常是每个机器周期出现两次,故它的频率是单片机振荡频率的1/6。若8031的主频是6MHz,则ALE信号频率是1MHz,若使ALE上信号二分频后接ADC0809的CLK端,则可获得500KHz的A/D转换脉冲。,1.启动A/D转换(3种启动方式对应3种硬件连接方法)1)ADDA,ADDB,ADDC分别接地址锁存器提供地址的低3位,指向IN7通道的相应程序指令为:MOV DPTR,#0EFF7H;指向A/D转换器和模拟通道IN7地址 MOVX DPTR,A;启动A/D转换,A中可以是任意值,MCS-51单片机与ADC0809的接口方法,2)ADDA,A

22、DDB,ADDC分别接数据线中的低3位,则指向IN7通道的相应程序指令为:MOV DPH,#0E0H;送A/D转换器端口地址 MOV A,#07H;IN7地址送A MOVX DPTR,A;送地址并启动A/D转换,3)ADDA,ADDB,ADDC分别接高8位地址中的低3位,则指向IN7通道的相应程序指令为:MOV DPTR,#0E700H MOVX DPTR,A,1)无条件传送方式 转换时间是转换器的一项已知和固定的技术指标。例如:ADC0809转换时间为128s,可在A/D转换启动后,调用一个延时足够长的子程序,规定时间到,转换也肯定已经完成。2)查询方式 ADC0809的EOC端出现高电平,

23、表明A/D转换完成。查询测试EOC的状态,即可确知转换是否完成。需注意从ADC0809复位到EOC变低约需10s时间,查询时应首先确定EOC先变低,再变高,才说明A/D转换完成。3)中断方式 把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。,2.确认A/D转换完成,3.转换数据的传送,例6-6 如图6-40a电路中,对IN0IN7上模拟电压巡回采集一遍数字量,并送入内部RAM以50H为始址的输入缓冲区的有关程序如下:ORG 0000H STMP MA1N ORG 0013H LJMP P1NT1 MAIN:MOV 10H,#50H;输入数据区首址送工作寄存器2区R0

24、 MOV 12H,#0;IN0相对地址送工作寄存器2区R2 MOV 17H,#8;模拟量路数送工作寄存器2区R7 MOV IE,#84H;CPU开中断,开外部中断1 SETB IT1;为负边沿触发 MOV SP,#60H;设置堆栈指针 MOV DPTR,#0EFF8H MOVX DPTR,A;启动IN0 A/D转换,P1NT1:PUSH ACC;保护现场略 SETB RS1 CLR RS0;切换到工作寄存器2区 MOV DPH,#0EFH MOVX A,DPTR;读A/D转换值 MOV R0,A;存A/D转换值 DJNZ R7,OUT1 CLR EX1;采集完8路,关中断 OUT:POP ACC;恢复现场略 RETI;中断返回 OUT1:INC R0;指向输入数据区下一地址 INC R2;指向下一路模拟通道 MOV DPH,#0EFH;启动下一路模拟通道A/D转换 MOV DPL,R2 MOVX DPTR,A SJMP OUT,人有了知识,就会具备各种分析能力,明辨是非的能力。所以我们要勤恳读书,广泛阅读,古人说“书中自有黄金屋。”通过阅读科技书籍,我们能丰富知识,培养逻辑思维能力;通过阅读文学作品,我们能提高文学鉴赏水平,培养文学情趣;通过阅读报刊,我们能增长见识,扩大自己的知识面。有许多书籍还能培养我们的道德情操,给我们巨大的精神力量,鼓舞我们前进。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号