状态字
发布时间:2016/7/19 21:16:43 访问次数:946
状态寄存器的8位中,最高位AD7888ARZ为空位任意值,单片机通过读取状态寄存器的相关数据来了解I/O口和定时器的工作状态设定情况。状态字的格式如下:
INTRA、INTRB:分别为A、B口的中断申请标志位,高电平表示对应端口有中断请求,低电平则表示端口没有中断申请。
A口无中断请求;
A口有中断请求
o:A口缓冲器空;
A口缓冲器满
o:B口无中断请求;1:B口有中断请求
o:B口缓冲器空;1:B口缓冲器满
止B口中断;1:允许B口中浙
在读状态字或硬件复位后定时器中断;
有定时器泾出中断发生时定时器中断
图9.14 81C55的状态字格式
BFA、BFB:对应端口的缓冲器状态标志位,高电平表示缓冲器装满数据,外设或者单片机可以取走数据;低电平则表示缓冲器是空的,可以接收外设或者单片机发送来的数据。
INTEA、INTEB:端口中断允许控制位,高电平表示允许对应口申断,低电平表示禁止端口中断。
状态寄存器中以上这6位是只有A口和B口作为选通口工作时才有的状态。例如,当81C55的A口或B口缓冲器接收到设备输入的数据或者从缓冲器中取走数据时,当缓冲器数据装满了则相应BF状态为“1”,当中断允许位为高电平,则中断请求线INTR升高为高电平,向CPU 申请中断,CPU对81C55相应的端口进行一次读或写的操作后,中断请求线自动变为低电平。
TIMER:定时/计数器中断请求标志位,定时/计数器计数满时该位为“1”,当CPU读取状态之后,该位置“0”。
状态寄存器的8位中,最高位AD7888ARZ为空位任意值,单片机通过读取状态寄存器的相关数据来了解I/O口和定时器的工作状态设定情况。状态字的格式如下:
INTRA、INTRB:分别为A、B口的中断申请标志位,高电平表示对应端口有中断请求,低电平则表示端口没有中断申请。
A口无中断请求;
A口有中断请求
o:A口缓冲器空;
A口缓冲器满
o:B口无中断请求;1:B口有中断请求
o:B口缓冲器空;1:B口缓冲器满
止B口中断;1:允许B口中浙
在读状态字或硬件复位后定时器中断;
有定时器泾出中断发生时定时器中断
图9.14 81C55的状态字格式
BFA、BFB:对应端口的缓冲器状态标志位,高电平表示缓冲器装满数据,外设或者单片机可以取走数据;低电平则表示缓冲器是空的,可以接收外设或者单片机发送来的数据。
INTEA、INTEB:端口中断允许控制位,高电平表示允许对应口申断,低电平表示禁止端口中断。
状态寄存器中以上这6位是只有A口和B口作为选通口工作时才有的状态。例如,当81C55的A口或B口缓冲器接收到设备输入的数据或者从缓冲器中取走数据时,当缓冲器数据装满了则相应BF状态为“1”,当中断允许位为高电平,则中断请求线INTR升高为高电平,向CPU 申请中断,CPU对81C55相应的端口进行一次读或写的操作后,中断请求线自动变为低电平。
TIMER:定时/计数器中断请求标志位,定时/计数器计数满时该位为“1”,当CPU读取状态之后,该位置“0”。
上一篇:81C55的命令字和状态字