您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 第6章可编程的外围接口芯片8255A及其应用
1第六章可编程外围接口芯片8255A及应用2PA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC0PC1PC2PC3PB0PB1PB2825512345678910111213141516171819204039383736353433323130292827262524232221PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VCCPB7PB6PB5PB4PB33D7~D0A组(8)端口AA组(4)端口CB组(4)端口CB组(8)端口BA组控制B组控制数据总线缓冲器读写控制逻辑PA7~PA0PC7~PC4PC3~PC0PB7~PB0RESETA0A1CSRDWR4工作方式A口B口C口0基本输入输出输出锁存输入三态基本输入输出输出锁存输入三态基本输入输出输出锁存输入三态1应答式输入输出输入输出均锁存应答式输入输出输入输出均锁存作为A口、B口的控制位及状态位2应答双向输入输出输入输出均锁存作为A口的控制位及状态位5A1A0选择00端口A01端口B10端口C11控制寄存器6数据总线三态011××非法状态01011数据总线三态1××××数据总线→控制字寄存器00111数据总线→端口C00101数据总线→端口B00110数据总线→端口A00100端口C→数据总线01001端口B→数据总线01010端口A→数据总线01000操作/CS/WR/RDA0A1表9-18255A的基本操作71、方式选择控制字D0D1D2D3D4D5D6D700=方式0A口方式01=方式11×=方式21:标志位A口I/O1=输入0=输出C口高4位I/O1=输入0=输出B口方式0=方式01=方式1B口I/O1=输入0=输出C口低4位I/O1=输入0=输出82、置位/复位控制字D0D1D2D3D4D5D6D7000=PC0位选择001=PC1…..111=PC70:标志位1=置位0=复位任意,取0009例6-1要求8255A各端口的工作状态如下:A口:方式0输出B口:方式0输入C口高4位:方式0输入C口低4位:方式0输出则相应控制字为:10001010B,即8AH10MOVAL,00001011BOUT63H,AL(可加入一段延时程序段调节高电平持续时间)MOVAL,00001010BOUT63H,AL例6-2设一片8255A的口地址为60H~63H,PC5平时为低电平,要求从PC5的引脚输出一个正脉冲。可以用程序先将PC5置1,输出一个高电平,再把PC5清0,输出一个低电平,结果在PC5引脚上就输出一个正脉冲。实现这个功能的程序段如下:11如要求输出方波信号,则程序片段为:AGAIN:MOVAL,00001011BOUT63H,ALCALLDELAYMOVAL,00001010BOUT63H,ALCALLDELAYJMPAGAIN12例6-3在某一系统中,有8个开关K7~K0,要求每隔1S检测它们的通断状态,并随时在发光二极管LED7~LED0上显示出来。开关断开,相应的LED点亮;开关合上,LED熄灭。选用8086CPU,8255A和74LS138构成接口电路。1374LS138CBAG2BG2AG1/Y48086D7~D0A7A6A5A4A3A0A2A1M/IORESETRDWRD7~D0CSRESETRDWRPA6PA78255AA1A0PA0PB6PB7PB0+5VK0K6K7LED7LED6LED0硬件电路图:14程序片段:MOVDX,0F6H;控制寄存器MOVAL,10010000B;控制字OUTDX,AL;写入控制字TEST_IT:MOVDX,0F0H;指向A口INAL,DX;从A口读入开关状态MOVDX,0F2H;指向B口OUTDX,AL;B口控制LED,指示开关状态CALLDELAY_1SJMPTEST_IT;循环检测15(1)数码管介绍数码管是由八个发光二极管构成。有两种:共阴极、共阳极。例6-4数码管及其接口电路的设计16共阴极共阳极hgfedcba共阴极共阳极显示字符001111113FHC0H00000011006HF9H1010110115BHA4H2010011114FHB0H30110011066H99H40111011177H88HA011111007CH83HB0011100139HC6HC17I/O(1)I/O(2)I/O(3)I/O(4)(2)数码管的显示方式①静态显示方式18I/O(1)I/O(2)1234②动态显示方式19(3)设计举例要求:在一个系统中,要求从8255的A口输入的信息,通过B口输出至数码管。20DATASEGMENTTABDB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,6FH,77H,7CH,39H,5EH,79H,71HPORTAEQU60HPORTBEQU61HPORTCEQU62HCWREQU63HFSZEQU90H;8255为方式0,A口输入,B口输出,C口位控方式输出PC7LEQU00001110B;PC7输出低电平PC7HEQU00001111B;PC7输出高电平PC6LEQU00001100B;PC6输出低电平PC6HEQU00001101B;PC6输出高电平DATAENDSCODESEGMENTASSUMEDS:DATA,CS:CODE设地址译码后分配给8255的口地址为:60H~63H。共阴极接法。程序如下:21MAIN:MOVAX,DATAMOVDS,AXMOVAL,FSZ;设8255的工作方式OUTCWR,ALMOVBX,OFFSETTAB;段选码表首地址MAIN1:INAL,PORTA;从8255A口输入数据MOVCL,AL;暂存数据MOVAL,PC6HOUTCWR,AL;灭高位数码管MOVAL,CLANDAL,0FH;取数据的低4位XLAT;查表,得段选码OUTPORTB,AL;送至8255B口MOVAL,PC7LMOVCWR,AL;点亮低位数码管MOVAL,CLANDAL,0F0H;取数据高4位MOVCL,4SHRAL,CL;高4位移至低4位XLAT;查表得高位数的段选码22MOVDL,AL;暂存数据MOVAL,PC7HOUTCWR,AL;灭低位数码管MOVAL,DLOUTPORTB,AL;送至8255B口MOVAL,PC6LOUTCWR,AL;点亮高位数码管JMPMAIN1;继续扫描MOVAH,4CHINT21HCODEENDSENDMAIN23(1)选通输入方式PA7~PA0IBFARDSTBAD0D1D2D3D4D5D6D7×××1/01101控制字INTRAI/OINTEAPC4PC5PC3PC6,7PC6,71=输入0=输出方式1A口中断允许信号选通信号缓冲器满信号中断请求信号标志位A口方式1A口输入24PB7~PB0IBFBRDSTBBD0D1D2D3D4D5D6D7×11××××1控制字INTRBINTEBPC2PC1PC0方式1B口中断允许信号选通信号缓冲器满信号中断请求信号B口方式1B口输入25D0D1D2D3D4D5D6D7×××1/00101控制字PC5,41=输入0=输出PA7~PA0WRINTRAI/OINTEAPC7PC6PC3PC4,5方式1A口OBFAACKA(2)选通输出方式输出缓冲器满外设回答信号26D0D1D2D3D4D5D6D7×01××××1控制字PB7~PB0WRINTRBINTEBPC1PC2PC0方式1B口OBFBACKB27(3)选通的输入/输出方式的组合P334~335,自学。28例6-58255A作为打印机接口的例子(1)打印机接口信号并行打印机接口常采用Centronics标准,它的传输距离仅为1.5米。在PC机一侧采用标准的25针D型插座,与RS-232串行口的DB25插座外形相同;而在打印机一侧采用36芯的AMPCHAPM36双排插座。除8位数据线外,接口中至少还有选通信号()、忙碌(BUSY)、应答()等信号,有的还有出错、缺纸、总清等几个信号。其中有打印机输出的状态信息,也有计算机发出的信息。常用的有:STROBEACK29•DATA1~DATA8:8位并行数据,输入。•:选通脉冲,输入。低电平时将8位并行数据送到打印机的输入缓冲器中,脉宽0.5μs。•:应答信号,输出。负脉冲,5μs脉宽,表示数据已被接受,打印机准备接受下一个数据。•BUSY:忙碌,输出。高电平表示打印机不能接受数据,下列情况BUSY为高:①数据输入期间②打印机操作期间③脱机状态④打印机出错状态STROBEACK30(2)8255A与打印机的连接电路31(3)打印程序(查询方式)DATASEGMENTPORTAEQU340HPORTBEQU341HPORTCEQU342HCWREQU343HPstringsDB‘Thisisasampleofprinterinterfaceusing8255A’;要打印的字符串CounterEQU$-PstringsDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATAMAINPROCFAR32START:MOVAX,DATAMOVDS,AXMOVAL,0A8H;8255:A口方式1输出,C口高4位输入MOVDX,CWROUTDX,ALMOVCX,Counter;打印字符的个数MOVBX,OFFSETPstringsLP1:MOVAL,[BX]MOVDX,PORTAOUTDX,AL;送一个字符到8255A口MOVDX,PORTCLP2:INAL,DX;读C口状态字ANDAL,00010000B;屏蔽无关位JNZLP2;BUSY=1,等待,直到不忙INCBX;准备输出下一个字符LOOPLP1RETMAINENDPCODEENDSENDSTART333、方式2(P335~337,自学)(包括C口的状态字)B组方式:1=方式10=方式0D0D1D2D3D4D5D6D7控制字×××111/01/01/0B口:1=输入,0=输出PC2~0:1=输入,0=输出IBFAI/OOBFAACKAPA7~PA0WRINTE1PC2~0RDPC3PC7PC6PC4PC5INTE2STBAINTRA34作业:P354~3554、5、6、7、10
本文标题:第6章可编程的外围接口芯片8255A及其应用
链接地址:https://www.777doc.com/doc-370926 .html