Я пытаюсь решить эту проблему с 8051 на ассемблере. Итак, вот вопрос: там 8-битные данные поступают с компьютера с 9600 бод. Каждые данные проходят проверку на четность с помощью микроконтроллера 8051. Если четность данных равна 1, R0 увеличивается. Если это ноль, R1 увеличивается. После 10 данных, если данные с четностью 1 больше, чем данные с четностью 0, загорается светодиод P1.0. Иначе загорается светодиод P1.1. Напишите в программу для этого. (Crystal 11.059MHz)
Я написал это, но как мне получить четность данных?
MOV TMOD,#00100000B
MOV SCON,#11001000B
MOV TH1,#-3
SETB TR1
MOV R0,#0
MOV R1,#0
MOV R2,#10
MAIN:
JNB RI,$
CLR RI
MOV A,SBUF
MOV C,RB8
MOV P,C
JB P,PARITY1
PARITY0:
INC R1
SJMP DONGU
PARITY1:
INC R0
DONGU:
DJNZ R2,MAIN
MOV A,R0
SUBB A,R1
JC LEDB
LEDA:
CPL P1.0
SJMP DONE
LEDB:
CPL P1.1
DONE: NOP
END
Я думаю, что эта часть бессмысленна для этой проблемы, что делать?
MOV C,RB8
MOV P,C
Спасибо за вашу помощь.