Показано с 1 по 11 из 11
  1. #1
    ИгорьХ
    Гость

    кто знает ASSM на PICи?

    Всем привет!!!
    Очень нуждаюсь в помощи в освоении PICов-некоторые фрагменты
    программ "зависают",хотя всё вроде бы должно работать.
    (Пользуюсь Mpasm и pix113b).Ранее всё было в ладу с 580ВМ80,Z80.
    Заранее благодарен тому,кто проконсультирует меня по PICам
    (PIC16F84)!

    73!!! Игорь г.Ульяновск
    mailto:rw4lci@mail.uln.ru


  2. #2
    Alex007
    Гость
    Чтобы ничего не зависало, полезно пользоваться прогой MPLAB, она свободно лежит на microchip.ru или microchip.com и накопить хотя бы небольшой опыт. Практически любую программу можно вначале симулировать в MPLAB, не тратя нервы, время и PICи.
    А вопрос о "зависании" надо решать на конкретном куске кода, а не общими фразами.
    Если что не получается- вывешивайте сюда, сообща разберёмся, но, повторюсь основываясь на личный опыт, большинстно ошибок (зависания, как вы выразились) связаны с невнимательностью разработчика, отсюда вывод:
    постарайтесь набросать на бумаге для себя алгоритм работы программы, затем так же на бумаге пометьте основные её модули, иногда бывает полезно написать какой-то кусок кода сначала на бумаге, а уже потом перенести его на комп (лично мне так бывает проще)...
    В интернете очень много ресурсов по PIC-ам, введеите в поисковик google.com PIC или PIC16F84 и вы получите массу инфо, из которой как из кубиков можно выкладывать свои программы...

    Удачи!!!

  3. #3
    ИгорьХ
    Гость
    Alex007
    Alex007
    Вот один из фрагментов:
    movlw 0FFh
    movwf TEMP1
    K4
    decfsz TEMP1,f
    goto K4
    .......................
    Такой-же фрагмент есть в прг.
    из сайта ,который работает,а у меня в моей прг.-нет!!!
    (я уже набрал много таких программ)
    Было бы очень хорошо,если я смог связаться
    с Вами по ел.почте.Я бы выслал всю прогу,а Вы
    мне указали бы на ошибки!
    А Mplab у меня есть,но не умею пользоваться
    (с английским туговато)

  4. #4
    Без позывного
    Регистрация
    28.07.2003
    Адрес
    город
    Сообщений
    28
    Поблагодарили
    0
    Поблагодарил
    0
    Руководство пользователя MPLAB на русском языке выложено на сайте www.microchip.ru в разделе "документация".
    73! Luis.

  5. #5

  6. #6
    Без позывного
    Регистрация
    04.08.2003
    Адрес
    Ростов-н/Д
    Сообщений
    83
    Поблагодарили
    0
    Поблагодарил
    0
    А прерывания обрабатываете?
    В свое время нашел такой косяк (или просто свойство ПИК).
    При входе в процедуру обработки прерываний сохранял отдельно регистры W и STATUS, а при выходе восстанавливал. Выяснилось, что после восстановления W модифицировался флаг Zero... Обойти это можно примерно так:
    Код:
    int_0000: ;точка входа процедуры обработки прерываний
            movwf    int_w_save ; сохраняем W
            movf     STATUS,W
            movwf    int_st_save; сохраняем STATUS
            ;
            ;  что-то там свое делаем
            ;
    int_end:
            movf     int_st_save,w
            movwf    status
            btfss    Zero
            goto     _int_end1
            movf     int_w_save,w ; после этой команды Zero может поменяться
            bsf      Zero
            goto     _int_end2
    _int_end1:
            movf     int_w_save,w ; после этой команды Zero может поменяться
            bcf      Zero
    _int_end2:
            retfie    ; возврат из прерывания

  7. #7
    Alex007
    Гость
    Не нужно ничего обходить, всё дело в командах movwf, movf- они изменяют флаг Z, в то же время команда swapf такого свойства не имеет, именно поэтому её и нужно использовать для сохранения ( и извлечения) содержимого регистров w и status. Посмотрите фирменные примеры (в MPLAB-е есть).

    Игорь, пишите на buevsky@mail.ru - разберёмся.

  8. #8
    ИгорьХ
    Гость
    Дело в том,ято прога-то простая и прерываниям
    стоит запрет (простая мигалка),и как только начинается
    п/п задержки: movlw .200
    movwf TEMP1
    M2
    decfsz TEMP1,f
    goto M2
    ...............
    на этом месте "зависает",меняю этот фрагмент на управление
    кнопкой-всё работает.Может я не учитываю какие-то нюансы PICа???
    CONFIG 0x3FF1
    Этот фрагмент в прг "цифр.шкала" работает!!!
    Разбираюсь с Mplab-ом,не знаю что получится.
    Жду новых подсказок и спасибо всем!

  9. #9
    Very High Power Аватар для LY1CE
    Регистрация
    07.06.2002
    Адрес
    Каунас
    Возраст
    74
    Сообщений
    1,617
    Поблагодарили
    185
    Поблагодарил
    167
    А по каким признакам Вы определяете, что зависает именно на этом месте ?
    Может быть просто забыли запретить WatchDog, и программа попадая в цикл задержки перезапускается ?

  10. #10
    ИгорьХ
    Гость
    WatchDog запрещен (CONFIG 0x3FF1)!
    Ребята!!!
    Прошу прощения,я нашел (кажется) ошибку,
    всё заработало!
    Всем огромное спасибо!

    Alex007, я смогу обратиться в следующий раз
    к Вам запомощью по почте?

    P.S. Начинающим нужно проверять свою прогу
    не 10 раз (как я) ,а 20-30 раз и всё будет
    (наверное) в порядке!!!

    Ещё раз всем спасибо!

  11. #11
    Без позывного
    Регистрация
    04.08.2003
    Адрес
    Ростов-н/Д
    Сообщений
    83
    Поблагодарили
    0
    Поблагодарил
    0
    команда swapf такого свойства не имеет, именно поэтому её и нужно использовать для сохранения ( и извлечения) содержимого регистров w и status
    Что значит отсутсвие примеров... Учился по книжке.
    Буду знать, спасибо!

Похожие темы

  1. Кто знает про ГУ96Б
    от UZ3TWX в разделе Общие вопросы
    Ответов: 1
    Последнее сообщение: 21.11.2005, 17:55
  2. Р-138
    от RA0JEV в разделе КВ: Военная аппаратура
    Ответов: 8
    Последнее сообщение: 17.07.2004, 00:48
  3. Ищу схему 'Р-118БМ'
    от UR5YGJ в разделе КВ: Военная аппаратура
    Ответов: 18
    Последнее сообщение: 24.04.2004, 14:31
  4. Кто знает Р-138-06 ?
    от RA0JEV в разделе КВ: Военная аппаратура
    Ответов: 0
    Последнее сообщение: 09.11.2003, 19:27
  5. Подскажите, кто знает
    от RX3XX в разделе КВ аппаратура
    Ответов: 0
    Последнее сообщение: 05.09.2003, 22:49

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Похоже, что вы используете блокировщик рекламы :(
Форум QRZ.RU существует только за счет рекламы, поэтому мы были бы Вам благодарны если Вы внесете сайт в список исключений!
как отключить
×
Рейтинг@Mail.ru
eXTReMe Tracker


Похоже, что вы используете блокировщик рекламы :(
Форум QRZ.RU существует только за счет рекламы, поэтому мы были бы Вам благодарны если Вы внесете сайт в список исключений!
как отключить
×