ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 ноября
175928
freebsdd (16.12.2009 20:02, просмотров: 13182)
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
image