Приветствуем на Форум Херсона. Форум Херсонской молодежи.. На данный момент Вы находитесь на форуме как Гость и имеете очень ограниченные возможности и права. Что бы писать или отвечать в темах, загружать картинки, файлы на форуме Вам нужно зарегистрироваться, что совершенно бесплатно. Регистрация очень быстрая, не откладывайте эту процедуру! Если возникнут проблемы с регистрацией напишите нам. |
|
Программирование Все вопросы по написанию программ |
|
Опции темы |
13.04.2012, 12:41 | #1 (Ссылка на пост) | ||||||||
Кажется, надолго
Благодарил(а): 118
Благодарили 98 раз в 66 постах
Галерея:
0
Вес репутации: 18
|
Асемблер для PIC
Написал программу на ассемблере для PIC в которой нужно работать с таблицей в 251 значений. Проблема состоит в том, что в протеусе алгоритм отрабатывается, а в железе вообще не работает вобще. Железо рабочее 100% т.к. заливаю предыдущую версию програмы в которой таблицы нет, работает.
Программировать начал недавно, поэтому сильно не пинайте. Микруха PIC16F628А. Если есть шарящие в програмировании на ассемблере PIC, помогите плз. .... .......тело программы ......запрещаю прерывания ...........тело программы movlw HIGH Table movwf PCLATH movf Time,W call Table movwf pos clrf PCLATH ....... разрешаю прерывание ...... тело программы ORG 0x0100 Table addwf PCL,F ; Вычисляемый переход retlw .000 ; 0 retlw .000 ; 1 ....... retlw .030 ; 249 retlw .030 ; 250 end ; конец программы
__________________
Война - это ненависть спрессованная в тол. Последний раз редактировалось -LL1ax-, 13.04.2012 в 12:57. Причина: забыл пример |
||||||||
|
13.04.2012, 13:13 | #2 (Ссылка на пост) |
Извините, я на тракторе!
Пол:
|
Счетчик команд улетает непонятно куда...от этого и проблемко
Вычисляемый переход может быть выполнен командой приращения к регистру PCL (Например, ADDWF PCL). При выполнении вычисляемого перехода следует заботится о том, чтобы значение PCL не пересекало границу блока памяти (блок 255 байт). При записи значения в регистр PCL, автоматически происходит перезапись 5 младших бит из регистра PCLATH<4:0> в регистр PCH Почесав затылок, юзер дописал через 2 минуты Код:
При использование вычисляемого перехода нужно изменять PCLATH. org 200h call test org 300h test: movlw table + 1 movwf PCL; <- вызовет переход по адрессу 0003h (если перед call PCLATH == 0x00) table: nop retlw .10 как пример все по таблицам тут -> http://piclist.com/techref/microchip/tables.htm
__________________
Какая разница из какого места растут руки, если они золотые. |
|
13.04.2012, 13:35 | #3 (Ссылка на пост) | ||||||||
Si vis pacem, para bellum
Пол:
Адрес: Херсон
Благодарил(а): 9,965
Благодарили 31,499 раз в 8,875 постах
Галерея:
0
Вес репутации: 345
|
Debian, черт ) Я честно пытался вспомнить пиковские инструкции, но память меня подвела.
Ну и чисто для поддержания разговора... А почему именно ассемблер?
__________________
У світі багато брудного й заразного, Але той хто хоче - лишається чистим. |
||||||||
|
13.04.2012, 13:58 | #4 (Ссылка на пост) |
Извините, я на тракторе!
Пол:
|
не знаю) топикстартер пишет на нем
я тоже этим увлекался около 3 лет, потом перешел на СИ
__________________
Какая разница из какого места растут руки, если они золотые. |
|
Здесь присутствуют: 1 (пользователей - 0 , гостей - 1) | |
Опции темы | |
|
|