1、第八章常用可编程通用接口芯片第八章 常用可编程通用接口芯片-第六章介绍了一些皋本的输入输出接I I,是不可编用 的.随着大规模集成技术的发展,接U电路常被集成在 一块硅芯片上可用编程方式设定其丄作方式,以适用 于多种功能的耍求叮编程接II芯片.-PC微机除CPU控制核心外,还有一些大规模口J编程接 U芯片(外閘芯片)的支持:-8级屮断优先权控制器8259T以控制8个外部中断源 (如时间基准X253的Ch()键盘,彳更磁盘,软磁盘, 打印机).-三端I I的并行接U8255T以控制外部简单接1及 DIP配置开关(如磁带机,扬声器). 16位三通道定时/计数器8253今以控制时间基准、 动态刷新、
2、扬声器发声.-四通道DMA控制器8237T以控制动态RAM刷 新、1盘数据交换.可編程界步通信接口 825OT以控制串行通信, 完成发送时的并串转换和接收时的屮并转换 及和应的控制功能.8.1可编程并行接D 8255A-8255是最通用的并行I/O接门芯片可用程 序改变功能,通用件强,使用灵活,通过它町 直接将CPU总线接向外设广泛用作各种 井行外设的接口 8255的结构与接口信号8255的结构框图P261、图8-1。因作为 外设接口 9既耍与CPU打交道,乂要和外设 打交道,内部亦需控制,所以山三部分组成:S 8-1 8235 的1外设接口部分端口 端LU即三个输入输出通道川來和外设相连都是
3、8位及向端所以右 LI 线:PA?P A()fB7PB(fPC7 PC().-A、B、C三个口都可以作为输入/输出口.在A. B口作为选通方式操作时,CU作为状态控 制倍号.C 口可分成两个4位II.2.内部控制逻轿电路-A组卩组控制电路.根据CPU的命令控制X255的工作方式.A组控制端UA和端UC的上半部分(PC?PqnB组控制端口B和端口(的卜半部分(PqFCQ.3.CPU接口部分(1) 数据总线缓冲器-它绘8位双向三态缓冲 器,是mcPU数拥总线的接U.8位数据线D7 Do 所有数据的输入/输HVCPU发出的命令控 制字及输入的外设状态,都是通过该缓冲器 传送.读写控制逻辑一控制825
4、5内部的各种操作. 管理数痛控制字,状态的传送接收CPU的地址, 控制信号以控制各端U的工作状态所以有6根 控制线 A;A()9 端口选择:OOTA nOlTBH.lOC 11T控制U.-亟片选信号以启动CPU与8255Z间的通 信.莎读信号-从8255中读数据或状态信号.-阪9写信号-向8255中写数据或状态信号.-RESETS复位信号一高Hi平有效,淸除控制寄 存器J覺A、B、C三个口为输入方式.二.8255的工作方式与控制字1、8255有三种工作方式,方式由方式选择控制字來(1) 、方式()9慕木输入/输出方式(呈木1/0) 0 A、B、C三口均可匸作于方式()。(2) 、方式选通输入/
5、输出方式(选通I / O) O A、B二口可丁作于方式1;此吋C口作控制。(3) 、方式2今双向数抑:传送方式。仅有AU可工作 丁方式2。CH作控制。-AU可工作于力式0、1、2三种方式.-BIJiiJ*工作于方式0、1二种方式。-CL只能工作于方式0。2、方式选择控制字 8255的I:作方式,是山CPU用一条输出指令把 控制字送到8255的控制寄存器来实现的。方式选择控制字的格式P262、图8-2。D?MD3D2DIDOSB1=0All方站报OX方式0 01 二就 1 1X=WriA i/oan: l=A 0=體出jfidc(上)1諭入0立出B 口方A 斛:4方成0 匸方成1腳& j 1/朋
6、职 1斗入0二純 LJSBC (T) /O 耕: 吕入1 -(控制ACb cai.- 一- 一_B纠(控制Btb CUT)由控制字可知:AL可工作丁方式0、1、2三种方式;B 口只育方式0、1二种方式;-CH只能工作r方式0,但C口町分成两部分:上 半部分随A口,下半部分随B口; A. BU要作为 一个整体确定工作方式,C 口可分成悶个4位口分 别确定其匸作方式(输入或输岀)。Mh控制字9()HTI 0 0 1标志AU A口方式0输入即控制字90H,设定了8255的A口为方式0输入, B口为方式0输出,C口为方式0输出。-用卜-曲程序段设定:MOV DX, PORT3 &控制口MOV AL 9
7、0HOUT DX, AL3、按位置位/复位控制字今指定C 口的某一位为 高电平或低电平,仅有C口可按位置位/复位。- 勺通道A、B工作在方式1、2时,常用通道C的 采些位作为同外役的联络控制线,通道C的8位 中的任一位都町用输出指令使其进位/曩位, 从而人为控制联络线。屋位/父位控制字格式P261、图83;.一般视无关位06比屯=00(),则通道C的何位 的胃位复位控制?如b: PCi 位駅位控制字女位控制字PC。()1 HOOHPC,03 H()2HPG()5 H(MHPC,07H()6Hpq09HOSHpqOBHOAHpqODHOCHPGOFHOEH如吆3置位:MOV DX, PORT3
8、;控制端IMOV AL, 7OUT DX, AL如PC?复位;MOV DX, P()RT3MOV AL, 6OUT DX, ALc端口的按位置位复位7须跟在方式选择控 制7Z后,所以,仅使用CH的按位置位复 位字时.也应先送一方式控制字。8255的两个控制字是以卩位作为区别标志: 6=1为方式控制字,6=0为員位复位字; 所以方犬字圭80H, S位复字V80H。P263俛:8255的01接8只LED,用置位复位字,使 8只LED轮流亮灭。设端口地址为38OH-383H。硬件如28255PUSP AX则灯亮;送复位字,则灯灭。稈序中,送曹位字,山前一位的复位字到后一位的置位字之差为3,加3则 抬
9、向下一位。思考:若将LED反接,程序如何修改:FCi6OI5V 送复位字,则灯亮送置位字,则灯火。山前一位的 置位字到后一位的复位字之差为I,加I则指向卜一位6 383H ;方式字 ADD AL, OlH;折向T p 80HAL0 ; PCO复位字MOV DX MOV AL, OUT DX,MOV AL,AGN: OUT DX, AL :灯亮LOOP $XOR AL, 1 :懂位字AND AL, 0FH;D7位为0PUSH AXMOV AH, III NT 21HINC ALPOP AXJNZ AGNOUT DX. AL :灯灭二、三种方式的功能及应用1、方式0基本功能刁从木单向I / O力式
10、.A, B, C三个端U都町作8位输入/输出端口。C端口可作为两个4位端口(C口上,C口下)O 输出仃锁仏 使用时町理解为273;输入仃一态缓冲,使用时可理解为244。此方式下,只要用IN / OUT指令即可读/写; 一般用于无条件传送方式.-此方式下,也可用于杳询方式,A, B口为数 据U, C口的某些位作控制和M态信息。但值 得注童的是无固定联络线。3N Zf沖酚Lia:IV *xa moXa DNI nv ION Y鸚I IV : xa IV NIov zr *nv dvij Hl乙 INI *HV AONTOWFri aY 啣()F7【IV富XHost *xa Aow -aNIV *x
11、a inoIV IONnv*x(j inoH()6nv Aowxa rv NIH3txa A5H08t xa AOIAI -DVII山乙x如胡仅-忡N曲 ww Q fl如nJooaCJGJL 二H 他卜Si&-五遍玉涮尬&變剳珂翎胖i耳沢事0环詔科注:凡是2449町用8255的A, B, C三个口的方式0 输入代替;273T可用8255的A, B. C三个口的方 式0输出代替。 8个开关可表示8个不同的数7或8个不同的t-fO : LED也可以是7段LED显/jf器例:用一片X255实现X个7段LED显示器与64个按键 的盘/显示器接口设计。参见P212显示器设计,段码输出用273位码输 出川
12、273;参见P-214键盘设计,行打描码输出用 273,列读入值用244。因为都采用动态扌:!描方式显 示和扫描键盘,所以显示器的位显和键的行扫描端 U可以合并。即用2片273和1片244即町实现。町川 8255的3个端II代替或如选用A, B【】为方式0输出 (代替273) , CU方式0输入(代替244即可MOV DX, 3831MOV AL, 89HOUT DX, AL由:键盘和显示器做成一个接口电路,所以软件 应合并考虑键盘查询和动态显示。. J. ,初始化费衙显示DISUP傩分桁译码 作业:P311. 4. A5.-第四题参见实验教材P149.只画出流程图。2方式1圧本功能T是选通I
13、/O方式,也是单向I/O。-端HA, B作为数据口输入或输出,但同时规定CII 的某些位作为控制或状态信息,用于联络和中断, 提供屮断逻辑,其CU各位的功能是同定你不能 山秤序设定,(1)、方式1输入9将三个端口分为A、B两组;端 UA和端UC的PqPC5为一组,端UB和端UC 的PC。一一PCjj 组,端I IC剩余旳PC6PC7仍 町作为一般1/0。P265、图85TBFft控制信号:丽9送迪信T;,低电平冇效;这是外设发來的输 入借号,前沿(卞降沿)把输入装冒送来的数据送 入输入缓冲器:而后沿(上升沿)使INTR有效。IBF今输入缓冲器満信巧,髙电平有效;这是255 输出给外设的凹答信号
14、;外设将数据送入缓冲器后, 该信号有效;RD信乃的上升沿将数折送数据总线帀 乂使11:父位。INTRn断谙求伫出,高电平有效;这是8255的输 出伯号,可用作向CPU申诸屮断的请求伯号,以耍 求CPU服务:当堕为高和INTE中断允许为高时, STB为高时即気的后沿使1NTR为启i:市茹信 号淸除。INTE今中断允许Ih :端口A的INTEa可由用户对PC4的按位置位/ 复位控制字来控制,pqn.允许A口中断;端口B的INTEb可山川户对PCM按位置位/ S位控制字来控制,PG=I允许B口屮断;(1)(2)(4)(5)外设把数据送给8255后,发STB倍号,使BF仃效; 贡后沿引发1NTR;CP
15、U响应中断:CPU发莎信号,使INTR火效;CPU取走数据,使IBF失效,可输入新的数据。P266例:用选通方式(中断方式)从All输入 100个8位二进制数TIBF。端口 A 选通輸人左 M和CPU总钱4H连 右 和外设艄连 悄口地址为30CH 30FI1.8255的使用步骤: 殺件连接今将8255和CPU的有关信号连接,又要和外设连接,此处的外设输入装S为8个开关,用发光二极 管标总输入缓冲器满的状态,以作为外设冋答信号,川去 抖动开关作为外设的选通信号0-软件中对8253进行初始化,以设定H工作方武。-在程序控制卜实现数据的输入/输出操作.PUSH AXIRET作业:P31L 3.(2)
16、方式1输出9将三端口分为A组B组;端口A和C口的PCaPC6PC7 为一组,端口 B 和C 口的PC()PC2 为一组, CI I剩余PC4PC5 Hj作一般I/O.BU方式控制字l)OBH(Output Buffer Full)输出缓冲器满信号崗电平冇 效这是8255给外设的一个联络信号、”|CPU把数醪入 端口后该信号仃效衷示外设可以把数据収走。WR信号 就成有效,由的冇效(卜降沿)使其恢复为高.2 )-CK( Ac knowledge)-外设响应刖答信号,低电平有效:该 信号的询沿取走数据,使6丽无效表示数据已III外设取 走;后沿使INTR有效.3)1NTR-中断请求信号崗电平冇效;当
17、输出装置Li经接 受rcpu输给的数据庇用來向CPU提出新的中断诸求. 要求再输出数处5aCK为高(即后沿)JNTE为丽BF为 高,使其趕高,WR的前沿(卜降沿)使其复位.4)INTEa山PC6的置位/父位控制:INTERlijPC2的賢 位/复位控制.TNTR1CPU响应中断发1KWR,使OBF有效.2外设取走数据,粽使閘无效3疋R的上升沿使INTR有效,再次中断.4CPU响应屮断,再次阪,便INTR失效,输出 一个新数.P268例.设计接口电路,输入AU8个开关的状态,送 BU发光二极管显示対应状态要求AU为基木输入, BU为选通输出。 8个开关接A【丨,作为输入装S;8个发光二极管接Bi
18、n 作为输岀装3;丽接一发光二 极背,以标不输出 缓冲器W.ACk 接一去抖动开关, 板动开关表示外 设发出响应信号-iORcj 莎 lOW4 TO 克T EA. A,& Jl b DB / D;*Dqf 1 RESETP為PA;QBFP 片o 十5VIf+ 5VI1F27O. 8- fi A 口 人.B 熾口 jSeiSWaiDAI DB Wail Inicrnipt; OAH.ODHVMOVES. AXMOVMOVOUTMOVDX. 383H AL, 94H DX.ALAC 5our DX. ALMOVMOVMOVMOVAX, SEGES:()1C6H, AXAX, OFFSET 10X2
19、5*ES: ()1C4H. AX 一:控制I J地址;方式字一1001 XIOX;A 口方式0输入Bri方式1输出:许B一屮中将中断服务程庁入口地址108255 打9向就表1RQ9屮断一中断矢昼是71H108255MOV DX. 381HOUT DX, ALIN AL, OAIH AND AL. OFDH OUT OA1H. AL ROTT: LEA DX, MOV AH,INT 21HMOV DX,DAI r938OHIN AL, DX JMP $MOV AH, OBHINT 2IHCMP AL, 0JE ROTTOR AL.02HOUT OAIH, ALRETINAL, OAIH假输Hn使
20、OBF = ()修改8259从片的屏蔽字,允许TR09|断显示等待中断提示*Wait Internipr读A 口,准备好数据;等待屮断,即等待疋艮 板动开关即可te键入侧再次等待屮断 I改变开关状态观察输出有键入侧还原8259屏蔽齐禁止IRQ9中断IO8255:MOV DX, 381H OUT DX, AL J 45AnJF关状态TBri 応示MOV AL, 61H rOUT OAOH, ALMOV AUOUT 2()HPOP AXINC AXINC AXPUSH AXI RET设方式拎疗QUM 口方曲入,B 口方丈1备岀时如往痘傥神制宇(KH: PCI Wfe.处齋R 中斷设fl中新向8札
21、复切:邓读人U堆务麴冬困胃屏融字,樂上RQ9中折.结弟3 方式2基木功能该方式便外设在单一8位总线上既能 发送乂能接收数抑(双向1/0);工作时可用程序査询 方式也可用屮断方式,必须使用联络线。方式2只能川于端口A:因为AL1内部有两个锁存器, iftlBWr C【仅右一个锁存器.(2 )占用一个8位的双向A端I I作数据T I和一个五位的 控制 IJ(CI I 的PC3PC7).输入和输出都是锁存器的。(4)端U C的其他三位PCz PC2可作O或作B U的状态 控制信号。(5)B U可工作方式(诚方式I。(6)A 方七控制俏号的作川与盘义同方式1JNTE1足输出的屮断允许佶号由 PC6的置位股位控制(A门方式I输出)JNTE2是输入的中断允许 信号MPC4的的置位丿夂位控制(AU方式1输入)。方式2实际是方式1的输入与方式I的输出的组合, 输入/输出请求都是PC3的INTRPq根联络信号都 耍连接,常用丁需相互通信的地方。四.8255在IBMPC机中的应用 8255在PC机中工作在方式0,控制字99H,即A 口,CU为方式()输入,BU为方式()输出。AU 两个作川T读取键盘扌1描码和系统配置状态 DIP SW1: BU用于输出控制信号:CU用于 输入系统配置状态DIP SW2和其他数据。-PC配说可变:如骡动器的个数,W:示器的种 类,RAM犬小等tlDIP配置决定。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1