lex2012 Опубликовано 29 мая, 2007 Поделиться Опубликовано 29 мая, 2007 Здравствуйте ! Посмотрите пожалуйста программку мою, закрадываются сомнения что она с ошибками: Вопросы таки: Можно ли выходить из подпрограммы прерывания в другую подпрограмму таким методом - СJNE R0,#09h,EXIT. Вообще реализовал ли я подсчет импульсов правильно ? .ORG 0H ;Начало программы AJMP START .ORG 03 AJMP INT ;------------------------------ инициализация Т/С и регистров данных ------------------------ START: SETB IP.0 ;приоритет перывания от INT0 SETB P3.2 ;вкл. альт. ф-ии(требование сист.) MOV TCON,#00000001b ;тип прерывания - по срезу CLR A ;очистка аккумулятора ;MOV R7,#00h ;счетчик сотен мегаВт MOV R6,#00h ;десятки мегаВт MOV R5,#00h ;мегаВт MOV R4,#00h ;100 кВт MOV R3,#00h ;10 кВт MOV R2,#00h ;кВт MOV R1,#00h ;сотни Вт MOV R0,#00h ;десятки Вт SETB EA ;cнятие блокировки прерываний (IE.7) AJMP $ ;зацикливаемся ;------------------ ПП обработки прерывания по срезу INT0(порт 3.2) -------------------------- INT: INC R0 ;inc счетчика десятков Вт СJNE R0,#09h,EXIT ;проверка достижения 9, если != 9 выход из ПП CLR R0 ;если = 9, переход и очищаем регистр INC R1 ;inc следущего счетчика - сотен Вт СJNE R1,#09h,EXIT CLR R1 INC R2 СJNE R2,#09h,EXIT CLR R2 INC R3 СJNE R3,#09h,EXIT CLR R3 INC R4 СJNE R4,#09h,EXIT CLR R4 INC R5 СJNE R5,#09h,EXIT CLR R5 INC R6 EXIT: RETI END 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Zer Опубликовано 29 мая, 2007 Поделиться Опубликовано 29 мая, 2007 Ты может схему выложишь или чего? Можно ли выходить из подпрограммы прерывания в другую подпрограмму таким методом - СJNE R0,#09h,EXIT. Вообще реализовал ли я подсчет импульсов правильно ? У меня не работало А не проще ветвление и Reti? 0 Пока в груди моей бьётся мотор, надежда есть на чистый бензин... Ссылка на комментарий Поделиться на другие сайты Поделиться
20% скидка на весь каталог электронных компонентов в ТМ Электроникс!Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!Перейти на страницу акции Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
AntonIOCifra Опубликовано 29 мая, 2007 Поделиться Опубликовано 29 мая, 2007 А почему инкремент старшего порядка начинаеться после того как проверяемое значение станет равным 9? Ведь сначала идет инкремент, а потом проверка на достижение 10...получается если у нас r0==8 при возникновении прерывания ,то получим при инкременте в обработчике r0=9 и у нас пойдет увеличение старшего числа. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Особенности хранения литиевых аккумуляторов и батареекПотеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
Zer Опубликовано 30 мая, 2007 Поделиться Опубликовано 30 мая, 2007 Есть такое. Но можно код и проще сделать... 0 Пока в груди моей бьётся мотор, надежда есть на чистый бензин... Ссылка на комментарий Поделиться на другие сайты Поделиться
Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
Speccy Опубликовано 30 мая, 2007 Поделиться Опубликовано 30 мая, 2007 1. Надо в основной программе разрешить прерывания по входу INT0: setb EX0 setb EA 2. В обработчике прерывания надо проверять на достижение десяти (как уже было выше отмечено): cjne Rn,#00Ah,EXIT Ничего странного в таком методе выхода из прерывания нет. 3. Надо предусмотреть, что прерывание в этом режиме работы будет вызываться по каждому срезу (переднему и заднему фронту), т.е. два раза за один импульс. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.