资源描述
第七章第七章 可编程接口芯片可编程接口芯片 输入接口输出接口寄存器FF多路转换开关I/O线数据总线88887.1 可编程并行输入输出接口芯片可编程并行输入输出接口芯片8255A二、二、8255A的内部结构的内部结构 A口B口C口二、二、8255A的内部结构的内部结构 并行输入并行输入输出端口输出端口 A组和组和B组组控制控制 数据总线数据总线缓冲器缓冲器 读写控读写控制电路制电路 三、三、8255A的管脚分配的管脚分配 PA0PA7PB0PB7PC0PC7D0D7A0A1/CS/WR/RDRESET四、8255与8086CPU的接口五、五、8255A的工作方式及编程的工作方式及编程1D6D5D4D3D2D1D0方式选择控方式选择控制字标识位制字标识位A组方式选择组方式选择00 方式方式001 方式方式11x 方式方式2端口端口A1 输入输入0 输出输出 PC3PC0:1 输入输入 (方式(方式0时)时)0 输出输出端口端口B:1 输入输入 0 输出输出B组方式选择:组方式选择:0 方式方式0 1 方式方式1 PC7PC4:1 输入输入(方式(方式0时)时)0 输出输出 0D6D5D4D3D2D1D0 xxx无关无关 1:置置1 0:置置000001111端口端口C按位置按位置1/置置0控制字标识位控制字标识位位选择位选择PC0PC1PC2PC3PC4PC5PC6PC70011001101010101六、六、8255A的的三种工作方式三种工作方式 agDPfedbc电路电路LED数码管段码表段码表 A口的选通信号,当其有效时,口的选通信号,当其有效时,外设把数据打入外设把数据打入A A口的输入缓口的输入缓冲器冲器 A A口的输入缓冲器口的输入缓冲器“满满”信号,信号,当其有效时表示当其有效时表示A A口的输入缓口的输入缓冲器已暂存一个有效数据冲器已暂存一个有效数据。A A口的中断请求信号。当其有口的中断请求信号。当其有效时,效时,8255A8255A的的A A口向口向CPUCPU申请申请中断,要求中断,要求CPUCPU从从A A口取数口取数 中断允许信中断允许信号号。12341、/STB有效,外设数据有效,外设数据A口锁存器口锁存器2、IBF有效,告诉外设数据未被有效,告诉外设数据未被CPU取走取走3、INTA有效,申请中断(告诉有效,申请中断(告诉CPU A口有新数据)口有新数据)4、CPU从从A口取数,清除口取数,清除IBF和和INTA,使之无效,使之无效8 82 25 55 5A AKK7K0PA0PA7PC4PB0PB7PC5LED0LED7LEDSTBAIBFA这个系统的工作过程如下:这个系统的工作过程如下:1、用户通过改变、用户通过改变K0K7,产生新的键信息;,产生新的键信息;2、按下开关、按下开关K,产生选通信号,数据进入,产生选通信号,数据进入A口的缓冲器,口的缓冲器,此步骤实际上告诉此步骤实际上告诉CPU,8255的的A口来了一个新数据;口来了一个新数据;3、IBFA有效使有效使LED点亮。点亮。这里含有两个信息,这里含有两个信息,一个是一个是 8255A 通知通知CPU其其A口来了一个新数据,另一个是告口来了一个新数据,另一个是告 诉用户诉用户CPU尚未取走这个这个数据,用户不得再送其尚未取走这个这个数据,用户不得再送其 他数据;他数据;4、CPU取走这个数据,取走这个数据,LED熄灭;熄灭;5、转步骤、转步骤1。外设回答信号。由外设发出。外设回答信号。由外设发出。当其有效时,表示外设已接当其有效时,表示外设已接收数据。收数据。A A口的输出缓冲器口的输出缓冲器“满满”信号,信号,当其有效时表示当其有效时表示A A口的输出缓口的输出缓冲器已暂存一个有效数据。冲器已暂存一个有效数据。A A口的中断请求信号。当其有口的中断请求信号。当其有效时,效时,8255A8255A的的A A口向口向CPUCPU申请申请中断,要求中断,要求CPUCPU送数给送数给A A口口 中断允许信中断允许信号。号。12341、CPU对对A口写数据,口写数据,/OBF有效,表示有效,表示A口锁存器中有新数据;口锁存器中有新数据;2、外设取走新数据,向、外设取走新数据,向8255发发/ACK信号,告诉信号,告诉8255A口数据取走;口数据取走;3、A口的口的/OBF无效,表示无效,表示A口数据锁存器为空口数据锁存器为空4、INTA有效,发中断信号给有效,发中断信号给CPU,请求新数据,请求新数据18 82 25 55 5A AKPC7PA0PA7PC6LED0LED7LED+5VACKAOBFA这个系统的工作过程如下:这个系统的工作过程如下:1、CPU把内存中的一个数据写入把内存中的一个数据写入A口;口;2、LED灯亮,告诉用户灯亮,告诉用户LED显示的是新数据;显示的是新数据;3、用户抄录数据;用户抄录数据;4、用户按下开关用户按下开关K,发,发ACK信号,告诉信号,告诉CPU数数 据已取走;据已取走;5、转第一步。转第一步。外设回答信号。由外设发出。外设回答信号。由外设发出。当其有效时,表示外设已接当其有效时,表示外设已接收数据。收数据。A A口的输出缓冲器口的输出缓冲器“满满”信号,信号,当其有效时表示当其有效时表示A A口的输出缓口的输出缓冲器已暂存一个有效数据。冲器已暂存一个有效数据。A A口的中断请求信号。当其有口的中断请求信号。当其有效时,效时,8255A8255A的的A A口向口向CPUCPU申请申请中断,要求中断,要求CPUCPU访问访问A A口口 中断允许中断允许信号。信号。中断允许中断允许信号。信号。A A口的输入缓冲器口的输入缓冲器“满满”信号,信号,当其有效时表示当其有效时表示A A口的输入缓口的输入缓冲器已暂存一个有效数据冲器已暂存一个有效数据A口的选通信号,当其有效时,口的选通信号,当其有效时,外设把数据打入外设把数据打入A A口的输入缓口的输入缓冲器冲器七、七、8255应用举例应用举例DATASTROBEBUSY8 82 25 55 5A APA0PA7打打印印机机D0D7PC0PC4STBBUSY123A A口口8255APA7|PA0B B口口8255APB7|PB0+5V段信号通道位信号通道段驱动位驱动LED6LED7;显示子程序,数据在;显示子程序,数据在dispbuff中中displayproc.;保护现场;保护现场mov bx,offset tab1mov si,offset dispbuff;步骤;步骤amov cx,8mov ah,01disp1:mov al,si;步骤;步骤bxlatout a_port,almov al,ah;步骤;步骤cout b_port,alcall delay5ms;步骤;步骤d,延时,延时5msshl ah,1;步骤;步骤einc siloop disp1;恢复现场;恢复现场retdisplayendp程序流程如下:程序流程如下:a、设定行为输出,列为输入;设定行为输出,列为输入;b、行输出为行输出为0,输入列信号;,输入列信号;c、检查列信号是否全为检查列信号是否全为1,若是,无键按下,转若是,无键按下,转b b;如果不全为如果不全为1 1,表明有键按下,执行下步;,表明有键按下,执行下步;d、延时延时10ms,消除抖动。,消除抖动。e、取取i0(用寄存器(用寄存器dh)f、置置i行为行为0,其他行为,其他行为1(用寄存器(用寄存器ah););g、输入列信号;输入列信号;h、逐列检测,找出为逐列检测,找出为0的列信号(用寄存器的列信号(用寄存器dl););未找到:未找到:i ii i1 1;转;转f f;若找到:执行下步;若找到:执行下步;i、计算键号计算键号key_num 8255APC0PC1PC2PC3PC4PC5PC6PC7+5VK8K10K9K11K0K2K1K3K4K6K5K7K12K14K13K15翻转法程序流程如下:翻转法程序流程如下:a、设定行为输出,列为输入;设定行为输出,列为输入;b、行输出为行输出为0,输入列信号;,输入列信号;c、检查列信号是否全为检查列信号是否全为1,若是,无键按下,转若是,无键按下,转b b;如果不全为如果不全为1 1,表明有键按下,执行下步;,表明有键按下,执行下步;d、延时延时10ms,消除抖动。,消除抖动。e、逐列检测,找出为逐列检测,找出为0的列信号的列信号j;f、设定列为输出,行为输入;设定列为输出,行为输入;g、列输出为列输出为0,输入行信号;,输入行信号;h、逐行检测,找出为逐行检测,找出为0的行信号的行信号i;i、计算键号计算键号key_num_4keynumij7.2 可编程定时计数器接口芯片可编程定时计数器接口芯片8253高速公路入口红外光源光电接收脉冲输出光路高速公路并行接口计数器脉冲控制计数器溢出7.2 可编程定时计数器接口芯片可编程定时计数器接口芯片8253二、二、8253的内部结构的内部结构 计数通道 数据总线缓冲器 读写控制电路 通道控制寄存器 1、四个端口计数器计数器1计数器计数器2计数器计数器3控制控制端口端口16位计数器GATECLKOUT 2、每个计数端口有三根线与外界联系CLK:计数器脉冲输入GATE:门控信号OUT:计数器输出计数器计数器三、三、8253的管脚分配与的管脚分配与80868086接口接口 通道管脚数据线通道选择控制线 1、管脚定义 2、接口四、四、8253的编程的编程、计数器选择(SC1、SC0)SC1 SC0对应的通道0 0通道0 0 1 通道11 0通道11 1不用、计数器读/写方式(RLl、RL0)RL1 RL0通道读写操作0 0计数器锁存0 1 只读写低八位字节1 0只读写高八位字节1 1读写16位STB计数器计数器L计数器计数器H、工作方式选择(M2、M1、M0)M2 M1 M0工作方式选择0 0 0工作方式00 0 1工作方式1X 1 0工作方式2X 1 1工作方式31 0 0工作方式41 0 1工作方式5、计数码选择(BCD)BCD计数制式选择0二进制计数制1BCD计数制五、五、8253的工作方式的工作方式abcPC7|PC0CLK0OUT0GATE0+5V1Hz中断申请信号送家用电器220V8255A8253时间常数时间常数(秒秒)3840H(秒秒)相应的程序段如下:相应的程序段如下:mov al,10011010B;置;置8255A方式控制字方式控制字out 8255控制口,控制口,almov al,00h;8255A置位置位/复位控制字复位控制字,使使PC00out 8255控制口,控制口,almov al,30h;置;置8253通道通道0方式控制字方式控制字out 8253控制口,控制口,almov al,40H;置;置8253通道通道0时间常数时间常数out 通道通道0端口,端口,almov al,38Hout 通道通道0端口,端口,al中断程序中有关程序段如下:中断程序中有关程序段如下:mov al,00000001B;8255置位置位/复位控制字,使复位控制字,使PC01out 8255控制口,控制口,al4 360014400abcdOUT0GATE0CLK0OUT1GATE1CLK11KHz原始脉冲整形脉冲5V8253通道0abc 8253的通道0,实时中断。用于产生固定频率的时钟节拍,故设定工作在方式3,初值为0,所以从OUT0管脚的输出方波频率为1.19MHz/216=18.2Hz,通道0的控制字为36H;8253的通道l,动态RAM刷新。用于固定频率的刷新信号,故设定工作在方式2,计数值为12H18,速率输出频率为1.19M/1866.1kHz,即定时时间为15.13s,通道1的控制字为54H;8253的通道2,用于产生频率信号。故取工作在方式3,计数值为6A4H1190,方波输出频率为1.19MHz/11901kHz。此信号频率决定扬声器的音调,通道2的控制宇为0B6H。abOUT0GATE0CLK05V8253通道0DCPSDRDQ送家用电器+5V220VC R5VOUT0GATE0CLK08253通道0DCPSDRDQ送家用电器+5V220VC R5V5V 8253的工作方式小结的工作方式小结六、六、8253应用举例应用举例11000000100000011SSNSS1210000001000 1000NNNOUT0GATE0CLK01MHz8253通道05VOUT1GATE1CLK11KHz8253通道1GATE0CLK0OUT0+5V1KHzPC082538255GATE0CLK0OUT0+5V1KHzPC082538255GATE1CLK1OUT1+5V1MHz驱动驱动OUT0GATE0CLK01MHz8253通道05VOUT1GATE1CLK18253通道1计件脉冲驱动放大11MHz1000KHz=10001KHz1KHzN 谢谢观看/欢迎下载BY FAITH I MEAN A VISION OF GOOD ONE CHERISHES AND THE ENTHUSIASM THAT PUSHES ONE TO SEEK ITS FULFILLMENT REGARDLESS OF OBSTACLES.BY FAITH I BY FAITH
展开阅读全文