第9章常用接口芯片及应用_第1页
第9章常用接口芯片及应用_第2页
第9章常用接口芯片及应用_第3页
第9章常用接口芯片及应用_第4页
第9章常用接口芯片及应用_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

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

文档简介

第9章常用接口芯片及应用9.1可编程并行接口82559.2可编程定时器82539.3可编程串行接口82509.1可编程并行接口8255A

序论

8255A的引脚信号

8255A的内部结构

8255A的控制字和工作方式

8255A的应用举例何谓并行接口?将数据字的各位同时在多根并行数据线上进行传输!数据接口类型:输入接口/输出接口;数据传输方式:无条件;查询;中断;DMA;01010110

D0D1D2D3D4D5D6D7外设D0D1D2D3D4D5D6D7接口何谓可编程并行接口?通过CPU对接口电路的读写控制(写入控制字),可以实现:数据接口类型的改变或设定;譬如:同一个端口可以设置为输入端口,也可设置为输出端口;数据传输方式可以改变或设定;譬如,可以设置为查询方式,也可设置为中断方式等。1、

第一节8255的引脚信号与功能1.面向CPU的接口信号数据总线:D0~D78位数据总线地址总线:CS、A0、A1最多有4个独立的端口地址控制总线:RD、WR、RESET与8086/8088系列CPU兼容8位并行接口PA:PA0~PA78位并行接口PB:PB0~PB78位并行接口PC:PC0~PC72.面向外设的接口信号resetD7~D0A9~A2A1A0IORIOW8255A

+5VGND片选译码RESETA1A0D7~D0RDWRCS外设PC7~PC0PB7~PB0PA7~PA03.8255A的接线原理图

4.8255的基本功能基本功能:扩展3组8位并行输入输出接口接口容量:3个8位I/O端口:PA、PB、PC1个控制端口可编程功能:对控制端口写入不同的控制字,可实现:定义PA、PB、PC为输入或输出端口;可将PC口改作状态寄存器,使得PA和PB端口工作于不同的工作方式。resetD7~D0A9~A2A1A0IORIOW片选译码数据缓冲器读写控制片内译码RESETA1A0PCPB控制口D端口A端口C端口BD7~D0外设RDWRCSPA第二节8255A的内部结构

8255A的内部结构组态独立的3个8位并行输入输出端口:A、B、C作为输入端口,具有三态输入缓冲功能;作为输出端口,并有数据输出锁存功能;这种组态方式称作基本输入输出方式,即无条件方式;A组控制和B组控制当PA或PB工作于查询或中断的输入输出方式时,需要联络信号线,因而,将PC中的某些引脚用作PA和PB的联络信号线,PC中的其他剩余引脚仍可作为独立I/O输入输出信号来用。端口C的高4位(PC7-PC4)用作端口A的联络控制信号线,构成A组;端口C的低4位(PC3-PC0)用作端口B的联络控制信号线,构成B组。8255的端口寄存器输入输出端口A输入输出端口B输入输出端口C可编程控制端口端口寄存器CSA1A00000010100118255的操作A1A0RDWRCS操作00010端口A数据CPU01010端口B数据

CPU10010端口C数据

CPU11010非法操作00100CPU数据端口A01100CPU数据端口B10100CPU数据端口C11100CPU数据控制口××11×数据总线俘空××××1未选中,该8255数据总线俘空第三节8255A的控制字和工作方式一、8255的控制字控制字8255A有一个8位控制寄存器,给其写入不同的数,会改变8255A各端口的工作方式,或直接对PC口进行操作。8255A的两个控制字:工作方式控制字——设置PA、PB、PC工作方式C口置位/复位控制字——直接对PC口中的单根信号线进行位操作。置位——输出‘1’;复位——输出‘0’1D7D6D5D4D3D2D1D00输出1输入PC3~PC0B口0

输出1输入0方式01方式1B组工作方式PC7~PC40输出1输入A口0输出1输入特征位,D7=1表示是方式控制字A组工作方式00方式001方式11x方式22.工作方式控制字三种工作方式方式0:基本输入输出方式适用于无条件传送的接口电路方式1:选通输入输出方式适用于查询和中断方式的接口电路方式2:双向选通传送方式适用于与双向传送数据的外设适用于查询和中断方式的接口电路端口A有三种方式:0、1、2;端口B有两种方式:0、1;端口C有一种方式:0;但可单独位操作。例

已知8255片选译码地址为F0~F3H1)确定各端口地址;2)确定8255工作方式控制字,使得:A口方式0输入

B口方式0输出

PC3~PC0输入

PC7~PC4输出最后得出结论:

A口地址为F0H

B口地址为F1H

C口地址为F2H

控制口地址为F3H1)确定端口地址由8255A编程结构知:由8255A的CS与系统总线的连线知,

地址在F0~F3H可使CS有效,故:4个端口的地址在F0~F3H中。结合8255A与系统总线的连线:

A7

A6

A5

A4

A3

A2

A1

A0F0H

1

1

1

1

0

0

0

0

A口F1H

1

11

1

0

0

0

1

B口F2H

1

1

1

1

0

0

1

0

C口F3H

1

1

1

1

0

0

1

1

控制

CSA1A0

8255A总线2)

确定方式控制字1D7D6D5D4D3D2D1D0特征位00A口方式01A口输入0PC7~PC4输出0B口方式00B口输出1PC3~PC0输入所以,方式控制字为10010001B,即91H

要求设置:A口方式0输入,PC7~PC4输出

B口方式0输出,PC3~PC0输入设置方式控制字的程序段为:MOVDX,0F3H

;控制口地址MOVAL,91H

;方式控制字OUTDX,AL或

MOVAL,91H

;方式控制字OUT0F3H,AL3.C口置位/复位控制字作用:单独使C口中的某一位输出为1(置位)或0(复位),而不影响其他位的当前状态;0复位1置位0D7D6D5D4D3D2D1D0特征位,D7=0表示是C口按位置位/复位控制字无意义选择设置位C口置位/复位控制字:xxx例

通过控制口置PC2为0,置PC4为1

MOVDX,0F3H

;置DX为控制口地址

MOVAL,00000100B;置PC2为0OUTDX,ALMOVAL,00001001B;置PC4为1OUTDX,AL

二、8255A的工作方式方式0:基本输入输出方式适用于无条件传送的接口电路方式1:选通输入输出方式适用于查询和中断方式的接口电路方式2:双向选通传送方式适用于与双向传送数据的外设适用于查询和中断方式的接口电路1.方式0——基本输入输出方式

特点:作为输入口相当于普通的三态门;作为输出口相当于普通的锁存器;CPU可直接对端口进行读写操作,实现外设数据的无条件传送。应用举例:用8个发光二极管来反映8个开关的位置。设端口地址范围为210H~213H,用8255设计接口电路并编程。(初始化+操作)方案:用PA作为8位开关输入,PB作为8个LED输出,PA,PB均工作于方式0。连线resetD7~D0A9~A2A1A0IORIOW片选译码RESETA1A0D7~D0RDWRCS8255APB7PB0PA7PA0+5V+5V+5V+5VMOVDX,213HMOVAL,00010000BOUTDX,AL………MOVDX,210HINAL,DXNOTALMOVDX,211HOUTDX,AL

2.方式1——选通输入输出方式特点:可实现查询式或中断式数据传送;A口B口编程为数据输入口或数据输出口,利用C口某些位作为状态联络信号使用。C口须配合的引脚固定,不能被用户定义使用。(1)方式1输入1011A口方式1输入控制字PA7~PA0PC4PC5PC3INTEAPC4与门IBFASTBAINTRARDD7~D0A口方式1输入时相应的联络信号STB—选通信号,低电平有效由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器IBF—输入缓冲器满信号,高电平有效8255A输出的联络信号。当其有效时,表示数据已锁存在输入锁存器INTR—中断请求信号,高电平有效8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据INTE中断允许控制信号,通过控制口对C口相应位的置位/复位设置允许或不允许。方式1的输入时序:

PA7~PA0外设送来数据STBRD③INTR当INTE=1时

IBFRDD7~D0PA7~PA0PC4PC5PC3INTEAPC4与门IBFSTBINTR①②111B口方式1输入控制字PB7~PB0PC2PC1PC0INTEBPC2与门RDB口方式1输入时相应的联络信号D7~D0IBFBSTBBINTRB(2)方式1输出A口方式1输出时相应的联络信号PA7~PA0PC6PC7PC3INTEAPC6与门OBFAACKAINTRAWRD7~D01010A口方式1输出控制字OBF——输出缓冲器满信号,低有效8255A输出给外设的一个控制信号,当其有效时,表示CPU已把数据输出给指定的端口,外设可以取走ACK——响应信号,低有效外设的响应信号,指示8255A的端口数据已由外设接受INTR——中断请求信号,高有效当输出设备已接受数据后,8255A输出此信号向CPU提出中断请求,要求CPU继续提供数据INTE中断允许控制信号,通过控制口对C口相应位的置位/复位设置允许或不允许。①D7~D0送往外设数据数据写入端口WROBFINTRACK②③当INTE=1时

方式1的输出时序:PA7~PA0PC6PC7PC3INTEAPC6与门OBFAACKAINTRAWRD7~D0110B口方式1输出控制字B口方式1输出时相应的联络信号PB7~PB0PC2PC1PC0INTEBPC2与门WRD7~D0OBFBACKBINTRB

3.方式2——双向方式特点:可实现查询式或中断式数据传送;只有端口A可以工作于方式2,需要利用端口C的5个信号线;C口作为状态联络信号使用。方式2双向引脚PC6PC7PC3PA7~PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用PC6设置INTE1(输出)用PC4设置INTE2(输入)输入和输出中断通过或门输出INTRA信号作业P2577、8P21912、13、14补充:1)I/O端口地址编址方式、特点2)中断类型码、中断向量、中断向量表三者定义及其关系3)请概述INTR引脚中断响应过程9.2可编程定时器/计数器教学重点

8253的引脚和6种工作方式

8253的编程

8253在IBMPC系列机上的应用9.2.1定时计数器的概念及用途1.定时计数器是针对脉冲型信号的,作为PIO的接口2.定时计数器也称定时器/计数器,其核心单元为脉冲信号3用途:a用于对外部脉冲计数——计数器

b用于对外部脉冲计数,但若外部脉冲为恒频脉冲信号,则实际为定时——定时器;

c用于对外部恒频脉冲计数,定时输出一个分频脉冲信号;

d定时与计数相结合,可以实现测频。4.常规定时功能的实现方法软件延时——利用微处理器执行一个延时程序段实现不可编程的硬件定时——采用分频器、单稳电路或简易定时电路控制定时时间。如555外接电阻电容构成可编程的硬件定时——软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路9.2.1定时计数器的概念及用途9.2.28253的内部结构和引脚

一、外部结构1)

数据总线2)

地址总线3)

控制总线4)

I/O接口信号:CLK0~2

GATE0~2

OUT0~2二.8253的内部结构D7~D0计数器0控制字寄存器计数器1计数器2内部数据总线数据总线缓冲器读写控制逻辑RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2与CPU接口部分与外设接口部分GATE计数器寄存器(CR)CLKOUT减1计数器输出锁存器(OL)三、定时计数单元结构计数器寄存器——用于存放计数初值减法计数器——CLK引脚每收到一个脉冲,减法计数器将减1。注意,计数器寄存器中的初值不会改变。输出锁存器——用于锁定当前的计数值,这样CPU在读取时,该值将不再变化CLK(时钟)——输入,在计数过程中,此引脚上每输入1个时钟信号(下降沿),计数器的计数值将减1GATE(门控)——输入,控制计数器工作:开启/关闭计数——高电平时允许计数通道工作触发/重触发——上升沿产生触发或重触发OUT(计数器输出)——输出,根据设置工作方式的不同,OUT引脚可输出单个或连续的波形信号。一般是在计数过程结束时(计数值归0),OUT引脚信号发生变化。四、端口地址及操作A1A0功能00001选中计数器0对计数寄存器CR送初值10读输出锁存器OL当前值00101选中计数器1对计数寄存器CR送初值10读输出锁存器OL当前值01001选中计数器2对计数寄存器CR送初值10读输出锁存器OL当前值01101选中控制字寄存器由控制字格式中SC1、SC0决定对哪个计数器送控制字100XX11数据总线处于三态1XXXX未选中8253,数据总线三态9.2.38253的控制字1、4个部分组成:

计数器的选择;读写方式;设定工作方式;数制选择控制字:8253有3个独立的16位减1型定时计数器,每个工作于6种工作方式。用来规定8253的读写方式和工作方式2、读写过程:首先写入控制字,规定通道号、读写方式、工作方式和数制;写入计数初值;计算过程中,如果要读当前计数值,需先写入锁存命令。选择二进制时计数值范围:0000H~FFFFH0000H是最大值,代表65536选择十进制(BCD码)计数值范围:0000~99990000代表最大值10000初值最大是多少?为什么要规定读写方式?计数寄存器为16位,而数据总线为8位,因而必须经2次读写16位计数寄存器只有一个8位I/O端口,因此必须区分高低字节读计数器值时,为什么要锁存?因为计数过程中,分2次读出计数值,可能会发生读出错误例:在读之前,当前计数值为0200H;读出低字节00H;

读出低字节后,来个脉冲,计数器减1变为01FFH;此后读出的高字节为01;结果为0100H.错误3、读取计数值对8位数据线,读取16位计数值需分两次计数在不断进行,应该将当前计数值先行锁存,然后读取:向控制字I/O地址:给8253写入锁存命令从计数器I/O地址:读取锁存的计数值4、8253的控制字编程例:某个8253的计数器0、1、2端口和控制端口地址依次是40H~43H要求①:设置其中计数器0为方式0,采用二进制计数,先低后高写入计数值moval,30h;方式控制字:30H=00110000Bout43h,al;写入控制端口:43H

注意:8253有3个独立计数器,每个计数器都有自己的控制字,3个控制字格式相同;8255的3个通道共用1个控制字,控制字的内容决定3个通道的内部结构8253的计数初值编程要求②:设置计数器0采用二进制计数,写入计数初值:1024(=400H)movax,1024

;计数初值:1024(=400H)out40h,al

;写入低字节计数初值moval,ahout40h,al

;写入高字节计数初值要求③:某个时刻需读出当前计数器0的计数值,如何操作?5、8253编程与8255编程区别每个计数器对应不同的控制字;初始化包括控制字和定时计数初值;基本无操作,由OUT自动输出信号。当需要了解当前计数值为多少时可以采用读操作。一个控制字规定了3个端口的不同工作方式(输入输出,方式0,1,2);写完控制字,初始化结束(内部结构发生变化);操作开始,从端口读写完成输入输出。9.2.48253的6种工作方式8253有6种工作方式,由方式控制字确定熟悉每种工作方式的特点才能根据实际应用问题,选择正确的工作方式每种工作方式的过程类似:⑴设定工作方式⑵设定计数初值〔⑶硬件启动〕⑷计数初值进入减1计数器⑸每输入一个时钟计数器减1的计数过程⑹计数过程结束一、8253的工作方式8253的3个独立的计数器均有6种不同的工作方式。不论哪种方式工作,都必须遵守下面几条基本规则。

1)控制字写入计数器时,所有的控制逻辑电路立即复位,输出端OUT进入初始态(高电平或低电平);

2)初始值写入后,要经过1个时钟上升沿和下降沿,计数执行部件CE才开始工作。3)通常,在时钟脉冲CLK的上升沿时,门控信号GATE被采样。对于一种给定的方式,对门控信号的触发方式是有具体规定的,或电平触发,或边沿触发,但在有的方式中,两种触发方式均可。二、8253的工作方式及其应用1方式0——计数结束产生中断功能等效结构启动初始条件:写入初值和控制字GATE=1CLK第1个脉冲上升沿OUT初值GATECLK减1计数器启动应用:倒计时,倒计数方式0计数结束中断①②⑤④⑥GATEOUTCLK

031244方式0WR①设定工作方式②设定计数初值④计数值送入计数器⑤计数过程⑥计数结束上升沿可向CPU申请中断例1将8253的计数器0作为5ms定时器,定时到给出音响信号。设输入时钟频率为200kHz,端口地址为310H~313H。试设计电路连线图以及编写程序。(1)方案:CT0,方式0,计数初值N计算已知输入时钟CLK频率为200kHz,则时钟周期为5us,于是计数初值N=5ms/T=1000。(2)电路连线图(3)确定控制字

(4)编写程序8253的应用举例(4)初始化程序如下

MOVAL,30H

;控制字

MOVDX,313H

;控制口地址

OUTDX,AL

;控制字送8253控制寄存器

MOVDX,310H

;计数器0端口地址

MOVAX,1000

;将计数初值N=1000的低8位写入计数器0

OUTDX,AL

MOVAL,AH

;将N的高8位写入计数器0

OUTDX,AL8253的应用举例?如果采用十进制方式写入初值,程序作何改变方式1可编程单稳脉冲①②⑤④⑥①设定工作方式②设定计数初值③③硬件启动④计数值送入计数器⑤计数过程⑥计数结束GATEOUTCLK

031244方式1WR特点:计数器的启动是由正脉冲引起计数初值可通过GATE上升沿自动重装用途:精密单稳、看门狗定时器方式1可编程单稳脉冲方式2速率发生器(分频器)03124GATEOUTCLK

4方式2031240312403124WRT=N*Tclk

TH=(N-1)*TclkTL=1*Tclk方式3方波发生器03124GATEOUTCLK

4方式3031240312403124WRT=N*Tclk

TH=TL=N*Tclk/2应用:周期信号发生器、分频器方式4软件触发选通信号GATEOUTCLK031244方式42233310WR计数允许/禁止信号方式5硬件触发选通信号GATEOUTCLK031244方式522333110WR正沿触发各种工作方式的输出波形方式0方式1方式2方式3方式4方式50N0N0N0/N110NN/2

N/20/N0N01N01N01讨论:计数开始的时刻计数开始的时刻需要注意:处理器写入8253的计数初值只是写入了预置寄存器,之后到来的第一个CLK输入脉冲(需先由低电平变高,再由高变低)才将预置寄存器的初值送到减1计数器。从第二个CLK信号的下降沿,计数器才真正开始减1计数。可编程定时器/计数器8253可与各种微型计算机系统相连并构成完整的定时、计数或脉冲发生器。在使用8253时有两项工作要做,一是要根据实际应用要求,设计一个包含8253的硬件逻辑电路或接口,二是对8253进行初始化编程。8253的应用举例例2今有一个1MHz的时钟信号,请用8253产生频率为1Hz的周期信号。端口地址80H~83H。A、方案:利用CT0将1MHz信号分频1000倍产生1KHz周期信号;利用CT1将1KHz信号分频1000倍产生1Hz周期信号;B、接线1MHz5V1KHz1HzC、控制字与初值:CT0:方式3,00110110B,初值1000CT1:方式3,01110110B,初值1000D、编程MOVDX,MOVAL,36HOUTDX,ALMOVDX,MOVAX,1000OUTDX,ALMOVAL,AHOUTDX,ALMOVDX,MOVAL,76HOUTDX,ALMOVDX,MOVAX,1000OUTDX,ALMOVAL,AHOUTDX,AL8088微机综合应用系统的接口电路原理图。其工作要求为:8253用作定时器,每隔20ms启动一次A/D转换;A/D转换结束后向CPU申请中断,A/D转换的结果(8位)输入到8255A的A口;CPU在中断服务程序中,从8255A的A口读入转换结果,调用子程序DATA_PROC进行数据处理,其结果由8255A的B口直接输出到显示电路(数据不用程序处理)。试采用汇编语言编程实现以下要求:例:P257:12试采用汇编语言编程实现以下要求:根据3-8译码器LS138在题图中的连接情况,编写8255A和9253各端口的具体地址;已知系统中提供给8253的时钟脉冲的频率为2MHz,要求利用其所产生20ms的周期信号启动A/D转换。请将时钟输入信号PCLK和A/D转换器的START引脚与8253对应的引脚相连,并完成8253的初始化程序;

试编写中断服务程序子程序的片断,以完成从8255A输入数据——调用数据处理子程序——向8255A输出数据——返回主程序的过程。设,数据处理子程序DATA_PROC为已知,可直接调用。其中: 入口参数:从8255A输入的待处理8位数据存于AL中。 出口参数:BL存放待输出的数据作业:今有一个1MHz的时钟信号,请用8253定时1s。端口地址80H~83H。设计硬件连接图并编程初始化。P257:10思考题:129.3串行通信接口一、串行通信的基本概念二、串行通信标准接口三、8250的内部结构和编程一并行通信和串行通信

通信指计算机与外设、计算机与计算机间的信息交换

通信的基本方法:并行通信和串行通信9.3.1串行通信的基本概念并行通信将数据的各位同时在多根并行传输线上进行传输。01010110

D0D1D2D3D4D5D6D7目的D0D1D2D3D4D5D6D7源

串行通信

将数据的各位按时间顺序依次在一根传输线上传输。01101010

RD目的TD源第0位第7位串行通信与并行通信特点比较并行通信:

串行通信:

以字节或字为单位, 以位为单位,各位分时传递;

各位同时传递;所需通信线路根数多,所需通信线路根数少,投资大;投资小;因线路耦合干扰和投资,适于远距离,RS232可连适于近距离(2m以内);15m,485可达1500m;多位同时传递,速度快;多位分时传递,速度慢;适合芯片与芯片间数据适合双机通信或计算机与外设传递。 之间的数据传递。二串行通信中数据传输模式全双工半双工单工数据可以单向传递数据分时双向传递数据同时双向传递1、异步通信把每个字符当作独立的信息进行传送收发双方必须遵守共同的通信协议(通信规程),才能解决传送速率、起始电平、字符信息位、数据校验等问题三、串行通信方式根据时钟控制数据的发送和接收方式不同,串行通信又分为异步串行通信和同步串行通信两种。异步通信协议异步通信协议包括:一是字符的传送格式的规定,二是数据传送速率的要求。异步通信格式——帧格式

帧格式:起始位、数据位(5~8位)、奇偶校验位(可有可无)、停止位(1~2位)。奇校验:

数据位‘1’个数为奇数个,该位为0

数据位‘1’个数为偶数个,该位为1‘E’的ASCII码波形01000101空闲位起始位校验位停止位01010001001帧格式=起始位+数据位+奇偶校验位+停止位。波特率波特率(BaudRate):指单位时间传送二进制数的位数,一般以秒为单位。微机中常见的波特率有110,300,600,1200,2400,4800,9600,19200等。微机最高波特率由硬件决定。

例:已知字符格式中数据为8位,无校验,1位停止位,在1分钟内连续不断传送了69120个字符,求波特率。解:一个字符=1+8+0+1=10位每秒传送的字符个数=69120/60=1152个波特

温馨提示

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

评论

0/150

提交评论