1、9 9.2 2可编程计数器可编程计数器/定时器定时器825382539 9.1.1可编程并行接口可编程并行接口825582559 9.5 59 9.6 6LCDLCD接口及其扩展接口及其扩展D/AD/A转换器转换器9 9.4 4A/DA/D转换器转换器9 9.9 9串行时钟日历芯片串行时钟日历芯片DS1302DS1302及其接口及其接口2022-12-2329.1 可编程并行接口82559 9.1.1 .1.1 82558255的组成与接口信号的组成与接口信号A组控制组控制数据总线数据总线缓冲器缓冲器读读/写写控制逻辑控制逻辑B组控制组控制A组组A口口(8位)位)A组组C口高位口高位(4位)位
2、)B组组C口低位口低位(4位)位)B组组B口口(8位)位)D0D7RDWRA1A0RESETPA0PA7PC4PC7PC0PC3PB0PB7数据总线缓冲器:三态8位双向缓冲器,与系统数据总线连接的缓冲部件;传送数据、控制字、状态字的通道。3个8位数据端口(PA、PB、PC):通常PA口与PB口用作输入输出的数据端口,PC口用作数据传输或提供联络线的端口。在方式字的控制下,PC口可以分成两个4位的端口,其中PC7PC4同端口A配合使用,PC3PC0同端口B配合使用。A组、B组控制电路:控制8255A的工作方式,A组控制电路控制PA口和PC口高4位,B组控制电路控制PB口和PC口低4位。读/写控制
3、逻辑:用来管理数据、控制字和状态字的传送,接收系统总线发来的有关信号,并向A、B两组控制部件发送命令。WRD0D1D2D3D4D5D6D7VCCPB7RDCSGNDA1A0PA4PA5PA6PA7PB5PB6PB4PB3RESETPB1PB2PB0PC3PC2PC1PC0PC4PC5PC6PC7PA2PA1PA05101535302521PA38255A引脚功能引脚功能D7D0,8位,双向,三态数据线位,双向,三态数据线 RESET,复位信号复位信号 CS*,片选信号片选信号RD*,读信号读信号WR*,写信号写信号 A1、A0,端口选择信号,端口选择信号 n端口端口A:PA0PA7nA组,支持
4、工作方式组,支持工作方式0、1、2n端口端口B:PB0PB7nB组,支持工作方式组,支持工作方式0、1n端口端口C:PC0PC7n仅支持工作方式仅支持工作方式0nA组控制高组控制高4位位PC4PC7nB组控制低组控制低4位位PC0PC3A1 A0RD*WR*CS*输入操作(输入操作(CPU读)读)001010000111000数据总线数据总线 端口端口A数据总线数据总线 端口端口B 数据总线数据总线 端口端口C 00110111111100000000输出操作输出操作(CPU写写)数据总线数据总线端口端口A 数据总线数据总线端口端口B 数据总线数据总线端口端口C数据总线数据总线控制端口控制端口
5、8255A8255A的读的读/写操作控制写操作控制8255A与系统的连接示意图D0D7WRRDA1A0CSDBIOWIORA1A0译码器译码器8255A口口B口口C口口D0D7外设外设1A15A2系系统统总总线线外设外设2外设外设38255A的初始化方式选择控制字D7 D6 D5 D4 D3 D2 D1 D0C口低位选择,口低位选择,1入入0出出B口口I/O选择,选择,1入入0出出B口方式选择,口方式选择,0=方式方式0 1=方式方式1B组组C口高位选择,口高位选择,1入入0出出A口口I/O选择,选择,1入入0出出A口方式选择口方式选择00=方式方式0 01=方式方式1 1X=方式方式2D7=
6、1,方式控制字标志,方式控制字标志A组组9.1.28255的控制寄存器的控制寄存器8255A的初始化C口置位/复位控制字D7 D6 D5 D4 D3 D2 D1 D0置位置位/复位复位选择选择1=置位,置位,0=复位复位D7=0为置为置位位/复位控复位控制字标志制字标志D3 D2 D1 位选择位选择 0 0 0 PC0 0 0 1 PC1 0 1 0 PC2 0 1 1 PC3 1 0 0 PC4 1 0 1 PC5 1 1 0 PC6 1 1 1 PC7无效无效101.基本输入/输出方式(方式0):A、B、C2.选通工作方式(方式1):A、B3.双向传送方式(方式2):A9.1.3 8255
7、的工作方式的工作方式111.方式0基本的输入或输出工作方式 适用于无条件地传送数据。适用于无条件地传送数据。如读一组开关状态、控制一组指示灯,CPU可随时读入开关状态。基本功能:具有两个8位口(A口和B口),两个4位口(C口的上半部和下半部)任一端口都可作为输入或输出 输出是锁存的,输入是不锁存的 此方式无中断功能,在作查询方式工作时,可将C口的某些位作为传送控制和状态信息,A、B口作为数据口方式0(基本输入/输出方式)IN AL,PORT外设将数据送到8255输入缓冲器中;CPU给出有效的8255地址;CPU发读命令,将8255A输入缓冲器中数据读入CPU的AL寄存器中。输入缓输入缓冲器冲器
8、译码器译码器数据数据DBDBABAB外设外设8nIO/MRD方式0(基本输出方式)OUT PORT,AL CPU给出有效的8255地址;CPU发写命令,将CPU的AL寄存器中数据写入8255A输出锁存器中。输出锁输出锁存器存器译码器译码器数据数据DBDBABAB外设外设8nIO/MWR2022-12-23微机原理及应用14 例例:8255A的端口A接8个发光二极管,要求当PC1 1时,使8个发光二极管从PA0 起依次亮0.5秒(设8255A口地址为F4H-F7H)。8255APA7PA6PA0PC1.+5VK+5V2022-12-23微机原理及应用15用查询方式查询PC1 的状态,控制程序为:
9、MOV AL,10000001B ;端口A方式0输出,C低位输入 OUT 0F7H,AL ;命令口L2:IN AL,0F6H ;读C口 TEST AL,02H ;查PC1 JZ L2 MOV AL,01HL1:OUT 0F4H,AL ;AL A口 CALL DELAY05S ;调延时 ROL AL,1 ;AL左移1位 JMP L1162.方式1选通的输入输出方式 A口、口、B口作数据输入或输出口,口作数据输入或输出口,C口的某些位作为控制或状态信口的某些位作为控制或状态信息,起应答联络和中断请求的作用,剩余的位作息,起应答联络和中断请求的作用,剩余的位作I/O使用使用 基本功能:一个或两个选通
10、的一个或两个选通的8位数据端口位数据端口 每个端口含有三条控制线(固定的,不能用程序改变),提每个端口含有三条控制线(固定的,不能用程序改变),提供中断逻辑供中断逻辑 任何一个端口都可作为输入或输出任何一个端口都可作为输入或输出 若只有一个端口工作于方式若只有一个端口工作于方式1,余下的,余下的13位可以工作在方式位可以工作在方式0 若两个端口都工作在方式若两个端口都工作在方式1,端口,端口C剩下剩下2位,可通过程序指定位,可通过程序指定作输入或输出,也具有置位作输入或输出,也具有置位/复位功能复位功能(1)端口)端口A方式方式1作输入作输入:数据选通信号数据选通信号表示外设已经准备好数据表示
11、外设已经准备好数据输入缓冲器满信号输入缓冲器满信号表示表示A口已经接收数据口已经接收数据中断请求信号中断请求信号请求请求CPU接收数据接收数据中断允许触发器中断允许触发器PA7PA7PA0PA0PC4PC4PC5PC5PC3PC3INTEAINTEAPC4PC4与门与门IBFAIBFASTBASTBAINTRAINTRARDRDD7D7D0D0若允许若允许PAPA口输入时,产生中断请求,则必须设置口输入时,产生中断请求,则必须设置INTEA=1INTEA=1,即置即置PCPC4 4=1=1;若禁止它产生中断请求,则置;若禁止它产生中断请求,则置INTEA=0INTEA=0,即,即置置PCPC4
12、 4=0=0,其程序段为:,其程序段为:MOV DXMOV DX,203H 203H ;8255A8255A命令口命令口 MOV ALMOV AL,00001001B 00001001B ;置;置PCPC4 4=1=1,允许中断请求,允许中断请求 OUT DXOUT DX,AL AL MOV AL MOV AL,00001000B 00001000B ;置;置PCPC4 4=0=0,禁止中断请求,禁止中断请求 OUT DXOUT DX,ALALPC2PC1PC0PB7PB0INTEBIBFBINTRBSTBB数据选通信号数据选通信号表示外设已经准备好数据表示外设已经准备好数据输入缓冲器满信号输
13、入缓冲器满信号表示表示B口已经接收数据口已经接收数据中断请求信号中断请求信号请求请求CPU接收数据接收数据中断允许触发器中断允许触发器端口端口B方式方式1作输入:作输入:方式方式1输入联络信号定义输入联络信号定义nSTB*选通信号,低电平有效选通信号,低电平有效由外设提供的输入信号,当其有效时,将输入设备送由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至来的数据锁存至8255A的输入锁存器的输入锁存器nIBF输入缓冲器满信号,高电平有效输入缓冲器满信号,高电平有效8255A输出的联络信号。当其有效时,表示数据已输出的联络信号。当其有效时,表示数据已锁存在输入锁存器锁存在输入锁存器n
14、INTR中断请求信号,高电平有效中断请求信号,高电平有效8255A输出的信号,可用于向输出的信号,可用于向CPU提出中断请求,要提出中断请求,要求求CPU读取外设数据读取外设数据nINTE 中断允许信号,高电平有效中断允许信号,高电平有效用用于于控制中断允许或中断屏蔽控制中断允许或中断屏蔽联络信号联络信号 端口端口A 端口端口B STB*对应对应PC4 对应对应PC2 IBF对应对应PC5 对应对应PC1 INTR对应对应PC3 对应对应PC0 INTEPC4置位置位 PC2置位置位 8255A8255A方式方式1 1作输入时的各联络信号对应关系作输入时的各联络信号对应关系 2022-12-2
15、3微机原理及应用23方式 1 输入 输入过程:外设把数据送到8255A的端口数据线上后,就发出STB选通信号,将数据通过A口或B口锁存到8255A的数据输入寄存器。8255A输出IBF=1给外设,阻止外设输入新的数据,同时也供CPU查询。如果中断允许的话,在选通信号结束后向CPU发出INTR中断请求信号。CPU响应中断,发出RD信号,把数据输入CPU。RD有效信号清除中断请求。当RD信号结束后,数据已读至CPU,使IBF变低,表示输入缓冲器已空,通知外设可以输入新的数据。(2 2)端口)端口A A方式方式1 1作输出:作输出:外设响应信号外设响应信号表示外设已经接收到数据表示外设已经接收到数据
16、输出缓冲器满信号输出缓冲器满信号表示表示CPU已经输出了数据已经输出了数据中断请求信号中断请求信号请求请求CPU再次输出数据再次输出数据中断允许触发器中断允许触发器PA7PA7PA0PA0PC7PC7PC6PC6PC3PC3INTEAINTEAPC6PC6与门与门ACKAACKAOBFAOBFAINTRAINTRAWRWRD7D7D0D0端口端口B B方式方式1 1作输出:作输出:PC2PC1PC0PB7PB0INTEBOBFBINTRBACKB外设响应信号外设响应信号表示外设已经接收到数据表示外设已经接收到数据输出缓冲器满信号输出缓冲器满信号表示表示CPU已经输出了数据已经输出了数据中断请求
17、信号中断请求信号请求请求CPU再次输出数据再次输出数据中断允许触发器中断允许触发器方式方式1输出联络信号输出联络信号nOBF*输出缓冲器满信号,低有效输出缓冲器满信号,低有效n8255A输出给外设的一个控制信号,当其有效时,输出给外设的一个控制信号,当其有效时,表示表示CPU已把数据输出给指定的端口,外设可以取走已把数据输出给指定的端口,外设可以取走nACK*响应信号,低有效响应信号,低有效n外设的响应信号,指示外设的响应信号,指示8255A的端口数据已由外设的端口数据已由外设接受接受nINTR中断请求信号,高有效中断请求信号,高有效n当输出设备已接受数据后,当输出设备已接受数据后,8255A
18、输出此信号向输出此信号向CPU提出中断请求,要求提出中断请求,要求CPU继续提供数据继续提供数据联络信号联络信号 端口端口A 端口端口B OBF*对应对应PC7对应对应PC1 ACK对应对应PC6 对应对应PC2 INTR对应对应PC3 对应对应PC0 INTEPC6置位置位 PC2置位置位 8255A8255A方式方式1 1作输出时的各联络信号对应关系作输出时的各联络信号对应关系 2022-12-23微机原理及应用29方式 1 输出 输出过程:方式1输出往往采用中断控制方式。在中断服务程序中,CPU向8255A输出数据和发出WR信号,WR的上升沿一方面清除中断请求INTR,表示CPU已响应了
19、中断请求,另一方面使OBF有效,通知外设接收数据。OBF作为外设的选通命令,把数据装入外设的输入缓冲器。外设接收到数据后,便发出应答信号ACK。ACK一方面使OBF无效,表示数据已经取走,另一方面其上升沿使INTR有效,再向CPU发出新的中断请求,以开始下一个输出过程。A端口、B端口方式 1 比较 A A端口输入端口输入用用C C端口位端口位PC3 PC3、PC4 PC4、PC5PC5 A A端口输出端口输出用用C C端口位端口位PC3 PC3、PC6 PC6、PC7PC7 B B端口输入端口输入用用C C端口位端口位PC0 PC0、PC1 PC1、PC2 PC2 B B端口输出端口输出用用C
20、 C端口位端口位PC0 PC0、PC1 PC1、PC2PC2 A A端口输入、输出用端口输入、输出用不同的不同的C C端口的位端口的位 B B端口输入、输出用端口输入、输出用相同的相同的C C端口的位端口的位 B B端口端口只有方式只有方式 1 1 选通输入选通输入/输出输出 A A端口端口还有方式还有方式 2 2 双向数据传送双向数据传送C端口未被使用的位A A端口方式端口方式 0 0、B B端口方式端口方式 0 0 C C端口所有位未被端口所有位未被使使用用,PC0 PC7 PC0 PC7 可作可作I/OI/O用用A A端口方式端口方式 0 0、B B端口方式端口方式 1 1 PC0 PC
21、2PC0 PC2被用被用,PC3 PC7PC3 PC7可作可作I/OI/O用用A A端口方式端口方式 1 1输入、输入、B B端口方式端口方式 0 0 PC3PC3、PC4PC4、PC5PC5被用被用,PC0 PC2PC0 PC2、PC6PC6、PC7 PC7 可作可作I/OI/O用用A A端口方式端口方式 1 1输出、输出、B B端口方式端口方式 0 0 PC3PC3、PC6PC6、PC7 PC7 被用被用,PC0 PC2PC0 PC2、PC4PC4、PC5 PC5 可作可作I/OI/O用用A A端口方式端口方式 1 1输入、输入、B B端口方式端口方式 1 1 PC6PC6、PC7 PC7
22、 可作可作I/OI/O用用A A端口方式端口方式 1 1输出、输出、B B端口方式端口方式 1 1 PC4PC4、PC5 PC5 可作可作I/OI/O用用A A端口方式端口方式2 2、B B端口方式端口方式1 1;C C口被用完,口被用完,都不可作都不可作I/OI/O用用3.3.方式方式2 2(双向选通方式)双向选通方式)n方式方式2 2将方式将方式1 1的选通输入输出功能组合成一个的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据双向数据端口,可以发送数据和接收数据n只有端口只有端口A A可以工作于方式可以工作于方式2 2,需要利用端口,需要利用端口C C的的5 5个信号线,其
23、作用与方式个信号线,其作用与方式1 1相同相同n方式方式2 2的数据输入过程与方式的数据输入过程与方式1 1的输入方式一样的输入方式一样n方式方式2 2的数据输出过程与方式的数据输出过程与方式1 1的输出方式有一的输出方式有一点点不同:数据输出时不同:数据输出时8255A8255A不是在不是在OBFOBF*有效时向有效时向外设输出数据,而是在外设提供响应信号外设输出数据,而是在外设提供响应信号ACKACK*时才送出数据时才送出数据(1)方式方式2的信号定义的信号定义PC6PC7PC3PA7PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用用PC6设置设置INTE
24、1(输出)(输出)用用PC4设置设置INTE2(输入)(输入)输入和输出中断通过输入和输出中断通过或门输出或门输出INTRA信号信号8255A工作在方式工作在方式2下的工作时序下的工作时序M MO OD DE E 2 2 B B1 1-D DI IR RE EC CT TI IO ON NA AL L B BU US SO OU UT TW WR RO OB BF FI IN NT TR RA AC CK KS ST TB BI IB BF FP PA A7 7-P PA A0 0R RD DI IN NO OU UT TD DA AT TA A F FR RO OM MD DA AT TA
25、A F FR RO OM MP PE ER RI IP PH HE ER RA AL L T TO O 8 82 25 55 58 82 25 55 5 T TO O P PE ER RI IP PH HE ER RA AL LC CP PU UD DA AT TA A B BU US SC CP PU U 8 82 25 55 5C CP PU U 8 82 25 55 5当数据端口作为输入工作时,在当数据端口作为输入工作时,在STBSTB有效时,由外设有效时,由外设把输入数据送入端口,并发出把输入数据送入端口,并发出IBFIBF有效信号。当有效信号。当CPUCPU执执行行ININ指令对该数
26、据口进行读入操作后,由指令对该数据口进行读入操作后,由RDRD的上升沿的上升沿使使IBFIBF复位,为下一次输入数据作好准备。如果该数复位,为下一次输入数据作好准备。如果该数据端口的中断允许据端口的中断允许INTEINTE被置位,则在被置位,则在STBSTB信号回复到信号回复到高电平时,高电平时,8255A8255A通过通过INTRINTR向向CPUCPU发中断请求。若发中断请求。若CPUCPU响应该中断请求,读取该数据端口的输入数据,则响应该中断请求,读取该数据端口的输入数据,则RDRD由下降沿使由下降沿使INTRINTR复位,为下一次数据输入请求中断作复位,为下一次数据输入请求中断作好准备
27、。好准备。电平,为下一次输出作好准备。电平,为下一次输出作好准备。方式方式2应用接口电路图应用接口电路图系统总线IRQ0IRQ1IRQ2IRQ7主机INTR8259AINT主机 8255PC3(INTR)返回返回9.1.3 8255接口举例接口举例9.2 可编程计数器/定时器82531.基本功能:基本功能:3个个16位的定时位的定时/计数器计数器二进制二进制/十进制计数十进制计数最高计数频率最高计数频率2MHzTTL电平兼容电平兼容单电源单电源+5V供电供电9.2.1 8253的组成与接口信号的组成与接口信号数据总线数据总线缓冲器缓冲器计数器计数器0读读/写写逻辑逻辑控制字控制字寄存器寄存器计
28、数器计数器1计数器计数器2内内部部数数据据总总线线CLK0CLK1CLK2GATE0GATE1GATE2OUT0OUT1OUT2D7 D0RDWRA0A1CS8253内部结构内部结构2、8253的内部结构的内部结构8253的内部结构的内部结构(1)3个计数器个计数器计数器计数器0、1、2,每个,每个计数计数器器结构结构相同,而且操作是互相独立的。相同,而且操作是互相独立的。(2)控制字寄存器控制字寄存器是一个是一个8 8位寄存器,每个位寄存器,每个计数器有一个计数器有一个,只能写入,不能读出,用来,只能写入,不能读出,用来保存计数器的工作方式、计数进位制方式以保存计数器的工作方式、计数进位制方
29、式以及读及读/写计数器方式。写计数器方式。(3)数据总线缓冲器数据总线缓冲器与与CPU数据总线直接相数据总线直接相连。连。(4)读写控制电路读写控制电路8253的控制电路,接受来的控制电路,接受来自自CPU的地址信号和控制信号,完成对的地址信号和控制信号,完成对8253内部各功能的控制和操作。内部各功能的控制和操作。8253控制信号与执行的操作控制信号与执行的操作2022-12-23微机原理及应用438253的外部特性8253是24引脚的双列直插式芯片。(1)与CPU连接的引脚数据线D0D7这是与CPU数据线连接的引脚,用于与CPU传递信息。控制线 RD、WR、CS、A1和A0 与8255A比
30、较,除没有复位信号RESET外,其余都相同。(2)与外部连接的引脚三个计数器的三组线CLK、GATE和OUT。1 242 233 224 215 206 197 8253 188 179 1610 1511 1412 13D7D6D5D4D3D2D1D0CLK0OUT0GATE0GND+5VWRRDCSA1A0CLK2GATE2OUT2CLK1GATE1OUT12022-12-23微机原理及应用44计数器结构8253的每个计数器包括:(1)16位的计数初值寄存器CR存放由CPU编程设定的计数初值;(2)16位计数执行部件CE是一个减1计数器,初值是CR的内容。CE只对CLK脉冲计数,一旦计数器
31、被启动后,每出现一个CLK脉冲,CE减1。当减为0时,通过OUT输出指示信号,表明CE为0;计数执行单元CE输出锁存器OL计数值寄存器CR内部总线CLKGATEOUT*当当CLK是一个非周期性信号时,起计数功能;是一个非周期性信号时,起计数功能;*当当CLK是周期性时钟信号时,起定时功能。作定时器用时是周期性时钟信号时,起定时功能。作定时器用时,定时系数要求的定时时间,定时系数要求的定时时间/输入的时钟脉冲周期,作为计输入的时钟脉冲周期,作为计数初值预置入数初值预置入CR,2022-12-23微机原理及应用45计数执行单元CE输出锁存器OL计数值寄存器CR内部总线CLKGATEOUT(3)16
32、位输出锁存器OL跟随CE的内容变化,当接受到CPU发来的锁存命令时,就锁定当前的计数值,而不跟随CE变化,直到CPU从中读取锁存值后,才恢复跟随CE。(4)GATE门控脉冲输入。*高电平时,允许计数器工作;*低电平时,禁止计数器工作。00 选择计数器选择计数器001 选择计数器选择计数器110 选择计数器选择计数器111 非法选择非法选择000 方式方式0001 方式方式1X10 方式方式2X11 方式方式3100 方式方式4101 方式方式50 二进制二进制1 BCD 在在8253的初始化编程中,由的初始化编程中,由CPU向向8253的控制字寄存器的控制字寄存器写入一个控制字来设置写入一个控
33、制字来设置8253的工作方式。的工作方式。00 计数器锁存命令计数器锁存命令10 只读只读/写计数器高字节(高八位)写计数器高字节(高八位)01 只读只读/写计数器低字节(低八位)写计数器低字节(低八位)11 先读先读/写低字节,后读写低字节,后读/写高字节写高字节9.2.2 8253 控制字寄存器控制字寄存器计数器计数器 读读/写格式写格式工作方式工作方式数制数制D0D1D2D3D4D5D6D7SC1 SC0RL1 RL0M2 M1 M0BCD8253的控制寄存器和三个计数器分别具有独的控制寄存器和三个计数器分别具有独立的编程地址。立的编程地址。8253在初始化编程必须遵守两在初始化编程必须
34、遵守两条原则:条原则:在对某个计数器设置初值之前,必须先写在对某个计数器设置初值之前,必须先写入控制字;入控制字;在设计初始值时,要符合控制字中规定的在设计初始值时,要符合控制字中规定的格式,即只写低位字节,还是只写高位字节,格式,即只写低位字节,还是只写高位字节,或高或高 低位字节都写低位字节都写(分两次写,先低字节后高分两次写,先低字节后高字节字节)489.2.3 工作方式工作方式498253的工作方式方式的工作方式方式0(计数结束中断)(计数结束中断)计数器减1为0时,OUT升高,向CPU发出中断请求。过程特点:(1)控制字写入:OUT0。当控制字写入控制字寄存器后,输出端OUT变成低电
35、平。并且在计数值减到0之前一直保持低电平 (2)计数值写入:OUT不变,仍然为低电平 (3)启动方式:写入计数值。必须在下一个CLK时钟脉冲到来使,计数初值才由CR传送到CE (4)计数期间:OUT为低电平 (5)计数为0时:OUT1,向CPU发出中断请求。直到CPU写入新的控制字或计数值时,才使OUT=050(6)计数期间写入新的计数值:如果计数值是一个字节,则在写入后的下一个时钟脉冲,新的计数值由CR送入CE,开始新的计数。如果计数值在两个字节,则写入第一个字节时中止计数,写入第二个字节后的下一个时钟脉冲时,新的计数值由CR送CE,启动计数器按新的计数值开始计数。(7)GATE作用:GAT
36、E0时,禁止计数,计数器停止;GATE1,允许计数,此时计数器从刚才断的地方开始连续计数(8)计数值有效期限:计数值一次有效51方式0基本工作时序52方式0GATE作用时序53计数期间写入新的计数值时序54 输出单拍负脉冲,脉冲宽度可编程设定 过程特点:(1)控制字写入:OUT=1 (2)计数值写入:OUT=1(不变)(3)启动方式:GATE上跳沿。启动后的下一个CLK脉冲使OUT0,即延迟一个时钟周期。(4)计数期间:OUT0 (5)计数为0时:OUT=18253的工作方式方式的工作方式方式1(可编程单稳)(可编程单稳)55(6)计数期间写入新的计数值:不影响原计数,只有当下一个GATE上跳
37、沿到来时,才使用新的计数值(7)GATE作用:GATE0或GATE1时,不影响计数,但若出现上跳沿则重新启动计数器,按最新计数初值开始计数。(8)计数值有效期限:多次有效。计数初值写入CR后,在没有新的计数值写入CR之前,原计数值保持不变,每触发一次,就按这个初值装入CE。56方式1基本时序57GATE作用时序58计数期间写入新的计数值时序59 产生连续的负脉冲信号,负脉冲宽度等于一个时钟周期。脉冲周期可由软件设定,脉冲周期计数值CLK脉冲周期 过程特点:(1)控制字写入:OUT=1 (2)计数值写入:OUT=1 (3)启动方式:两种。一是硬件启动:GATE上跳沿启动;二是软件启动:写入计数值
38、启动(GATE1)8253的工作方式方式的工作方式方式2(脉冲频率发生器)(脉冲频率发生器)60(4)计数期间:OUT1,在CE减到1时,OUT输出一个负脉冲,宽度为一个时钟周期(5)计数为0时:OUT1,开始下一个周期的计数(6)计数期间写入新的计数值:影响随后的脉冲周期(7)GATE作用:GATE0时,OUT1,停止计数;GATE上跳沿时,启动计数器,重新开始;GATE1时不影响计数器工作(8)计数值有效期限:计数值重复有效。当计数器的值减到0时,CR的计数初值自动重新装入CE,循环计数61方式2基本时序62GATE的作用时序63计数期间写入新的计数值时序64 产生连续方波。方波周期计数值
39、CLK脉冲周期 过程特点:(1)控制字写入:OUT=1(2)计数值写入:OUT=1(3)启动方式两种。一是硬件启动:利用GATE的上跳沿启动;二是软件启动:写入计数值启动(GATE=1)(4)计数期间:若计数值N为偶数,则在前N/2计数期间,OUT1,后N/2计数期间,OUT0;若计数值N为奇数,则在前(N+1)/2计数期间,OUT=1,后(N-1)/2计数期间,OUT=08253的工作方式方式的工作方式方式3(方波发生器)(方波发生器)65(5)计数为0时:OUT=1,完成一个周期,CR值自动装入CE,开始下一个周期(6)计数期间写入新的计数值:不影响当前输出周期,当计数值减到0后,或GAT
40、E有上跳沿后,将把CR的新内容重新装入CE中,开始以新的周期输出方波(7)GATE作用:GATE0时,计数停止,OUT=1;GATE1时,不影响计数器工作,计数进行;GATE有上跳沿时,下一个CLK时钟使CR装入CE,开始新的计数(8)计数值有效期限:重复有效66方式3基本时序67GATE的作用时序68计数期间写入新的计数值时序69 计数器减为0时,输出一个CLK周期的负脉冲 过程特点:(1)控制字写入:OUT=1(2)计数值写入:OUT=1(3)启动方式:写入计数值启动。写入后,再过一个CLK周期,减1计数器CE获得计数初值,开始减1计数(4)计数期间:OUT=1(5)计数为0时:计数器减到
41、0后,输出一个宽度为一个CLK周期的负脉冲,之后OUT=1,此负脉冲作为选通信号8253的工作方式方式的工作方式方式4(软件触发选通)(软件触发选通)70(6)计数期间写入新的计数值:立即有效。写入新计数值后,在下一个时钟周期时,新计数值被装入CE,并开始新的计数。如果写入的计数值是2个字节,那么写入第一个字节时,计数不受影响,写入第二个字节时的下一个CLK时钟脉冲开始新的计数。(7)GATE作用:GATE0时,计数停止;GATE1时,允许计数,此时从暂停的地方开始连续计数。GATE信号不影响OUT的状态(8)计数值有效期限:一次有效。只有在输入新的计数值后,才能开始新的计数过程71方式4基本
42、时序72计数期间写入新的计数值时序738253的工作方式方式的工作方式方式5(硬件触发选通)(硬件触发选通)计数器减为0时,输出一个CLK周期的负脉冲 过程特点:(1)控制字写入:OUT=1(2)计数值写入:OUT=1(3)启动方式:GATE上跳沿。当GATE端有上跳沿信号后,下一个CLK脉冲装入初值,开始计数(4)计数期间:OUT=174(5)计数为0时:计数器减到0时,输出一个宽度为一个CLK周期的负脉冲,之后OUT=1(6)计数期间写入新的计数值:不影响本次计数。一旦GATE重新启动,将按新的计数初值开始计数(7)GATE的作用:GATE0或GATE1都不影响计数,当GATE有上跳沿时,
43、重新启动,按最新的计数初值开始计数(8)计数值有效期限:多次有效。当计数减到0后,自动重新装入计数值,在GATE信号的上跳沿才开始计数75方式5基本时序76计数期间写入新的计数值时序门控信号的控制功能门控信号的控制功能工作方式工作方式GATE为低电平为低电平或下降沿或下降沿GATE为上升沿为上升沿 GATE为高点平为高点平方式方式0禁止计数禁止计数-允许计数允许计数方式方式1-从预初值开始计数。从预初值开始计数。计数计数为计数计数为0,输出,输出变低电平变低电平-方式方式2禁止计数禁止计数使输出变高使输出变高从预置初值从预置初值开始计数开始计数允许计数允许计数方式方式3方式方式4禁止计数禁止计
44、数-允许计数允许计数方式方式5-从预置初值从预置初值开始计数开始计数-先写低先写低8位,再写高位,再写高8 位位9.2.4 初始化编程初始化编程初始化编程初始化编程初始化编程的步骤:初始化编程的步骤:(1)写入控制字写入控制字(2)写入计数器初值写入计数器初值 例:例:8253三个计数器端口的地址分别为三个计数器端口的地址分别为3F0H、3F2H、3F4H,控制字寄存器的端口地址为,控制字寄存器的端口地址为3F6H,要,要求通道求通道0工作于方式工作于方式3,写入的初值为,写入的初值为n=1234H。编写。编写初始化程序。初始化程序。计数器计数器 读读/写格式写格式工作方式工作方式数制数制D0
45、D1D2D3D4D5D6D7SC1 SC0RL1 RL0M2 M1 M0BCD控制字控制字 0 0 1 1 0 1 1 1 初始化程序流程初始化程序流程写控制字写控制字写计数值低写计数值低8位位写计数值高写计数值高8位位*非必须非必须可以写一个完整的计可以写一个完整的计数器,也可先写所有数器,也可先写所有计数器控制字,再写计数器控制字,再写入初值入初值MOV AL,00110111BMOV DX,3F6HOUT DX,ALMOV AL,34HMOV DX,3F0HOUT DX,ALMOV AL,12HOUT DX,AL9.2.5 8253应用举例应用举例三个计数器的时钟输入频率为三个计数器的时
46、钟输入频率为1.1932MHz 系统分配给系统分配给8253的端口地址的端口地址为为40H43H 计数器计数器0为方式为方式3,输出端,输出端OUT0接至中断控制器接至中断控制器8259A的的IR0,OUT0输出输出的脉冲周期约为的脉冲周期约为55ms(655361193200)计数器计数器1为方式为方式2,计数初值为,计数初值为18,输出端,输出端OUT1接至接至DMA控制器控制器8237A通通道道0的的DMA请求请求DREQ0,作为定时,作为定时(15.08s)刷新动态存储器的启动信号刷新动态存储器的启动信号 计数器计数器2为方式为方式3,计数初值为,计数初值为0533H,GATE2由由8
47、255A的的PB0控制,控制,OUT2输出频率为输出频率为896Hz的方波,经功率放大器和滤波后驱动扬声器发声的方波,经功率放大器和滤波后驱动扬声器发声【例例】利用利用82538253的通道的通道0 0和通道和通道1 1,设计并产生周期为,设计并产生周期为1Hz1Hz的方的方波波 设通道设通道0 0的输入时钟频率为的输入时钟频率为2MHz2MHz,82538253所占端口地址为所占端口地址为80H80H,81H81H,82H82H,83H83H 利用级联方法,将通道利用级联方法,将通道0 0的输出的输出OUT0OUT0作为通道作为通道1 1的输入时钟的输入时钟 若让若让82538253通道通道
48、0 0工作于方式工作于方式2(2(速率发生器速率发生器),输出脉冲周期为,输出脉冲周期为10ms10ms,则通道,则通道0 0的计数值为的计数值为2000020000 周期为周期为4ms4ms的脉冲作为通道的脉冲作为通道1 1的输入,要求输出端的输入,要求输出端OUT1OUT1的波形为方波且周期为的波形为方波且周期为1s1s,则通道,则通道1 1的的计数值为计数值为100100 82538253初始化程序如下:初始化程序如下:MOV AL MOV AL,34H 34H ;通道;通道0 0控制字控制字OUT 83HOUT 83H,AL AL MOV AXMOV AX,20000 20000 ;通
49、道;通道0 0时间常数时间常数OUT 80HOUT 80H,ALALMOV ALMOV AL,AHAHOUT 80HOUT 80H,ALALMOV ALMOV AL,56H 56H ;通道;通道1 1控制字控制字OUT 83HOUT 83H,ALALMOV ALMOV AL,100 100 ;通道;通道1 1时间常数时间常数OUT 81HOUT 81H,ALAL 在数据采集和过程控制中,被采集对象往往是连续在数据采集和过程控制中,被采集对象往往是连续变化的变化的模拟信号模拟信号(如温度、压力(如温度、压力、波等),由于计算机波等),由于计算机只能处理数字量,需要对连续变化的物理转换为数字量只能
50、处理数字量,需要对连续变化的物理转换为数字量,这一操作过程就是这一操作过程就是A/DA/D转换。转换。AlanogyDATAA/DCPUI/O9.4 A/D转换器转换器9.4.1 9.4.1 A/DA/D转换器的基本概念转换器的基本概念一个一个3 3位的位的A/DA/D转换器的量化关系转换器的量化关系量化与编码量化与编码A/D转换器的分类转换器的分类1.按分辨率分:按分辨率分:有有4、6、8 、10、14、16位位 二进制二进制 31/2位、位、51/2位位 BCD码码 2.按转换速度分;按转换速度分;超高超高 度度 转换时间转换时间330NS 次超高速次超高速 转换时间转换时间3333 高高