7-ми сегментный (8-ми разрядный) Индикатор и AT89C51, Очень Прошу Помочь!.. Приветствую Вас!!!...
Не Могу Найти Ответ (Гуглил, Искал по Форуму), Собрал Схемку, Написал Программу...
+--------------------------------------------------------------------------------+
• 
Дано.....: Есть МК (AT89C51) декодеры (DD1(a,b,c...,g), DD2(1,2,3..8)) и 7-ми сегментный Индикатор (8-ми разрядный), Записываются Цифры в Разные Разряды... 
• 
Проблема.: В Следующий Разряд Записывается Цифра (Двоично-десятичным способом) Из Предыдущего Разряда Исчезает Цифра, Подскажите Пожалуйста Почему?
• 
Цель.....: 7-ми сегментный индикатор отображает количество нажатий на кнопку...
+--------------------------------------------------------------------------------+
По Идее Нужно на Декодер DD1 Подать Нужную Цифру (Например #0001B, #0010B, n...), a на Декодер DD2, тож подать цифру, чтобы Записать в Нужный Разряд... Потом Снова на DD1 и + DD2, и т.д. Но Не Получается...
Ps0: Если Написано Сумбурно, Попытаюсь Объяснить по Другому...
Ps1: Подскажите Пожалуйста, Уже не Один Десяток Часов Потратил на Решение...
Ps2: Без Декодеров тоже Пробовал, Предыдущий Разряд Гаситься, Новый Загорается...
Ps3: Схему и Исходник Прилагаю...
 
Исходник.:
-----------------------------------------------
P20		EQU 0A0H
P30		EQU 0B0H
BUTTON	EQU 097H	;0B7H
;
	ORG	0
	JMP START
	ORG 100H
;	
START:
;	
	CLR	C
	MOV	C,BUTTON	;0B7H
	JNC	WAIT1	
	JMP 	START
;
WAIT1:
;
	CLR	C
	MOV	C,BUTTON	;0B7H
	JC	MENOS
	LJMP	WAIT1
;
MENOS:	
;
	INC	R1
	CLR	C
	MOV 	A,R1		
	SUBB 	A,#1D
	JZ	SIM1
	CLR	C
	MOV 	A,R1
	SUBB 	A,#2D
	JZ 	SIM2
	CLR	C
	MOV 	A,R1
	SUBB 	A,#3D
	JZ 	SIM3
	CLR	C
	MOV 	A,R1
	SUBB 	A,#4D
	JZ 	SIM4
	
	CLR	C
	MOV 	A,R1
	SUBB 	A,#5D
	JZ 	SIM5
	
	CLR	C
	MOV 	A,R1
	SUBB 	A,#6D
	JZ 	SIM6
	
	CLR	C
	MOV 	A,R1
	SUBB 	A,#7D
	JZ 	SIM7
	
	CLR	C
	MOV 	A,R1
	SUBB 	A,#8D
	JZ 	SIM8
	
	CLR	C
	MOV 	A,R1
	SUBB 	A,#9D
	JZ 	SIM9
	
	CLR	C
	MOV 	A,R1
	SUBB 	A,#10D
	JZ 	SIM0
	
	RET
;
SIM1:
	MOV 	P20,#001B	
	MOV	P30,#000B
	RET
SIM2:
	MOV 	P20,#010B	
	MOV	P30,#010B
	RET
SIM3:
	MOV 	P20,#011B
	MOV 	P30,#010B
	RET
SIM4:
	MOV 	P20,#100B
	MOV 	P30,#010B
	RET
SIM5:
	MOV 	P20,#101B
	MOV 	P30,#011B
	RET
SIM6:
	MOV 	P20,#110B
	MOV 	P30,#011B
	RET
SIM7:
	MOV 	P20,#111B
	MOV 	P30,#001B
	RET
SIM8:
	MOV 	P20,#1000B
	MOV 	P30,#010B
	RET
SIM9:
	MOV 	P20,#1001B
	RET
SIM0:
	MOV 	P20,#0B
	MOV	R1,#0
	RET
;
	END