реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Не работает код для PIC12F675 из 15 строк, PIC отстой
Vyatsek
сообщение Apr 26 2005, 11:06
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 20
Регистрация: 24-03-05
Пользователь №: 3 637



Подскажите почему не работает следующий код, если кто может
ORG 0x000 ; coding begins here

bcf STATUS, RP0

clrf GPIO
movwf 0x07
movlw CMCON

bsf STATUS, RP0
movwf 0x00
movlw TRISIO

bcf STATUS, RP0

lp:

movwf 0xFF
movlw GPIO
movwf 0x00
movlw GPIO
GOTO lp

END
Go to the top of the page
 
+Quote Post
acex2
сообщение Apr 26 2005, 12:17
Сообщение #2


Адепт
****

Группа: Свой
Сообщений: 520
Регистрация: 15-02-05
Пользователь №: 2 656



Цитата(Vyatsek @ Apr 26 2005, 08:06)
Подскажите почему не работает следующий код, если кто может
                                ORG    0x000            ; coding begins here

  bcf STATUS, RP0 

                clrf GPIO
  movwf 0x07
  movlw CMCON

  bsf STATUS,  RP0 
  movwf 0x00
  movlw TRISIO
 
  bcf  STATUS,  RP0 

lp: 

  movwf 0xFF
  movlw GPIO
  movwf 0x00
  movlw GPIO
  GOTO lp

END
*



Как минимум, не настроен ANSEL. Кстати, для очистки регистра можно использовать команду clrf, например clrf TRISIO.
Go to the top of the page
 
+Quote Post
Vyatsek
сообщение Apr 26 2005, 12:28
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 20
Регистрация: 24-03-05
Пользователь №: 3 637



Цитата
Кстати, для очистки регистра можно использовать команду clrf,

там стоит так чтобы не переписывать команду а просто менять значение которое записывается в TRISIO.
Go to the top of the page
 
+Quote Post
Algol
сообщение Apr 27 2005, 08:55
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 140
Регистрация: 7-04-05
Из: Россия, Владимир
Пользователь №: 3 941



Сразу бросилось в глаза...ошибка по невнимательности, у меня один раз тож такой баг был...

Цитата
movwf 0x07
movlw CMCON


По логике вы хотите записать 0х07 в CMCON, только посмотрите внимательно, вы перепутали команды местами.
У вас выполняется
запись W->0x07
содержимое CMCON->W
Хотя по логике нужно
константа 0х07->W
содержимое W->CMCON
Таким образом, правильно будет написать
movlw 0x07
movwf CMCON
PS: ниже по ходу программы нужно все поправить по аналогии!
Go to the top of the page
 
+Quote Post
Vyatsek
сообщение Apr 28 2005, 11:13
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 20
Регистрация: 24-03-05
Пользователь №: 3 637



Спасибо за подсказку сказываются команды другого ассемблера smile.gif)
Go to the top of the page
 
+Quote Post
Vyatsek
сообщение Apr 28 2005, 11:34
Сообщение #6


Участник
*

Группа: Новичок
Сообщений: 20
Регистрация: 24-03-05
Пользователь №: 3 637



теперь прога имеет вид:
__CONFIG _INTRC_OSC_NOCLKOUT

ORG 0x000 ; coding begins here

bcf STATUS, RP0
clrf GPIO
movlw 0x07
movwf CMCON
bsf STATUS, RP0
movlw 0x00
movwf TRISIO
clrf ANSEL

bcf STATUS, RP0

lp:
movlw 0xFF
movwf GPIO

movlw 0x00
movwf GPIO
GOTO lp

END
работает в симуляторе, но порт контроллера молчит............может еще что-то?? питание есть и директива указывает на внутреннюю ЭР ЦЭ - цепочку
Go to the top of the page
 
+Quote Post
Algol
сообщение Apr 28 2005, 14:48
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 140
Регистрация: 7-04-05
Из: Россия, Владимир
Пользователь №: 3 941



Сразу оговрюсь что сужу по 16-й серии PIC, но думаю здесь все аналогично...
Первое, что может быть, срабатываение сторожевой собачки WDT каждые 18 мс, что сбрасывает МК...так что отключите ее нафиг, если еще не отключили.
Второе, в схеме у вас MCLR на плюс питания подтянут через резистор? Если нет, то МК в состоянии сброса всегда!!!
Go to the top of the page
 
+Quote Post
Vyatsek
сообщение Apr 29 2005, 08:29
Сообщение #8


Участник
*

Группа: Новичок
Сообщений: 20
Регистрация: 24-03-05
Пользователь №: 3 637



Да спасибо без вэ дэ работает когда запаял резюк...........но по идее я его настраивал как выход............по этому думал что не надо, надо еще почитать, спасибо за совет.........
Go to the top of the page
 
+Quote Post
Andrey_M
сообщение May 2 2005, 18:37
Сообщение #9


Участник
*

Группа: Свой
Сообщений: 56
Регистрация: 11-03-05
Из: Подмосковье
Пользователь №: 3 260



Цитата(Vyatsek @ Apr 29 2005, 11:29)
Да спасибо без вэ дэ работает когда запаял резюк...........но по идее я его настраивал как выход............по этому думал что не надо, надо еще почитать, спасибо за совет.........
*



Если вход MCLR не используется не забудь повесить на него кондерчик примерно 1 нФ тогда помехи не будут беспокоить даже сильные. А вообще это хороший PIC только он очень богат регистрами и тем сложен но если все настроить то работает отлично. excl.gif
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 9th July 2025 - 21:04
Рейтинг@Mail.ru


Страница сгенерированна за 0.0141 секунд с 7
ELECTRONIX ©2004-2016