单片机电子钟程序及电路图设计 第4页
2:读/写控制逻辑
读/写控制逻辑用来管理数据信息和控制字的传送,它接收来自CPU地址总线和控制总线的有关信号,向3个独立的计数器的控制部件发送命令。对8252进行控制的信号有:
A1,A0:片内寄存器选择信号。
CS:片选信号,低电平有效。
RD:读信号,低电平有效
WR:写信号,低电平有效。
控制信号CS,RD,WR以及A1,A0的组合可以实现对三个计数器和控制寄存器的读写操作。
3:计数器
三个计数器中每一个都有三条信号线:
CLK:计数输入用于输入定时基准脉冲或计数脉冲。
OUT:输出信号以相应的电平指示计数的完成或输出脉冲波形。
GATE:选通输入,用于启动或禁止计数器的操作,以使计数器和计数器输入信号同步。
每个计数器中有四个寄存器:
1) 6位的控制寄存器,初始化时,将控制字写入该寄存器。
2) 16位的计数初值寄存器,初始化时写入该计数器的初始值,其最大初始值为0000H.
3) 16位的减一计数器,计数初值由计数初值寄存器送入减法计数寄存器,当计数输入端输入一个计数脉冲时,减法计数寄存器内容减一。
4) 16位的输出锁存器用来锁存计数执行部件的内容,从而使CPU可以对此进行读操作。
2.2.2 工作方式
计数启动方式:
软件启动:GATE端为高电平 置入计数初值后的第2个CLK脉冲的下降沿。
硬件启动:GATE端有一个上升沿 对应CLK脉冲的下降沿
8253有6种工作方式,在不同的工作方式下,计数器的启动方式,GATE端输入信号的作用以及OUT端的输出波形都有所不同。
1) 方式0(计数结束产生中断)
软件启动,不自动重复计数,装入初值后,输出端变低电平,计数
结束输出高电平。波形示意图如下:
在计数过程中可改变计数值,若为8位数,则在写入新的计数初值后,减一计数器将按新的计数初值重新开始计数:若为16位数,则在写入低字节后,减一计数器停止计数,而在写入高字节后,减一计数器才按照新的计数初值开始计数。
在计数过程中,可由GATE位低电平来控制减一计数器暂停计数,直到GATE又变成高电平,减一计数器又继续计数。但GATE信号的变化不影响OUT的变化。
方式0是专为工作在中断方式而设计的,计数结束中断的OUT信号可通过8259A作为CPU的中断请求信号,使用时要注意,若计数初值为n,要经过n+1个CLK脉冲信号OUT才由低电平变为高电平。
2) 方式1(可编程的单脉冲触发器)
硬件启动,不自动重复计数,装入初值后,输出端变高,计数过程中输出低电平,结束后又变高。波形图如下:
当计数器记到0之后,可用GATE脉冲再次启动,重发单拍脉冲,而不用给计数初值寄存器送入计数值。计数器又从原计数初值重新开始计数。
计数过程中,可通过GATE脉冲再次启动,但不改变输出低电平状态,减一计数器将重新按计数初值开始计数,直到再次计数到0后,输出才变高。
3) 方式2(分频器)
软硬件启动,自动重复计数。装入初值后,输出端变高,计数到最后一个脉冲时输出低电平。波形图如下:
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页