第7章可编程接口芯片的知识_第1页
第7章可编程接口芯片的知识_第2页
第7章可编程接口芯片的知识_第3页
第7章可编程接口芯片的知识_第4页
第7章可编程接口芯片的知识_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

第7章可编程接口芯片微机原理与接口技术1主要内容可编程接口概述可编程并行输入/输出接口芯片8255A可编程定时/计数器接口芯片82532可编程接口概述可编程接口:用户可以通过指令设置接口的工作模式,提高计算机硬件系统的灵活性。典型电路:简单的具有输入和输出功能的可编程接口电路目前常用的可编程芯片:8255A 并行I/O接口8253 计数器/定时器8251 串行I/O8259A 中断控制器

3什么是并行通信?

把一个字符的各位用几条线同时进行传输。特点:传输速度快、信息率高但成本高(使用电缆多)。应用范围:传输距离较短(几米至几十米)、数据传输率较高的场合。

7.1可编程并行接口芯片8255A并行并行接口CPU接口外设…...…...4数据输出

控制寄存器输入缓冲寄存器输出缓冲寄存器DBAB7.1可编程并行接口芯片8255A并行接口——实现并行通信的接口?并行接口与CPU、外部设备如何连接?并行接口如何实现并行通信(输入/输出)输出设备地址译码CPU片选A0A1并行接口状态寄存器读出信号写入信号复位准备好中断请求数据输入回答数据输入准备好数据输入输入设备数据输出回答数据输出准备好57.1可编程并行接口芯片8255A

?8255A是一个什么芯片

?8255A芯片的内部结构是怎样的

?8255A芯片如何工作Intel8255A是一个通用的可编程的并行接口芯片,它有三个并行I/O口,又可通过编程设置多种工作方式。价格低廉,使用方便,在中小系统中有着广泛的应用。

6

7.1可编程并行接口芯片8255A7.1.18255A芯片内部结构及其功能内部结构:(1)端口(2)A、B组控制部件(3)数据总线缓冲器(4)读/写控制部件77.1可编程并行接口芯片8255A7.1.28255A的管脚分配引脚(40)8

7.1可编程并行接口芯片8255A7.1.38255A芯片的工作方式及编程

8255A有三种工作方式,用户可以通过编程来设置。方式0――简单输入/输出 A,B,C三个端口均可。方式1――选通输入/输出 A,B,两个端口均可。方式2――双向输入/输出 只有A端口才有。

8255A的编程:在使用8255前,用户可用软件来定义端口的工作方式,选择所需要的功能。

控制字9(1)8255的工作方式字(写入A1A0=11)7.1可编程并行接口芯片8255A控制字D0D1D2D3D4D5D6D7PC3~PC01:输入0:输出B口1:输入0:输出B组工作方式0:方式01:方式1PC7~PC41:输入0:输出A口1:输入0:输出A组工作方式00:方式001:方式11×:方式2D7=1特征位B组A组[例]某系统要求使用8255A的A口方式0输入,B口方式0输出,C口高4位方式0输出,C口低4位方式0输入。方式控制字=?

10010001B=91H10(2)C口的置位/复位字(写入A1A0=11)

7.1可编程并行接口芯片8255A控制字D0D1D2D3D4D5D6D71:置位0:复位C口选择000:PC0001:PC1010:PC2011:PC3100:PC4101:PC5110:PC6111:PC7任选(可1可0)D7=0(特征位)[例]把C口的第六位PC5置为1。

MOVAL,00001011B ;PC5置位OUT63H,AL117.1可编程并行接口芯片8255A

7.1.48255A工作方式的功能及应用举例

工作方式0为一种简单的输入/输出方式,没有规定固定的应答联络信号。

可供使用的端口:两个8位口(A口和B口)及两个4位口(C口高4位部分和低4位部分)。四个口可以是输入和输出的任何组合。

适用范围:(1)无条件数据传送;(2)把C口的某一位作为状态位,实现查询方式的数据传送。12

[例1]8255A的A口和B口工作在方式0,A口为输入端口,接有四个开关。B口为输出端,接有一个七段发光二极管,连接电路如图所示。试编一程序要求七段发光二班管显示开关所拨通的数字。137.1可编程并行接口芯片8255A

7.1.48255A工作方式的功能及应用举例工作方式1:是一种选通I/O方式

A口和B口仍作为两个独立的8位I/O数据通道,

C口要有6位(分成两个3位)分别作为A口和B口的应答联络线,其余2位仍可工作在方式0,可通过编程设置为输入或输出。

14

7.1可编程并行接口芯片8255A7.1.48255A工作方式的功能及应用举例工作方式1:是一种选通I/O方式

输入组态

·:选通输入。用来将外设输入的数据送入8255A的输入缓冲器。·IBF:输入缓冲器满。作为的回答信号。·INTR:中断请求信号。INTR置位的条件:IBF(=1)+后沿置INTE为高。·INTE:中断允许。对A口来讲,是由PC4置位来实现,对B口来讲,则是由PC2置位来实现。事先将其置位。15

7.1可编程并行接口芯片8255A7.1.48255A工作方式的功能及应用举例工作方式1:是一种选通I/O方式

输出组态

·:输出缓冲器满。用来通知外设可以从8255A取数。·:的响应信号,表示外设已将数据从8255A的输出缓冲器中取走。·INTR:中断请求信号。INTR置位的条件是:

(=1)+INTE(=1)。·INTE:中断允许。对A口来讲,由PC6的置位来实现,对B口仍是由PC2的置位来实现。167.1可编程并行接口芯片8255A

7.1.48255A工作方式的功能及应用举例

工作方式2

双向选通I/O方式,即工作方式0与工作方式1的组合。

可供使用的端口:

只有A口才有此方式。这时,C口有5根

线用作A口的应答联络信号,其余3根

线可用作方式0,也可用作B口方式1的应答联络线。

适用范围:

如果一个并行外部设备既可以作为输入设备,又可以作为输出设备,并且输入输出动作不会同时进行。

177.1可编程并行接口芯片8255A

7.1.48255A工作方式的功能及应用举例

工作方式2

外设回答信号。由外设发出。当其有效时,表示外设已接收数据。A口的输出缓冲器“满”信号,当其有效时表示A口的输出缓冲器已暂存一个有效数据。A口的中断请求信号。当其有效时,8255A的A口向CPU申请中断,要求CPU访问A口。中断允许信号中断允许信号A口的输入缓冲器“满”信号,当其有效时表示A口的输入缓冲器已暂存一个有效数据。A口的选通信号,当其有效时,外设把数据打入A口的输入缓冲器。187.2可编程定时/计数器接口芯片8253学习重点

8253的引脚和六种工作方式

8253的编程定时控制在微机系统中具有极为重要的作用,计数是许多过程控制领域常用的功能;它们都是由数字电路中的计数电路构成;定时器由数字电路中的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间隔;计数电路如果记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数(进而获知外设的某种状态),常又称为计数器.197.2可编程定时/计数器接口芯片8253计数与定时定时或计数的工作实质均体现为对脉冲信号的计数。如果计数的对象是标准的内部时钟信号,由于其周期恒定,故计数值就恒定地对应于一定的时间,这一过程即为定时。如果计数的对象是与外部过程相对应的脉冲信号(周期可以不相等),则此时即为计数。20定时功能的实现方法:(1)软件延时利用微处理器执行一个延时程序段实现不用硬件,但占用CPU时间、定时精度不高,随系统时钟频率改变(2)不可编程的硬件定时采用分频器、单稳电路或简易定时电路控制定时时间定时电路简单、定时时间可以在一定范围改变(3)可编程的硬件定时软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路具有多种工作方式、能够输出多种控制信号7.2可编程定时/计数器接口芯片8253217.2可编程定时/计数器接口芯片8253功能3个独立的16位计数器通道;每个计数器有6种工作方式,可以由程序设定和改变;按二进制或十进制(BCD码)计数;每个计数器的计数速率可以高达2.6MHz;所有的输入、输出电平都与TTL兼容。8254是8253的改进型Intel8253可编程计数/定时接口芯片227.2可编程定时/计数器接口芯片82537.2.1

内部结构功能:(1)定时(2)计数(3)输出脉冲序列减1计数23计数器预置寄存器GATECLKOUT减1计数器输出锁存器计数初值存于预置寄存器;在计数过程中,减法计数器的值不断递减,而预置寄存器中的预置不变。输出锁存器用于写入锁存命令时,锁定当前计数值(1)CLK时钟输入信号在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1(2)GATE门控输入信号控制计数器工作,可分成电平控制和上升沿控制两种类型(3)OUT计数器输出信号当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号247.2可编程定时/计数器接口芯片82538253的管脚(24)与CPU相连双向数据线:D0~D7;控制信号线:、

、、A0、A1与脉冲信号通道相关计数脉冲输入引脚:CLKi(i=0,1,2)门控信号输入引脚:GATEi(i=0,1,2)定时/计数到信号输出引脚:OUTi(i=0,1,2)电源与地信号VCC(+5V)、GND257.2可编程定时/计数器接口芯片8253共有6种工作方式(由方式控制字确定)。各方式下的工作状态是不同的,输出的波形也不同,其中比较灵活的是门控信号的作用。每种工作方式的过程类似:

⑴设定工作方式; ⑵设定计数初值; 〔⑶硬件启动;〕 ⑷计数初值进入减1计数器; ⑸每输入一个时钟,计数器减1的计数过程; ⑹计数过程结束。7.2.28253的工作方式267.2可编程定时/计数器接口芯片8253方式0:计数结束中断(在预定时间点上处理事物)①②⑤④⑥GATEOUTCLK

031244方式0WR①设定工作方式②设定计数初值④计数值送入计数器⑤计数过程⑥计数结束特点:GATE=1,才能计数;计数到0,OUT由低变高,计数器停止工作。计数初值一次有效277.2可编程定时/计数器接口芯片8253方式1:可编程单稳脉冲①②⑤④⑥①设定工作方式②设定计数初值③③硬件启动④计数值送入计数器⑤计数过程GATEOUTCLK

031244方式1WR⑥计数结束特点:GATE的上升沿触发开始计数,OUT由高变低;计数到0,OUT由低变高,产生一负脉冲。负脉冲宽度PW=NTCLK287.2可编程定时/计数器接口芯片8253方式2:频率发生器(分频器)03124GATEOUTCLK

4方式2031240312403124WR特点:GATE=1,才能计数;计数器“减1”计数到1时,OUT由高变低,再经过1个CLK周期,即计数到0,OUT又跳变为高。输出周期性负脉冲,宽度为1个CLK周期。计数器的值减为0时,自动重装计数初值,实现循环计数。297.2可编程定时/计数器接口芯片8253方式3:方波发生器03124GATEOUTCLK

4方式3031240312403124WR特点:与方式2工作过程几乎完全一样。区别:若计数初值n为偶数,则当计数值减到n/2时,OUT变为低电平,直到计数值减为0,OUT又跳变为高。若计数初值n为奇数,则当计数值减到(n+1)/2时,OUT变为低电平,直到计数值减为0,OUT又跳变为高。307.2可编程定时/计数器接口芯片8253方式4:软件触发选通信号GATEOUTCLK031244方式42233310WR1特点:GATE=1,计数器开始“减1”计数,OUT维持高电平;计数器减到0时,OUT变低。再经过1个CLK周期,OUT又变高。输出OUT在计数器溢出时产生1个CLK周期的负脉冲。计数初值一次有效317.2可编程定时/计数器接口芯片8253方式5:硬件触发选通信号GATEOUTCLK031244方式522333110WR特点:与方式4很相似。区别:当计数值写入通道计数器后,通道并未触发,只有GATE的触发通道后,才开始计数。计数器减到0时,OUT变低,再经过1个CLK周期,OUT又变高。OUT输出一个宽度固定为1个CLK周期的负脉冲。327.2可编程定时/计数器接口芯片8253各种方式下的波形方式0方式1方式2方式3方式4方式50N0N0N0/N110NN/2N/20/N0N01N01N01计数结束中断可编程单稳脉冲频率发生器方波发生器软件触发硬件触发讨论:计数开始的时刻337.2可编程定时/计数器接口芯片8253工作方式小结与频率发生器有关:方式2、方式3与计数工作有关:方式0、4(软启动);方式1、5(硬启动)工作方式启动方式“溢出方式”计数值使用方式0软件启动OUT为正电平一次有效方式1GATE上升沿OUT为正电平自动重装方式2软件启动OUT为负脉冲自动重装方式3软件启动OUT为方波自动重装方式4软件启动OUT为负脉冲一次有效方式5GATE上升沿OUT为负脉冲自动重装347.2可编程定时/计数器接口芯片8253(1)8253加电后的工作方式不确定(2)8253必须初始化编程,才能正常工作写入控制字写入计数初值读取计数值D7D6D5D4D3D2D1D07.2.3

8253的编程35计数器读写格式工作方式数制D7D6D5D4D3D2D1D000计数器001计数器110计数器211非法00计数器锁存命令01只读写低字节10只读写高字节11先读写低字节后读写高字节000方式0001方式1010方式2011方式3100方式4101方式50二进制1十进制控制字写入控制字I/O地址(A1A0=11)(1)写入方式控制字36(a)选择二进制计数值范围:0000H-FFFFH0000H是最大值,代表65536(b)选择十进制(BCD码)计数值范围:0000-99990000代表最大值10000计数值写入计数器各自的I/O地址(2)写入计数值37(1)对8位数据线,读取16位计数值需分两次(2)计数在不断进行,应该将当前计数值先行锁存,然后读取:向控制字I/O地址:给8253写入锁存命令从计数器I/O地址:读取锁存的计数值读取计数值,要注意读写格式和计数数制(3)读取计数值38(4)计数初值的计算7.2.28253/8254的工作方式

计数初值=定时时间/时钟脉冲周期=fCLK/fOUT例:8253在方式3下,输出周期性方波,可作定时单位。设计数初值为65536,当fCLK=1.1931816M时,输出方波频率为18.2HZ.周期为54.954MS.则一天=24X60X60X1000MS/54.954MS=1573040,或1800B0H,且一小时=65543,一分钟=1092,一秒呢?在BIOS中就是利用上述原理计时的。

397.2.48253在IBMPC系列机上的应用7.2计数器/定时器8253A0A1———A0—A1—D0~D7D0~D7OUT1OUT2OUT0GATE0GATE1GATE2CLK0CLK1CLK2DQCLK+5V接至DMA控制器接至扬声器驱动器PB0PB18259A(IR0)DRQ0

8253+5V1.19318MHzDACK0BRDIORIOWRDWRCST/CCS40(1)定时中断和定时刷新从阅读初始化程序段看计数器0作为定时中断的作用将计数器1作为定时刷新看如何编写初始化程序段7.2.48253在IBMPC系列机上的应用41(a)计数器0:定时中断(1)计数器0:方式3,计数初值为0(即65536),输出频率为1.19318MHz÷65536=18.206Hz的方波(2)门控为常启状态,这个方波信号不断产生(3)OUT0端接8259A的IRQ0,用作中断请求信号(4)每秒产生18.206次中断请求,或说每隔55ms(54.925493ms)申请一次中断(5)DOS系统利用计数器0的这个特点,通过08号中断服务程序实现了日时钟计时功能7.2.48253在IBMPC系列机上的应用(1)定时中断和定时刷新42(b)计数器0:初始化程序moval,36h

;36H=00110110B;计数器0为方式3,采用二进制计数;先低后高写入计数值out43h,al

;写入方式控制字moval,0

;计数值为0out40h,al

;写入低字节计数值out40h,al ;写入高字节计数值7.2.48253在IBMPC系列机上的应用43(c)计数器1:用于产生动态RAM的定时刷新信号(1)需要重复不断提出刷新请求门控总为高,选择方式2或3(2)2ms内刷新128次,即15.6s刷新一次计数初值为1.19318MHz×15.6s=187.2.48253在IBMPC系列机上的应用44(d)计数器1:初始化程序moval,54

温馨提示

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

评论

0/150

提交评论