Например TDA7294

Форум РадиоКот • Просмотр темы - Не работает мигалка на P12F683
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Ср авг 13, 2025 23:14:18

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 5 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Не работает мигалка на P12F683
СообщениеДобавлено: Пт сен 17, 2010 13:33:44 
Сверлит текстолит когтями
Аватар пользователя

Зарегистрирован: Сб июл 11, 2009 18:42:21
Сообщений: 1135
Откуда: Украина, г.Николаев
Рейтинг сообщения: 0
Добрый день!
Подобную прогу сперва написал для ПИКа18Ф4550 - там всё работает. Мне скинули проверенный конфиг... Потом решил выродить такое же для ПИКа 12Ф683. И ничего. Прога горящеко светика работает без проблем. Даже без конфига. А мигалка чего-то отказывается(я думаю дело в конфиге). В дебаггере всё проходит нормально, задержки работают.
Вот выкладываю текст своего творчества(текстом и ассемблером для удобства).
Надеюсь, кто-то поможет с рабочим конфигом. Пытался сам написать - но там пару сотен директив и я просто не знаю что от туда брать. Да и желания особого нет разбираться. Нужен просто рабочий конфиг и всё.

Цитата:
list p=12f683
#include "p12f683.inc"
__CONFIG _FCMEN_OFF & _IESO_OFF & _BOD_ON & _CPD_OFF & _CP_OFF & _MCLRE_OFF & _PWRTE_ON & _WDT_ON & _INTOSCIO
;конфиг скопировал из папки МПлаб. что он значит без понятия.
delcntrl equ 20; присвоить ячейке 20(банк №0)
zhopa equ 21; присвоить ячейке 21
gokovo equ 22; присвоить ячейке 22
;................
org 0x00; начать с 0

movlw b'11111011';запись в аккумулятор
bsf STATUS,RP0; выбор банка №1 для работы с ТРИСИО
movwf TRISIO; установить разряд 2 порта на выход
movlw 0x00; очистить аккумулятор
bcf STATUS,RP0; выбрать банк №0 для работы с портами(см ниже)

;////////////главный цикл

Kavoga
bsf GPIO,GP2; включить GP2
a ;метка
call delay; вызов подпрограммы задержки
movlw D'200'; записать десятичное 200
movwf zhopa; записать 200 в ячейку zhopa
decfsz zhopa,1; вычесть из ячейки zhopa единицу 199 раз.
;потом перепрыгнуть 1 команду
goto a ; переход на метку а(вызов подпрограммы задержки 199 раз)
bcf GPIO,GP2; выключить GP2
boo ;метка
call delay; вызов подпрограммы задержки
movlw 0x00; очистить аккумулятор
movlw D'200'; записать дес. 200
movwf gokovo; записать дес. 200 в ячейку gokovo
nop; пропуск команды
nop
nop
nop
nop
decfsz gokovo,1; ычесть из ячейки gokovo единицу 199 раз.
;потом перепрыгнуть 1 команду
goto boo; переход на меткку boo
goto Kavoga; переход на начало цикла.
;//////////

delay; подпрограмма задержки
movlw 0x00; очистить аккумулятор
movlw D'250' ;записать в аккумулятор дестичное 250
movwf delcntrl ; записать 250 в ячейку delcntrl
del ;цикл задержики
NOP; пропуск команды
NOP
nop
nop
decfsz delcntrl,1 ; счётчик. отнимать 1 от 250. когда результат=0 - перепрыгнуть 1
goto del; переход на метку del(249 раз)
return; возврат из подпрограммы
end; зе енд.


Вложения:
Комментарий к файлу: БЛОКНОТИК
avoga.asm [1.79 KiB]
Скачиваний: 317

_________________
Успех - императив!
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Не работает мигалка на P12F683
СообщениеДобавлено: Пт сен 17, 2010 16:09:26 
Сверлит текстолит когтями
Аватар пользователя

Карма: 22
Рейтинг сообщений: 81
Зарегистрирован: Пн дек 08, 2008 10:58:48
Сообщений: 1262
Откуда: Винница
Рейтинг сообщения: 0
Roman Venom писал(а):
В дебаггере всё проходит нормально, задержки работают.
Вот выкладываю текст своего творчества(текстом и ассемблером для удобства).
Надеюсь, кто-то поможет с рабочим конфигом. Пытался сам написать - но там пару сотен директив и я просто не знаю что от туда брать. Да и желания особого нет разбираться. Нужен просто рабочий конфиг и всё.

Разрешите не поверить. :)
a ;метка
call delay; вызов подпрограммы задержки
movlw D'200'; записать десятичное 200
movwf zhopa; записать 200 в ячейку zhopa
decfsz zhopa,1; вычесть из ячейки zhopa единицу 199 раз.
;потом перепрыгнуть 1 команду
goto a ; переход на метку а(вызов подпрограммы задержки 199 раз)
bcf GPIO,GP2; выключить GP2 --------вот сюда оно никогда не перейдет, потому что Вы постоянно пишете число 200 в цикле
нужно так
bsf GPIO,GP2; выключить GP2
movlw D'200'; записать десятичное 200
movwf zhopa; записать 200 в ячейку zhopa
;----------
a ;метка
call delay; вызов подпрограммы задержки
decfsz zhopa,1; вычесть из ячейки zhopa единицу 199 раз.
;потом перепрыгнуть 1 команду
goto a ; переход на метку а(вызов подпрограммы задержки 199 раз)
bcf GPIO,GP2; включить GP2
;----------
И отключите собаку в конфиге, Вы ее не сбрасываете нигде.WDT_OFF


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Не работает мигалка на P12F683
СообщениеДобавлено: Пт сен 17, 2010 20:23:27 
Сверлит текстолит когтями
Аватар пользователя

Зарегистрирован: Сб июл 11, 2009 18:42:21
Сообщений: 1135
Откуда: Украина, г.Николаев
Рейтинг сообщения: 0
соглсен. я дурак! Сам нашёл ошибку... Хотел сейчас выложить исправленную версию кода... Жаль что вам пришлось исправлять.
вот:
Цитата:
list p=12f683
#include "p12f683.inc"
__CONFIG _FCMEN_OFF & _IESO_OFF & _BOD_ON & _CPD_OFF & _CP_OFF & _MCLRE_OFF & _PWRTE_ON & _WDT_ON & _INTOSCIO
;конфиг скопировал из папки МПлаб. что он значит без понятия.
delcntrl equ 20; присвоить ячейке 20(банк №0)
zhopa equ 21; присвоить ячейке 21
gokovo equ 22; присвоить ячейке 22
;................
org 0x00; начать с 0
goto main

delay; подпрограмма задержки
movlw D'250' ;записать в аккумулятор дестичное 250
movwf delcntrl ; записать 250 в ячейку delcntrl
del ;цикл задержики
NOP; пропуск команды
NOP
nop
nop
decfsz delcntrl,1 ; счётчик. отнимать 1 от 250. когда результат=0 - перепрыгнуть 1
goto del; переход на метку del(249 раз)
return; возврат из подпрограммы

;***********MAIN*************
main
movlw b'11111011';записть в аккумулятор
bsf STATUS,RP0; выбор банка №1 для работы с ТРИСИО
movwf TRISIO; установить разряд 2 порта на выход
movlw 0x00; очистить аккумулятор
bcf STATUS,RP0; выбрать банк №0 для работы с портами(см ниже)

;////////////главный цикл

Kavoga
bsf GPIO,GP2; включить GP2
movlw D'200'; записать десятичное 200
movwf zhopa; записать 200 в ячейку zhopa
a ;метка
call delay; вызов подпрограммы задержки
decfsz zhopa,1; вычесть из ячейки zhopa единицу 199 раз.
;потом перепрыгнуть 1 команду
goto a ; переход на метку а(вызов подпрограммы задержки 199 раз)

bcf GPIO,GP2; включить GP2
movlw D'200'; записать дес. 200
movwf gokovo; записать дес. 200 в ячейку gokovo
boo ;метка
call delay; вызов подпрограммы задержки
nop; пропуск команды
nop
nop
nop
nop
decfsz gokovo,1; ычесть из ячейки gokovo единицу 199 раз.
;потом перепрыгнуть 1 команду
goto boo; переход на меткку boo
goto Kavoga; переход на начало цикла.
;//////////

end; зе енд.



Теперь другой прикол. Светик мигает ровно пару секунд, пото оч. быстро несколько раз. потом опять... Да, прога работает, но как-то странно.
При отладки с пом. программатора ПИКИТ2 выдаёт вот такое:
Цитата:
NOTE: This device requires an ICD Header for debug. See "Header Specification" DS51292.



Чё делать?

_________________
Успех - императив!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Не работает мигалка на P12F683
СообщениеДобавлено: Пт сен 17, 2010 20:28:00 
Сверлит текстолит когтями
Аватар пользователя

Карма: 22
Рейтинг сообщений: 81
Зарегистрирован: Пн дек 08, 2008 10:58:48
Сообщений: 1262
Откуда: Винница
Рейтинг сообщения: 0
внимательно прочитать мой предыдущий пост - не включать собаку
_CONFIG _FCMEN_OFF & _IESO_OFF & _BOD_ON & _CPD_OFF & _CP_OFF & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF& _INTOSCIO


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Не работает мигалка на P12F683
СообщениеДобавлено: Пт сен 17, 2010 21:19:06 
Сверлит текстолит когтями
Аватар пользователя

Зарегистрирован: Сб июл 11, 2009 18:42:21
Сообщений: 1135
Откуда: Украина, г.Николаев
Рейтинг сообщения: 0
действительно... Огромное спасибо!

_________________
Успех - императив!


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y