English
Language : 

Z51F3220FNX Datasheet, PDF (310/312 Pages) Zilog, Inc. – Z8051 Series 8-Bit Microcontrollers
Z51F3220
Product Specification
B. Instructions on how to use the input port.
 Error occur status
 Using compare jump instructions with input port, it could cause error due to the timing conflict inside the
MCU.
 Compare jump Instructions which cause potential error used with input port condition:
JB bit, rel ; jump on direct bit=1
JNB bit, rel ; jump on direct bit=0
JBC bit, rel ; jump on direct bit=1 and clear
CJNE A, dir, rel ; compare A, direct jne relative
DJNZ dir, rel ; decrement direct byte, jnz relative
 It is only related with Input port. Internal parameters, SFRs and output bit ports don’t cause any error by
using compare jump instructions.
 If input signal is fixed, there is no error in using compare jump instructions.
 Error status example
while(1){
if (P00==1){ P10=1; }
else { P10=0; }
P11^=1;
}
unsigned char ret_bit_err(void)
{
return !P00;
}
zzz: JNB
SETB
SJMP
xxx: CLR
yyy: MOV
CPL
MOV
SJMP
080.0, xxx ; it possible to be error
088.0
yyy
088.0
C,088.1
C
088.1,C
zzz
MOV
JB
MOV
xxx: RET
R7, #000
080.0, xxx ; it possible to be error
R7, #001
 Preventative measures (2 cases)
 Do not use input bit port for bit operation but for byte operation. Using byte operation instead of bit oper
ation will not cause any error in using compare jump instructions for input port.
while(1){
if ((P0&0x01)==0x01){ P10=1; }
else { P10=0; }
P11^=1;
}
zzz: MOV A, 080
JNB 0E0.0, xxx
SETB 088.0
SJMP yyy
xxx: CLR 088.0
yyy: MOV C,088.1
CPL C
MOV 088.1,C
SJMP zzz
; read as byte
; compare
PS029902-0212
PRELIMINARY
308