微机原理与接口技术-第7章-可编程接口芯片资料课件

上传人:无*** 文档编号:241326590 上传时间:2024-06-18 格式:PPT 页数:97 大小:2.83MB
返回 下载 相关 举报
微机原理与接口技术-第7章-可编程接口芯片资料课件_第1页
第1页 / 共97页
微机原理与接口技术-第7章-可编程接口芯片资料课件_第2页
第2页 / 共97页
微机原理与接口技术-第7章-可编程接口芯片资料课件_第3页
第3页 / 共97页
点击查看更多>>
资源描述
侯彦利吉林大学工学部计算机硬件基础课程吉林大学工学部计算机硬件基础课程微机原理与接口技术微机原理与接口技术12q可编程定时可编程定时/计数器计数器82538253q可编程并行接口可编程并行接口8255A8255Aq串行通讯基本概念串行通讯基本概念第7章 可编程接口芯片37.1定时定时/计数器计数器8253芯片芯片常用定时方法:常用定时方法:1.1.软件定时:采用软件编程来实现定时和计数要求软件定时:采用软件编程来实现定时和计数要求,通用灵活通用灵活,但占用但占用CPUCPU时间;时间;2.2.硬件定时:采用专用的硬件电路来实现。硬件定时:采用专用的硬件电路来实现。定时定时/计数器从计数方式上分为加法计数器和减法计计数器从计数方式上分为加法计数器和减法计数器数器。计数器计数器启动后与启动后与CPUCPU并行工作,不占并行工作,不占CPUCPU时间。时间。4D0D7数数据据总总线线缓冲器缓冲器读读/写写逻逻辑辑控控制制寄存器寄存器计数器计数器0计数器计数器1计数器计数器2片片内内总总线线RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2可编程定时器可编程定时器8253的内部结构图的内部结构图582538253的功能:的功能:q具有三个功能完全相同的独立的具有三个功能完全相同的独立的1616位减法计数器;位减法计数器;每个计数器都包括一个每个计数器都包括一个1616位的初值寄存器、一个位的初值寄存器、一个计数执行单元和一个输出锁存器计数执行单元和一个输出锁存器;q每个计数器的计数时钟频率最高为:每个计数器的计数时钟频率最高为:2MHZ2MHZq每个计数器可以按十进制数或二进制数预置初值;每个计数器可以按十进制数或二进制数预置初值;q每个计数器有六种工作方式,可通过编程设定或改每个计数器有六种工作方式,可通过编程设定或改变;变;q每个计数器的计数定时值,可由每个计数器的计数定时值,可由CPUCPU随时读取;随时读取;初值寄存器计数执行单元输出锁存器CLKGATEOUT6D D0 0D D7 7:8 8位双向数据线;位双向数据线;CSCS:芯片选择:芯片选择;RDRD、WRWR:读写控制信号;:读写控制信号;A A1 1,A A0 0:地址线地址线;A1A0=00计数器计数器0A1A0=01计数器计数器1A1A0=10计数器计数器2A1A0=11 控制寄存器控制寄存器CLKCLK:计数器的时钟信号输入端:计数器的时钟信号输入端,最高计数频率最高计数频率2MHz2MHz;GATEGATE:门控信号;控制计数器的启动和停止;:门控信号;控制计数器的启动和停止;OUTOUT:计数器输出信号;:计数器输出信号;82538253的引线及功能的引线及功能782538253的工作原理的工作原理当置入初值后,计数执行单元开始对输入脉冲当置入初值后,计数执行单元开始对输入脉冲CLK进进行减行减1计数,减到计数,减到0时从时从OUT端输出一个信号;端输出一个信号;整个过程可以重复进行;整个过程可以重复进行;初值寄存器计数执行单元输出锁存器CLKGATEOUT8计数器的启动的方法计数器的启动的方法软启动软启动:由程序指令启动。:由程序指令启动。MOVAX,500OUT80H,ALMOVAL,AHOUT80H,AL如果如果GATE为高电平,为高电平,就启动计数就启动计数;硬件启动硬件启动:由外部信号启动。写入初值后并不启动计:由外部信号启动。写入初值后并不启动计数,门控信号数,门控信号GATE由低变高电平后,在由低变高电平后,在CLK的下的下降沿开始计数;降沿开始计数;97.1.2 7.1.2 计数器的工作方式计数器的工作方式82538253一共有一共有6 6种工作方式;种工作方式;在多数工作方式下,计数器每启动一次只工作一个周在多数工作方式下,计数器每启动一次只工作一个周期;有两种工作方式可以进行自动重复计数期;有两种工作方式可以进行自动重复计数;MOVAL,0B4HOUT43H,AL;控制字送入控制寄存器控制字送入控制寄存器MOVAX,800OUT42H,AL;计数初值低计数初值低8位送入计数器位送入计数器MOVAL,AHOUT42H,AL;计数初值高计数初值高8位送入计数器位送入计数器10方式方式0:计数结束中断:计数结束中断软件启动、不自动重复计数方式;计数结束后,软件启动、不自动重复计数方式;计数结束后,OUT端输出为端输出为高电平,可以作为中断请求信号使用;高电平,可以作为中断请求信号使用;1.只计数一个周期;只计数一个周期;2.在计数过程中在计数过程中GATE变为低电平,则暂停计数;变为低电平,则暂停计数;3.在计数过程中,可以随时修改计数初值;在计数过程中,可以随时修改计数初值;WRCLKGATEOUTCWN=44321011注意,注意,8253所有的所有的6个工作方式都有下列共同点:个工作方式都有下列共同点:控制字写入计数器时,控制字写入计数器时,OUT端进入初始状态,不同的工作端进入初始状态,不同的工作方式方式OUT端初始状态不一定相同。端初始状态不一定相同。计数初值写入计数器之后,暂存在初值寄存器中,要经过一计数初值写入计数器之后,暂存在初值寄存器中,要经过一个时钟周期的上升沿和下降沿,计数初值才进入计数执行单个时钟周期的上升沿和下降沿,计数初值才进入计数执行单元,开始计数。元,开始计数。通常在每个时钟脉冲的上升沿,采样门控信号通常在每个时钟脉冲的上升沿,采样门控信号GATE。不同。不同的工作方式下,门控信号的作用不同。的工作方式下,门控信号的作用不同。在时钟脉冲的下降沿,计数器减在时钟脉冲的下降沿,计数器减1。(5)计数初值也叫时间常数。计数初值也叫时间常数。12方式方式1 1:可重复触发的单稳态触发器:可重复触发的单稳态触发器硬件启动、不自动重复的工作方式;硬件启动、不自动重复的工作方式;当写入控制字后,当写入控制字后,OUT端输出高电平。写入计数初值后计数器端输出高电平。写入计数初值后计数器并不开始工作;当并不开始工作;当GATE端由低到高触发后,在下一个端由低到高触发后,在下一个CLK脉冲的下降沿开始计数,脉冲的下降沿开始计数,OUT端立刻由高到低,计数结束后端立刻由高到低,计数结束后OUT端输出高电平;端输出高电平;4 3 2 1 01314方式方式1 1的特点:的特点:qGATE的上升沿触发计数器,计数过程中的上升沿触发计数器,计数过程中GATE即使即使变低也不影响计数;变低也不影响计数;q可重复触发;可重复触发;OUT端的负脉冲宽度端的负脉冲宽度=计数初值计数初值NTCLK计数器0CLKGATEOUT如果如果CLK=2MHz,则:,则:fc=2MHzTc=1/fc=0.5x10-6,如果时间常数如果时间常数N=1000,则,则OUT端的负脉冲宽度端的负脉冲宽度=NxTc=1000 x 0.5x10-6=500us4 3 2 1 015方式方式2 2:频率发生器:频率发生器也叫分频器;可以也叫分频器;可以软件启动,也可以硬件启动,计数器自动重软件启动,也可以硬件启动,计数器自动重复工作。复工作。在写入控制字和计数初值期间在写入控制字和计数初值期间GATE一直为高电平,则在下一一直为高电平,则在下一个个CLK开始计数,既软启动;开始计数,既软启动;若写入计数初值时若写入计数初值时GATE为低电平,则要等到为低电平,则要等到GATE由低到高由低到高时才启动,即硬件启动;时才启动,即硬件启动;一旦计数器启动,计数器可以自动重复工作;一旦计数器启动,计数器可以自动重复工作;GATEGATE为低,停止为低,停止计数;计数;WRCLKGATEOUTCWN=332132116写入控制字后,写入控制字后,OUT为高电平。如果为高电平。如果GATE为高,写入初值后为高,写入初值后开始减开始减1计数。当计数值减到计数。当计数值减到1时,时,OUT输出变为低电平,再输出变为低电平,再经过一个经过一个CLK之后计数值减为之后计数值减为0,OUT变为高电平,接着自变为高电平,接着自动重新装入初值,动重新装入初值,计数器重复工作。计数器重复工作。WRCLKGATEOUTCWN=33213211718【例题例题7-2】设设8253的端口地址为:的端口地址为:40H43H,用计数器,用计数器2作频率作频率发生器,二进制计数,输入脉冲信号为发生器,二进制计数,输入脉冲信号为2M,计数初,计数初值为值为800,输出脉冲信号的频率是多少,输出脉冲信号的频率是多少?控制控制字为:字为:10110100B=0B4H输出脉冲信号的频率为:输出脉冲信号的频率为:FOUT=FCLK/N=2X106/800=2500Hz19初始化程序:初始化程序:MOVAL,0B4HOUT43H,AL;控制字送入控制寄存器控制字送入控制寄存器MOVAX,800OUT42H,AL;计数初值低计数初值低8位送入计数器位送入计数器2MOVAL,AHOUT42H,AL;计数初值高计数初值高8位送入计数器位送入计数器2,计数器启动。,计数器启动。20可以可以软启动,也可以硬件启动,计数器自动重复工作;软启动,也可以硬件启动,计数器自动重复工作;写入控制字后,写入控制字后,OUT为高电平。如果为高电平。如果GATE为高,写入初值后为高,写入初值后开始减开始减1计数。当计数值减到计数。当计数值减到N/2时,时,OUT输出变为低电平,输出变为低电平,直到计数值减为直到计数值减为0;接着自动重新装入初值,;接着自动重新装入初值,OUT变为高电变为高电平,计数器自动重复工作。平,计数器自动重复工作。OUT输出对称方波:输出对称方波:若计数初值为奇数,若计数初值为奇数,OUT输出非对称方波:输出非对称方波:GATE由高变低,停止计数。由高变低,停止计数。N/2(N+1)/2方式方式3 3方波发生器方波发生器21【例题例题7-3】设设8253的端口地址为:的端口地址为:FCF8HFCFFH,利用计数,利用计数器器1作方波发生器,给定作方波发生器,给定CLK1为为2MHz,要求产生,要求产生频率为频率为1KHz的方波,的方波,BCD码计数。编程初始化码计数。编程初始化8253。计数器计数器1工作在方式工作在方式3:01110111B分频系数:分频系数:NFCLK/FOUT=2106/1000=200022程序设计如下:程序设计如下:MOVDX,0FCFBHMOVAL,01110111B;OUTDX,ALMOVDX,0FCF9HMOVAX,2000H;BCD码计数初值码计数初值OUTDX,AL;写入计数初值低字节写入计数初值低字节MOVAL,AHOUTDX,AL;写入计数初值高字节,计数器启动写入计数初值高字节,计数器启动23方式方式4 4:软件触发选通:软件触发选通软件启动、不自动重复计数方式;写入控制字后,软件启动、不自动重复计数方式;写入控制字后,OUT为高电平,计数器装入初值后即启动计数,计为高电平,计数器装入初值后即启动计数,计数结束时数结束时OUT输出宽度为输出宽度为TCLK的负脉冲,如下:的负脉冲,如下:WRCLKGATEOUTCWN=443210GATE为低,停止计数。为低,停止计数。4 3 2 124方式方式5 5:硬件触发选通:硬件触发选通硬件启动、不自动重复的工作方式。硬件启动、不自动重复的工作方式。GATE的上升沿的上升沿触发计数器;计数结束时,触发计数器;计数结束时,在在OUTOUT端输出一个脉冲宽端输出一个脉冲宽度为度为T TCLKCLK的负脉冲信号:的负脉冲信号:WRCLKGATEOUTCWN=543210GATE的上升沿,将重新计数。的上升沿,将重新计数。25SC1 SC0RL1RL0M2M1M0BCD数制选择:数制选择:0 0 二进制二进制1 BCD1 BCD码码方式选择:方式选择:000000方式方式0 0001001方式方式1 1X10X10方式方式2 2X11X11方式方式3 3100100方式方式4 4101101方式方式5 5计数初值长度选择:计数初值长度选择:0000计数器中的数据锁计数器中的数据锁存于缓冲器存于缓冲器0101只读只读/写低写低8 8位位,高高8 8 位默认为位默认为0 01010只读只读/写高写高8 8位,低位,低8 8位默认为位默认为0 01111先读先读/写低写低8 8位位 后读后读/写高写高8 8位位计数器选择:计数器选择:0000选计数器选计数器0 00101选计数器选计数器1 11010选计数器选计数器2 21111无效无效 8253 8253的控制字的控制字二进制计数范围:二进制计数范围:0000000065536H65536H;初值;初值=0000=0000,为最大计数值,为最大计数值十进制计数范围:十进制计数范围:000000001000010000;初值;初值=0000=0000,为最大计数值;,为最大计数值;26例如:利用计数器例如:利用计数器1作频率发生器,给定作频率发生器,给定CLK1为为2MHz,要求,要求产生频率为产生频率为1KHz的脉冲。计数器的脉冲。计数器1工作在方式工作在方式2:0111X100B时间常数时间常数Nfc/fo=2106/(1103)=2000程序设计如下:程序设计如下:MOVAL,01110100B;OUT83H,ALMOVAX,2000;先写入低字节计数值,;先写入低字节计数值,OUT81H,ALMOVAL,AH;后写入高字节计数值;后写入高字节计数值OUT81H,AL;OUT输出脉冲周期为输出脉冲周期为1ms27例如:利用计数器例如:利用计数器2 2作脉冲发生器,给定作脉冲发生器,给定CLK2CLK2为为1MHz1MHz,要求产生周期为要求产生周期为20ms20ms的方波。的方波。v计数器计数器2 2工作在方式工作在方式3 3:1011X110B1011X110Bv计数初值计数初值 N Nfc/fo=1fc/fo=110106 6 20201010-3-3=20000=4E20H=20000=4E20H v程序设计如下:程序设计如下:MOVAL,10110110B;2,方式,方式3,二进制,二进制OUT83H,ALMOVAL,20H:先写入低字节计数值:先写入低字节计数值OUT82H,ALMOVAL,4EH;后写入高字节计数值;后写入高字节计数值OUT82H,AL;OUT输出周期为输出周期为20ms的方波的方波2882538253与系统的连接与系统的连接D0D7A1A0IORIOWD0D7RDWRA1A08253GATE0GATE1GATE2OUT0OUT1OUT2CLK0CLK1CLK2CS&1GG2AG2BCBAY0IOWIORA3A4A5A6A7A2A8A9A10A11A12A13A14A15系系统统总总线线信信号号74LS138297.1.3 82537.1.3 8253的应用的应用8253的初始化编程,主要设置两方面的内容,一是写入控制字,的初始化编程,主要设置两方面的内容,一是写入控制字,二是写入计数初值。二是写入计数初值。控制字写入控制字写入8253的控制寄存器。的控制寄存器。3个控制字可以连续写入控制个控制字可以连续写入控制寄存器。寄存器。写入计数初值时注意两个问题:一是写入计数初值时注意两个问题:一是3个计数初值应写入相应个计数初值应写入相应的计数器中,不可混乱,二是要符合控制字的要求。的计数器中,不可混乱,二是要符合控制字的要求。30【例例7-4】8253与计算机系统的连接如图所示,三个计数器使用情况如下:与计算机系统的连接如图所示,三个计数器使用情况如下:CNT0:对外部事件计数,计满:对外部事件计数,计满100次向次向CPU发出中断请求。发出中断请求。CNT1:产生:产生1kHz方波。方波。CNT2:标准定时,定时时间为:标准定时,定时时间为1s。3132计数器计数器0应设置为方式应设置为方式0,完成计数功能。,完成计数功能。计数器计数器1应设置为方式应设置为方式3,CLK1输入的时钟脉冲频率输入的时钟脉冲频率为为2MHz,输出频率为,输出频率为1kHz的方波,周期为的方波,周期为1ms;计数器计数器1的计数初值为的计数初值为2000。计数器计数器2设置为方式设置为方式0,完成定时功能,定时,完成定时功能,定时1秒,利秒,利用用OUT2向向CPU发出一次中断请求,其输入时钟频发出一次中断请求,其输入时钟频率为率为1kHz,计数初值应为,计数初值应为1000。8253的端口地址为的端口地址为01FC01FFH。33START:MOVDX,01FFHMOVAL,10HOUTDX,AL;计数器计数器0工作在方式工作在方式0MOVDX,01FCHMOVAL,100OUTDX,AL;计数器计数器0置初值置初值MOVDX,01FFHMOVAL,76HOUTDX,AL;计数器计数器1工作在方式工作在方式3MOVDX,01FDHMOVAX,2000OUTDX,ALMOVAL,AHOUTDX,AL;计数器计数器1置初值置初值34MOVDX,01FFHMOVAL,0B0HOUTDX,AL;计数器计数器2工作在方式工作在方式0MOVDX,01FEHMOVAX,1000OUTDX,ALMOVAL,AHOUTDX,AL;计数器计数器2置初值置初值35【例题例题7-6】在在IBMPC/XT中定时器中定时器/计数器芯片计数器芯片8253,其计数器,其计数器0(CNT0)工作在方式)工作在方式3,GATE0固定为高电平,固定为高电平,OUT0作为中断请求信号接至作为中断请求信号接至8259A中断控制器的中断控制器的IRQ0,作为定时中断,用于时钟的时间基准。,作为定时中断,用于时钟的时间基准。计数器计数器1工作在方式工作在方式2,GATE1固定为高电平,固定为高电平,OUT1的输出作为定时(约的输出作为定时(约15us)信号,用于刷新动态)信号,用于刷新动态RAM,在,在2ms内可以有内可以有132次刷新(次刷新(128次是系统的次是系统的最低要求)。最低要求)。36计数器计数器2工作在方式工作在方式3,输出,输出1KHZ的方波,作为扬声的方波,作为扬声器的音频信号源,器的音频信号源,GATE2由由8255的的PB0控制,控制,OUT2与与8255的的PB1相与,这样利用相与,这样利用8255的的PB0、PB1同时为高电平的时间来控制喇叭发长音还是发同时为高电平的时间来控制喇叭发长音还是发短音。短音。三个计数器的输入时钟频率一样,为三个计数器的输入时钟频率一样,为F=1.19MHZ37388253的端口地址为的端口地址为040H043H,8255的端口地址为的端口地址为60H63H,ROMBIOS对对8253的编程如下:的编程如下:计数器计数器0用于定时中断:用于定时中断:MOVAL,00110110B;OUT43H,ALMOVAL,0;计数初值为计数初值为0000,即为最大。,即为最大。OUT40H,ALOUT40H,AL39计数器计数器1用于动态用于动态RAM的刷新:的刷新:MOVAL,01010100BOUT43H,ALMOVAL,18;计数初值为计数初值为18OUT41H,AL40计数器计数器2用于产生用于产生1KHZ的方波送至扬声器发声,声响的方波送至扬声器发声,声响子程序为子程序为BEEP,入口地址为,入口地址为FFA08H:BEEPPROCNEARMOVAL,10110110BOUT43H,ALMOVAX,1331;计数初值为计数初值为1331OUT42H,ALMOVAL,AHOUT42H,ALINAL,61H;读取读取8255B端口端口MOVAH,AL;存在存在AH41ORAL,03HOUT61H,AL;输出至输出至8255的的B端口,使扬声器发声端口,使扬声器发声SUBCX,CX;设置延时参数设置延时参数G7:LOOPG7MOVBH,0DECBX;BL的值为控制长短声,的值为控制长短声,BL6(长),(长),BL1(短)(短)JNZG7MOVAL,AH;恢复恢复8255B端口值,停止发声端口值,停止发声OUT61H,ALRETBEEPENDP42例例7-27-2写出写出8253的初始化程序。其的初始化程序。其3个计数器的时钟频率均个计数器的时钟频率均为为2MHz,计数器,计数器0在定时在定时100us后产生中断请求;后产生中断请求;计数器计数器1用于产生周期为用于产生周期为10us的对称方波,计数器的对称方波,计数器2每每1ms产生一个负脉冲,产生一个负脉冲,BCD码计数。码计数。计数器计数器0:方式:方式0,时间常数,时间常数=100us/0.5us=200控制字为:控制字为:00110000B计数器计数器1:方式:方式3,输出方波信号,输出方波信号,时间常数时间常数=10us/0.5us=20控制字为:控制字为:01110110B计数器计数器2:方式:方式2,时间常数为时间常数为=1ms/0.5us=2000控制字为:控制字为:10110101B43MOVDX,0FF07H;MOVAL,30HOUTDX,ALMOVAL,76HOUTDX,ALMOVAL,0B5HOUTDX,ALMOVDX,0FF04H;计数器计数器0MOVAX,200;先写入低字节计数值,;先写入低字节计数值,OUTDX,ALMOVAL,AHOUTDX,AL82538253的编程的编程44MOVDX,0FF05H;计数器计数器1MOVAX,20OUTDX,ALMOVAL,AHOUTDX,ALMOVDX,0FF06H;计数器计数器2,BCD码计数码计数MOVAL,00HOUTDX,ALMOVAL,20HOUTDX,AL4582538253的编程的编程例例7-1IBM-PC/XT中使用了一片中使用了一片8253,其,其3个计数器个计数器的输入时钟频率均为的输入时钟频率均为1.19MHz。计数器计数器0(CNT0)为系统的电子钟提供时间基准,它)为系统的电子钟提供时间基准,它的输出作为系统的中断源,接到的输出作为系统的中断源,接到8259的的IR0端。端。计数器计数器1(CNT1)用于)用于DRAM的定时刷新;的定时刷新;计数器计数器2(CNT2)作为扬声器的音频信号源,输出不)作为扬声器的音频信号源,输出不同频率的方波信号。同频率的方波信号。8253的端口地址设为的端口地址设为40H,41H,42H,43H46分析分析计数器计数器0:方式:方式3,输出方波信号,时间常数,输出方波信号,时间常数=65536,置入,置入0000H,1.19MHz/65536=18.2Hz,每秒产生,每秒产生18.2次中断请求;次中断请求;计数器计数器1:方式:方式2,分频系数为,分频系数为18,OUT1的输出脉冲的输出脉冲频率为频率为1.19/18,即,即DRAM的定时刷新周期为的定时刷新周期为15us;计数器计数器2:方式:方式3,控制扬声器发出,控制扬声器发出1KHz的声音,时间的声音,时间常数为:常数为:1.19MHz/1KHz=1190=04A6H47CNT0:MOVAL,00110110BOUT43H,ALMOVAL,00HOUT40H,ALOUT40H,ALCNT1:MOVAL,01010100BOUT43H,ALMOVAL,18OUT41H,ALCNT2:MOVAL,10110110BOUT43H,ALMOVAL,A6HOUT42H,ALMOVAL,04HOUT42H,AL487.2 7.2 可编程并行接口芯片可编程并行接口芯片82558255CPU与外设的数据交换,有并行和串行传送方式。接与外设的数据交换,有并行和串行传送方式。接口可分为并行接口和串行接口。口可分为并行接口和串行接口。8255A是通用是通用8位可位可编程并行输入输出接口芯片;编程并行输入输出接口芯片;4912345678910111213141516171819204039383736353433323130292827262524232221PA3PA2PA1PA0RDCSGNDA0A1PC7PC6PC5PC4PC0PC1PC2PC3PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VCCPB7PB6PB5PB4PB3引脚及功能引脚及功能 :40引脚引脚,单一单一+5V电源,双列直插式电源,双列直插式;D D7 7 D D0 0:数据信号线;:数据信号线;CSCS:片选信号;:片选信号;A A0 0A A1 1口地址选择信号;口地址选择信号;WRWR:写信号;:写信号;RDRD:读信号线;:读信号线;ResetReset复位信号高电平有效;复位信号高电平有效;82558255复位后,各端口都被预置复位后,各端口都被预置为输入状态。为输入状态。PAPA0 0 PAPA7 7:端口端口A A的的8 8条输入输出线条输入输出线PBPB0 0 PBPB7 7:端口端口B B的的8 8条输入或输出线条输入或输出线PCPC0 0 PCPC7 7:端口端口C C的的8 8条输入或输出线,条输入或输出线,也可以用作控制信号的输出或状态信也可以用作控制信号的输出或状态信号的输入线;号的输入线;50内部结构PAPA7 7PAPA0 0PCPC7 7PCPC4 4PBPB7 7PBPB0 0PCPC3 3PCPC0 0A A组组端口端口A AA A组组控制控制电路电路缓缓冲冲器器B B组组控制控制电路电路读读/写写控制控制逻辑逻辑A A组组端口端口C C高高4 4位位B B组组端口端口C C低低4 4位位B B组组端口端口B B内部逻辑内部逻辑外设接口外设接口RDRDWRWRA1A1A0A0RESETRESETCSCSD D7 7D D0 0I/OI/OI/OI/OI/OI/OI/OI/O51端口地址端口地址8255A包含包含A口、口、B口、口、C口三个独立的数据端口,及一口三个独立的数据端口,及一个控制端口。各端口地址如下:个控制端口。各端口地址如下:A1A0=00A口口A1A0=01B口口A1A0=10C口口A1A0=11 控制端口控制端口52数据端口的特点数据端口的特点A口、口、B口、口、C口可以作为三个独立的数据输入输出通口可以作为三个独立的数据输入输出通道(端口)单独使用;道(端口)单独使用;也可以将也可以将A口、口、B口作为数据输入输出口,口作为数据输入输出口,C口输出控口输出控制信号或输入状态信号;制信号或输入状态信号;A口口-具有数据输入输出功能,且能锁存;具有数据输入输出功能,且能锁存;B口口-具有数据输入输出功能,且能锁存;具有数据输入输出功能,且能锁存;C口口-具有数据输入输出功能,输出时可以锁存;具有数据输入输出功能,输出时可以锁存;C口的主要特点是可以按位进行操作;可以分为口的主要特点是可以按位进行操作;可以分为2个个4位的端口;既可以传送数据也可以用来输出控制信位的端口;既可以传送数据也可以用来输出控制信号或输入状态信号;号或输入状态信号;5382558255与系统的连接示意图与系统的连接示意图系系统统总总线线信信号号IORIOW A0 A1D0D7 A0 A2 A15 A1D0D7CS A口口 B口口 C口口外外设设译译码码WRRD5482558255的工作方式的工作方式8255有三种工作方式:方式有三种工作方式:方式0、方式、方式1、方式、方式2;方式方式0,基本输入输出方式,基本输入输出方式v适合于三个端口;作为输出口时它具有锁存功能,适合于三个端口;作为输出口时它具有锁存功能,作为输入时不能锁存;作为输入时不能锁存;vA口、口、C口的高口的高4位、位、B口以及口以及C口的低四位可分别定口的低四位可分别定义为输入或输出,各端口相互独立,故共有义为输入或输出,各端口相互独立,故共有16种组种组合。合。vC C口可以按位进行置位和复位。口可以按位进行置位和复位。55方式方式0最适用于无条件传送方式;最适用于无条件传送方式;也能用于查询工作方式,这时常将也能用于查询工作方式,这时常将C口的高口的高4位定义为位定义为输入口,输入外设的状态信号,而将输入口,输入外设的状态信号,而将C口的低四位口的低四位定义为输出口,输出控制信息;这时可用定义为输出口,输出控制信息;这时可用A、B口传口传送数据;送数据;方式方式0不能工作在中断方式;不能工作在中断方式;56方式方式1:选通输入输出方式:选通输入输出方式:A口、口、B口作为数据的输入口或输口作为数据的输入口或输出口,但数据的输入输出要在控制信号的控制下,出口,但数据的输入输出要在控制信号的控制下,控制信号由控制信号由C口的某些位来提供;口的某些位来提供;方式方式1 1适用于程序查询和中断控制方式,它不能工作适用于程序查询和中断控制方式,它不能工作在无条件传送方式下;在无条件传送方式下;57方式方式1下下A口、口、B口均为输出口均为输出C口的口的6条线作为选通控制信号:条线作为选通控制信号:PC3、PC6、PC7配合配合A口,口,PC0、PC1、PC2配合配合B口;口;接接8259OBF:输出缓冲器满信号;:输出缓冲器满信号;ACK:外设收到数据的应答信号;:外设收到数据的应答信号;INTE:中断允许状态;:中断允许状态;INTR:中断请求信号;:中断请求信号;INTEAPC7PC6PC3&PA7PA0PC4PC5IOWOBFAACKAINTRAIOWOBFINTRACK输出输出58IOWOBFINTRACK输出INTEBPC1PC2PC0&PB7PB0IOWOBFBACKBINTRB接825959方式方式1下下A口、口、B口均为输入口均为输入STBAIBFASTB:输入选通信号;外设用它将数据锁存于输入数据缓冲器中;:输入选通信号;外设用它将数据锁存于输入数据缓冲器中;IBF:数据输入缓冲器满,:数据输入缓冲器满,STB的应答信号;的应答信号;INTR:中断请求信号:中断请求信号INTR;INTE:中断允许信号;:中断允许信号;INTEAPC4PC5PC3PA7PA0PC6PC7IORINTRA&INTEBPC2PC1PC0PB7PB0IORSTBBIBFBINTRB&60方式方式2 2:双向传输方式,只有双向传输方式,只有A A口可以工作在这种方式下。既口可以工作在这种方式下。既能发送数据,又能接收数据;它还要利用能发送数据,又能接收数据;它还要利用C C口的口的5 5条条线作为控制信号线;线作为控制信号线;A A口的输入输出均具有数据锁口的输入输出均具有数据锁存能力,数据的输入输出均可以引起中断;存能力,数据的输入输出均可以引起中断;方式方式2 2适用于程序查询和中断控制方式。它不能工作适用于程序查询和中断控制方式。它不能工作在无条件传送方式下。在无条件传送方式下。这时这时B B口可以工作在方式口可以工作在方式0 0或方式或方式1 1,C C口剩余的口剩余的3 3条线条线可以作为输入输出线或方式可以作为输入输出线或方式1 1下的控制线。下的控制线。61控制字控制字76543210功能控制功能控制0:位操作:位操作1:方式选择:方式选择A组方式选择组方式选择00:方式:方式001:方式:方式11X:方式:方式2控制控制A口口8位位0:输出:输出1:输入:输入控制控制C口高口高4位位0:输出:输出1:输入:输入B组方式选择组方式选择0:方式:方式01:方式:方式1控制控制B口口8位位0:输出:输出1:输入:输入控制控制C口低口低4位位0:输出:输出1:输入:输入1.1.方式选择控制字:方式选择控制字:62【例题例题7-6】设设8255的端口地址为的端口地址为FBC0FBC3H,A口设置方式口设置方式0输入,输入,B口方式口方式0输出,输出,C口高口高4位方式位方式0输出,输出,C口口低低4位方式位方式0输入。输入。控制字为:控制字为:10010001B8255初始化程序为:初始化程序为:MOVDX,0FBC3HMOVAL,91HOUTDX,AL63方式选择控制字例方式选择控制字例A口、口、B口工作在方式口工作在方式0下:下:A口输出、口输出、B口输入则:口输入则:10000010A口工作在方式口工作在方式0、B口工作在方式口工作在方式1下:下:A口输出、口输出、B口输入则:口输入则:10000110A口工作在方式口工作在方式1、B口工作在方式口工作在方式0下:下:A口输入、口输入、B口输出则:口输出则:10110000方式选择控制字:方式选择控制字:80H,B4H642.2.按位操作控制字按位操作控制字7 6 5 4 3 2 1 0置位置位/复位复位0:复位:复位1:置位:置位C口的位选择口的位选择000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC7无关0设置设置PC0为置位,则:为置位,则:00000001设置设置PC4为复位,则:为复位,则:00001000设置设置PC3为置位,则:为置位,则:00000111设控制端口的地址为:设控制端口的地址为:FFF7H,则:则:MOVDX,0FFF7HMOVAL,08HOUTDX,ALMOVAL,07HOUTDX,AL65【例题例题7-7】设设8255的端口地址为的端口地址为FBC0FBC3H,A口设置方式口设置方式0输出,输出,B口方式口方式0输入,输入,C口高口高4位方式位方式0输出,输出,C口口低低4位方式位方式0输入,利用输入,利用C口口PC5产生连续的方波信产生连续的方波信号,信号的高、低电平宽度可调用延时子程序号,信号的高、低电平宽度可调用延时子程序DELAY实现。实现。66控制字为:控制字为:10000011B8255初始化程序为:初始化程序为:MOVDX,0FBC3HMOVAL,83HOUTDX,ALFB:MOVAL,0BHOUTDX,AL;PC5置位置位CALLDELAY;维持高电平维持高电平MOVAL,0AHOUTDX,AL;PC5=0CALLDELAY;维持低电平维持低电平JMPFB;连续输出方波信号连续输出方波信号674 482558255与与CPUCPU的连接的连接8255的的D7D0分别与系统总线的分别与系统总线的D7D0相连,相连,RD、WR分别与系统总线的分别与系统总线的IOR和和IOW相连,相连,A1、A0与与系统地址线系统地址线A1、A0相连,相连,CS由系统地址总线由系统地址总线A2A15译码生成。译码生成。6882558255的应用的应用A2A3A4IORIOWA10A12A13A14A15A5A6A7A8A9A11IORIOWA1A0RESETG1G2AG2BCBAY074LS138RDWRA1A0CS8255RESETA口口B口口C口口D0D7D0D7PA0PA7PC0PC7PB0PB7&1&6982558255的端口地址为的端口地址为F080F083HF080F083H。708255A8255A的的PA0PA7PA0PA7端接有开关端接有开关K0K7,PB0PB7K0K7,PB0PB7接有接有8 8支支LEDLED发光管。端口发光管。端口A A、B B均工作在方式均工作在方式0 0下,根据开关下,根据开关状态控制状态控制LEDLED灯的显示。灯的显示。1.1.请确定请确定8255A8255A的各端口地址,写出控制字;的各端口地址,写出控制字;2.2.编程控制:当编程控制:当K K全闭合时,全闭合时,8 8支灯亮;当有一个以上支灯亮;当有一个以上K K断开时,断开时,8 8支灯灭。支灯灭。71CSA1A0WRRDPA0PA7PB0PB1PB73:8ABCG1G2AG2BWRA7A6A5A4A3A2A1A0Y4.+5V+5V.IO/MRDK0K7D0D7地址:地址:84H,85H,86H,87H方式控制字:方式控制字:10010000=90H72编程:START:MOVAL,90HOUT87H,ALSTATES:INAL,84HANDAL,0FFHJZHIGH;当当K全闭合时,全闭合时,8支灯亮支灯亮;MOVAL,0FFH;有一个以上有一个以上K断开,断开,OUT85H,AL;8支灯灭支灯灭;JMPDONEHIGH:MOVAL,0OUT85H,ALDONE:JMPSTATES73另另:测试开关状态,控制相应的灯亮或灭;测试开关状态,控制相应的灯亮或灭;START:MOVAL,90HOUT87H,ALAGAIN:INAL,84HOUT85H,ALJMPAGAIN74【例题例题7-8】利用利用8255的的A口与打印机相连,将内存缓冲区口与打印机相连,将内存缓冲区BUFF中中的的2K个字符打印输出。试完成相应的软硬件设计。个字符打印输出。试完成相应的软硬件设计。758255控制打印机控制打印机D0D7A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14A15IOWIORIOWIORRESET1&74LS138ABCG2AG1G2BY0&A0A1WRRDRESETD0|D7PA0|PA7PC6PC1CS8255D0|D7STROBEBUSYFBC0HFBC1HFBC2HFBC3H76数据数据STROBEBUSY77编制程序如下:编制程序如下:START:MOVAX,SEGBUFFMOVDS,AXMOVSI,OFFSETBUFFMOVCX,2048MOVDX,0FBC3HMOVAL,81H;8255A初始化初始化OUTDX,AL;C口高位方式口高位方式0输出,低位方式输出,低位方式0输入输入MOVAL,0DH;OUTDX,AL;使使PC6置位,即使选通无效置位,即使选通无效78WAIT:MOVDX,0FBC2HINAL,DX;输入打印机的状态输入打印机的状态TESTAL,02H;检测检测PC1是否为是否为1JNZWAIT;为忙则等待为忙则等待MOVDX,0FBC0HMOVAL,SIOUTDX,AL;从从A口输出数据口输出数据MOVDX,0FBC3HMOVAL,0CHOUTDX,AL;STROBE信号为低电平信号为低电平MOVAL,0DHOUTDX,AL;STROBE信号为高电平信号为高电平INCSI;修改指针,指向下一个字符修改指针,指向下一个字符LOOPWAITDONE:MOVAH,4CHINT21H79用用82558255实现键盘接口实现键盘接口CPU总线总线8255PC7PC6PC5PC4PC3PC1PC2PC0行行3行行2行行1行行0列列0列列1列列2列列3KR4R45V矩阵式键盘接口电路原理图矩阵式键盘接口电路原理图80扫描法扫描法逐行输出逐行输出0,然后读入列值,检查有无为,然后读入列值,检查有无为0的位;的位;具体步骤:具体步骤:1.PC7PC4输出全输出全0,从,从PC3PC0读入,若读入的读入,若读入的数据有一位为数据有一位为0,表明有键按下;,表明有键按下;2.延时延时20ms去抖动,重复第一步动作,若还有键闭去抖动,重复第一步动作,若还有键闭合,则认为确实有键闭合;否则返回第一步;合,则认为确实有键闭合;否则返回第一步;3.查找被确认的键;从第查找被确认的键;从第0行开始逐行输出行开始逐行输出0,然后,然后读入列值,检查有无为读入列值,检查有无为0的位;若无,键值加的位;若无,键值加4,转下一行;转下一行;81反转法反转法1.将将PC7PC4设定为输出,设定为输出,PC3PC0设定为输入。设定为输入。然后然后PC7PC4输出全输出全0,从,从PC3PC0读入列值,读入列值,若读入的数据有一位为若读入的数据有一位为0,表明该列有键按下,保,表明该列有键按下,保存列值;存列值;2.将将PC7PC4设定为输入,设定为输入,PC3PC0设定为输出。设定为输出。把保存的列值从把保存的列值从PC3PC0输出,从输出,从PC7PC4读入读入行值,读入的数据必有一位为行值,读入的数据必有一位为0,保存行值。将行,保存行值。将行值和列值组合在一起,用查表的方法得到按键的值和列值组合在一起,用查表的方法得到按键的键值。键值。82编程:设编程:设82558255的端口地址为的端口地址为40H40H、41H41H、42H42H、43H43HSTART:MOVAL,10000001B;方式;方式0,C口高口高4位输出,低位输出,低4位输入位输入OUT43H,ALMOVAL,0OUT42H,ALWAIT1:INAL,42HANDAL,0FH;取低;取低4位位CMPAL,0FHJZWALT1MOVAH,ALMOVAL,10001000B;方式;方式0,C口高口高4位输入,低位输入,低4位输出位输出OUT43H,ALMOVAL,AHOUT42H,ALINAL,42HANDAL,0F0H;取高;取高4位位ORAL,AH;查表求出按键的键号查表求出按键的键号837.4串行通信串行通信7.4.1串行通讯的基本概念串行通讯的基本概念CPU与外设之间的信息交换,在每一个时间单位仅传与外设之间的信息交换,在每一个时间单位仅传送一位信息,信息的所有位按顺序一位一位地传送,送一位信息,信息的所有位按顺序一位一位地传送,称为串行通信。称为串行通信。1.1.串行通信的传送方式串行通信的传送方式单工:单方向传送单工:单方向传送半双工:采用分时传送的办法半双工:采用分时传送的办法全双工:发送和接收同时进行全双工:发送和接收同时进行A发送器B接收器单工发送器接收器发送器接收器半双工发送器接收器发送器接收器全双工842.调制与解调调制与解调计算机远距离的通信可以借助电话电缆来传输信息。计算机远距离的通信可以借助电话电缆来传输信息。q发送:把数字信号调制在载波信号。发送:把数字信号调制在载波信号。q接收:把载波信号解调成数字信号。接收:把载波信号解调成数字信号。q3种调制方法:调频、调幅、调相。种调制方法:调频、调幅、调相。调频是把数字调频是把数字“1”与与“0”调制成两个频率不同的模调制成两个频率不同的模拟信号;拟信号;调幅是把数字调幅是把数字“1”与与“0”调制成不同幅度的模拟信调制成不同幅度的模拟信号,频率保持不变;号,频率保持不变;调相是把数字调相是把数字“1”与与“0”调制成不同相位的模拟信调制成不同相位的模拟信号,频率和幅度保持不变;号,频率和幅度保持不变;853.3.同步通信和异步通信同步通信和异步通信串行通信中有同步通信和串行通信中有同步通信和异步通信两种基本方式。异步通信两种基本方式。同步通信及规程:同步通信及规程:q定义:由若干个字符组成一个信息组,字符间无间定义:由若干个字符组成一个信息组,字符间无间隔,称为帧。发送端和接收端的时钟信号频率和相隔,称为帧。发送端和接收端的时钟信号频率和相位始终保持一致。位始终保持一致。q数据格式:单、双同步格式、数据格式:单、双同步格式、SDLCSDLC同步数据链路控同步数据链路控制规程、制规程、HDLCHDLC高级数据链路控制规程;高级数据链路控制规程;q传送速率:可达几百传送速率:可达几百K K波特波特同步信息 数据 校验信息CRC1数据数据NCRC2数据数据2数据数据1SYN2SYN1CRC1数据数据NCRC2数据数据3数据数据2数据数据1SYN186异步通信方式及规程异步通信方式及规程q定义:一个字符作为一个独立的信息单元,称为帧;定义:一个字符作为一个独立的信息单元,称为帧;字符间的间隔时间不固定字符间的间隔时间不固定,字符内位和位的间隔时,字符内位和位的间隔时间固定;间固定;q格式:起始位、数据位、奇偶校验位、停止位;格式:起始位、数据位、奇偶校验位、停止位;q传送速率:传送速率:用波特率表示用波特率表示bps奇偶奇偶校验校验位位停停止止位位空空闲闲位位起起始始位位起始位起始位数据位数据位58高位高位低位低位01 1001110000187波特率是指每秒传送信息的位数。波特率是指每秒传送信息的位数。异步通信波特率:异步通信波特率:7519200波特,分为波特,分为10级;级;75,110,150,300,600,1200,2400,4800,9600,19200如:每秒传送如:每秒传送120个字符(个字符(1个起始位、个起始位、7个数据位、个数据位、1个奇偶校验、个奇偶校验、1个停止位,共计个停止位,共计10位)位)波特率波特率10位位120字符字符/秒秒1200位位/秒秒887.4.2 7.4.2 串行通信的接口标准串行通信的接口标准RS-232-C标准标准是是EIA电子工业协会推荐的串行通信接口标准,电子工业协会推荐的串行通信接口标准,接口的两端称为接口的两端称为DTE和和DCE,25芯。芯。特点:特点:v信号线少;信号线少;v多种传送速率多种传送速率50、75,110,150,300,600,1200,2400,4800,9600,19.2K,33.6K,56K;v传送距离远;基带传输传送距离远;基带传输3050Mv负逻辑:负逻辑:1-5-15V0+5+15V2TXD发送3RXD接受7GND 89计算机MODEMMODEM计算机电话网DTEDCEDTEDCERS-232-C907.4.3 7.4.3 可编程串行通信接口可编程串行通信接口825082508250为为UART:通用异步:通用异步通信通信收发器;收发器;它支持异步通信规程;芯片内部设置时钟发生器,通它支持异步通信规程;芯片内部设置时钟发生器,通过编程可设置数据的传送波特率;它提供过编程可设置数据的传送波特率;它提供MODEM所需的控制信号,接收来自所需的控制信号,接收来自MODEM的的状态信息等等。状态信息等等。功能功能:1.通用异步收发器;通用异步收发器;2.RS-232-C标准;标准;3.单工、半双工、全双工;单工、半双工、全双工;4.方便与方便与MODEM连接;连接;91作业:作业:1、3、4、5、6、9、10、11、1292接收数据寄存器发送移位寄存器发送数据寄存器接收移位寄存器数据缓冲寄存器读写控制逻辑MODEM控制逻辑接收控制逻辑发送控制逻辑93利用计数器利用计数器1 1作脉冲发生器,给定作脉冲发生器,给定CLK1CLK1为为2MHz2MHz,产生,产生频率为频率为1KHz1KHz的脉冲。利用计数器的脉冲。利用计数器2 2作脉冲发生器,给作脉冲发生器,给定定CLK2CLK2为为1MHz1MHz,产生周期为,产生周期为20ms20ms的方波。的方波。端口地址端口地址80H 81H 82H 83H80H 81H 82H 83H计数器计数器1 1工作在方式工作在方式2 2:计数初值计数初值2 210106 6/(1/(110103 3)=2000)=2000 控制字:控制字:0111010101110101计数器计数器2 2工作在方式工作在方式3 3:计数初值计数初值1 110106 6/(20/(2010103 3)=20000)=20000 控制字:控制字:10110110 10110110 94程序设计如下:程序设计如下:ST:MOVAL,01110101B;1,方式,方式2,BCD码码OUT83H,ALMOVAL,00H;先写入低字节计数值,;先写入低字节计数值,OUT81H,ALMOVAL,20H;后写入高字节计数值;后写入高字节计数值OUT81H,ALMOVAL,10110110B;2,方式,方式3,二进制,二进制 OUT83H,AL;MOVAL,20H:先写入低字节计数值:先写入低字节计数值 OUT82H,AL MOVAL,4EH;后写入高字节计数值;后写入高字节计数值 OUT82H,AL HLT95引脚引脚符号符号功能功能方向方向23456782022TXDRXDRTSCTSDSRGEDDCDDTRRI发送数据发送数据接收数据接收数据请求发送请求发送清除发送清除发送数据设备准备好数据设备准备好信号地信号地数据载波检测数据载波检测数据终端准备好数据终端准备好震铃信号震铃信号输出输出输入输入输出输出输入输入输入输入输入输入输出输出输入输入968255D0D1D7CSA1A0WRRDPB0PB1PB2PB3PB4PB5PB6PB73:8CBAG1G2AG2BIOWA7A6A5A4A3A2A1A0Y4VCC例:例:82558255的的B B端口接有端口接有8 8支彩灯,在方式支
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!