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

 
 
> Программатор Extra Pic v2.0, Ошибка при прошивке программой WinPic800
gosenergo
сообщение Apr 17 2011, 14:59
Сообщение #1


Участник
*

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



Всем доброго дня, обращаюсь ко всем форумчанам за помощью. Написал программу для управления работой воздушного компрессора с однофазным двигателем (с пусковой обмоткой), все бы хорошо но никак не могу прошить PIC16F84А программатором Extra Pic v2.0 все время выскакивает ошибка

Вот такой вот программатор
Прикрепленное изображение


Использую программу WinPic800.
Далее выкладываю все что должно Вам помочь в поиске моей ошибки.

Текст программы Прикрепленный файл  __________________________asm_hex.rar ( 7.88 килобайт ) Кол-во скачиваний: 365


Скрин ошибки
Прикрепленное изображение


Убедительная просьба, если у кого-нибудь есть под рукой PIC16F84A попробуйте его прошить моими файлами, потому как может мой PIC неправильный, или программатор не работает, или программа тупит, или ... Вообщем задавайте вопросы буду отвечать. Это мой первый опыт в прошивке, и неудачный((( надеюсь на Вас.. Все заранее спасибо.

Сообщение отредактировал gosenergo - Apr 17 2011, 16:40
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
gosenergo
сообщение Apr 22 2011, 22:21
Сообщение #2


Участник
*

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



Начал поиск ошибки неработоспособности девайса с текста программы. И проверяя работу программы в симуляторе MPLAB 8.50 заметил такую вещь - в самом начале работы программы непонятно для меня почему, но значение аккумулятора WREG (SFR NAME) изменяется с 00, на FF, и так далее на уменьшение, хотя по тексту программы аккумулятор не используется. Посмотрите на скрины! ответе, это нормально? Скрины выкладываю в порядке исполнения команд.
Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Apr 23 2011, 21:13
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(gosenergo @ Apr 23 2011, 01:21) *
Начал поиск ошибки неработоспособности девайса с текста программы. И проверяя работу программы в симуляторе MPLAB 8.50 заметил такую вещь - в самом начале работы программы непонятно для меня почему, но значение аккумулятора WREG (SFR NAME) изменяется с 00, на FF, и так далее на уменьшение, хотя по тексту программы аккумулятор не используется. Посмотрите на скрины! ответе, это нормально? Скрины выкладываю в порядке исполнения команд.

Неа, ненормально. бред какой-то. такое ощущение, что отладчик совсем что-то другое показывает. Поглядел ваш код в мплабе.

0. Первое правило(и на асме и на си): вы должны четко понимать, почему компилятор выдал предупреждение (warning). Норма- полное отсутствие варнингов на программе любой длины. В исключительных случаях они должны быть задокументированы (Типа "тут компилятор ругается на строку номер хх, но это нормально и вызваноо тем-то и тем-то")

1. варнинги такие, что их впору ошибками назвать:
Код
Warning[202] C:\MY_JOB\TEST\PIC\TURBO.ASM 73 : Argument out of range.  Least significant bits used.
Warning[202] C:\MY_JOB\TEST\PIC\TURBO.ASM 75 : Argument out of range.  Least significant bits used.
Warning[202] C:\MY_JOB\TEST\PIC\TURBO.ASM 89 : Argument out of range.  Least significant bits used.
Warning[202] C:\MY_JOB\TEST\PIC\TURBO.ASM 91 : Argument out of range.  Least significant bits used.
Warning[202] C:\MY_JOB\TEST\PIC\TURBO.ASM 108 : Argument out of range.  Least significant bits used.
Warning[202] C:\MY_JOB\TEST\PIC\TURBO.ASM 113 : Argument out of range.  Least significant bits used.
Warning[202] C:\MY_JOB\TEST\PIC\TURBO.ASM 115 : Argument out of range.  Least significant bits used.

Причина везде одинакова:
Код
zum0            movlw           255h          ;Записать константу 255 в аккумулятор (w).

если вы написали "h", то это 16-ричное число, а если хотите десятичное то советую .255 писать. А из записи 255h компилятор успешно загрузил 55h.
Точка перед числом укажет на ее десятичность. Кстати не советую на формат "по умолчанию" надеяться, лучше все-таки все держать под контролем.

2. советую смотреть отладку в окне View->Disassembly Listing. Там слева показано, во что именно ваш код был скомпилирован, подобные вышеприведенным ошибкам сразу видны становяться, например:
Код
   013    3054     MOVLW 0x54                     75:    zum1            movlw           254h          ;Записать константу 254 в аккумулятор (w).


пофиксил ваш код на эти ошибки, заодно и предположил что остальные константы тоже были в девичестве десятичными, из тож пофиксил.

3. Если применяете двоичную константу, то ее можно прямо в двоичном виде писать, вам удобнее а компилятору все равно. то есть строку
Код
        movlw           192h;Формирование на выводах RB5, RB6 логической 1.  Записать константу 192 (1100000) в аккумулятор (w).

предлагаю изменить на
Код
movlw           b'01100000'

4. У меня ничего похожего на ваше с аккумулятором не происходит. Ведет он себя как и должно хорошо воспитанному аккумулятору, меняется только согласно указаниям программы. Прикрепляю архив с проектом, может найдете где у вас что не так.(использовал MPLAB IDE 8.63)
Прикрепленный файл  PIC.ZIP ( 13.84 килобайт ) Кол-во скачиваний: 131

Конфиг у вас некорректный. Тут можно быстро посмотреть в мплабе: Configure-> Configuration bits.
Я вижу что "WDT disabled", а судя по тексту в коде вы его хотели включить.

Про конфиг можете в документации на контроллер посмотреть, в конце обычно есть посвященный этому раздел. Не найдете- спрашивайте.

P.S. Ну а может теперь работает? я дальше не смотрел..............
Go to the top of the page
 
+Quote Post
gosenergo
сообщение Apr 24 2011, 04:53
Сообщение #4


Участник
*

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



Цитата(Ruslan1 @ Apr 24 2011, 00:13) *
Конфиг у вас некорректный. Тут можно быстро посмотреть в мплабе: Configure-> Configuration bits.
Я вижу что "WDT disabled", а судя по тексту в коде вы его хотели включить.


Извините, а как Вы увидели что конфиг не корректный по тексту? У меня по задумке он должен быть отключен, и в Configuration bits в мплабе он тоже как отключенный значится.

За остальное, огромное спасибо..Ухожу осмысливать и менять значения на двоичные...

Кстати, что касается синтаксиса вот эти кавычки с двух сторон b'00100010' правильно набирать в английской раскладке одинарным нажатием?
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Apr 24 2011, 10:56
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(gosenergo @ Apr 24 2011, 07:53) *
Извините, а как Вы увидели что конфиг не корректный по тексту? У меня по задумке он должен быть отключен, и в Configuration bits в мплабе он тоже как отключенный значится.

ну, у вас в комментариях в тексте программы написано:
Код
        __config        03ff1h         ;Установка битов конфигурации:
                    ;стандартный ХТ-генератор, WDT включен, бит защиты не установлен,
                    ;PWRT включен (1111 0101).

Я ж не телепат, у вас в тексте написано "WDT включен", или это комментарии для шпиенов, которые могут исходник украсть sm.gif
Цитата
За остальное, огромное спасибо..Ухожу осмысливать и менять значения на двоичные...

Огромное пожалуйста sm.gif Не меняйте все, используй те системы счисления, которые удобны именно вам именно в этом месте, компилятору все равно.
Цитата
Кстати, что касается синтаксиса вот эти кавычки с двух сторон b'00100010' правильно набирать в английской раскладке одинарным нажатием?

хм... не понял вопроса, наверное это может от редактора и настроек винды зависеть. Я нажимаю кнопку "э" в латинском регистре, получаю " ' "
Это просто текстовый файл, компилятору все равно как эти символы в файл попали.
Go to the top of the page
 
+Quote Post
gosenergo
сообщение Apr 24 2011, 20:52
Сообщение #6


Участник
*

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



Цитата(Ruslan1 @ Apr 24 2011, 13:56) *
Я ж не телепат, у вас в тексте написано "WDT включен", или это комментарии для шпиенов, которые могут исходник украсть sm.gif


да действительно было так написано((( но это ошибка в примечании.

Значит отчитываюсь: ранее я писал что зумер издавал двух тональный сигнал, так вот после замены всех значений в тексте программы на двоичные числа, этот баг пропал. Сейчас как задумано идут трехкратные одно тональные пик-пик-пик))) Как бы уже лучше, но теперь следующий возникает вопрос: при составление программы я подбирал временные интервалы по секундомеру встроенному в MPLAB, добился точного 3х секундного интервала, а вот на реальной плате эта выдержка составляет порядка 6-7 секунд, почему такой большой разброс получается?

Во общем можно подводить итоги, мои мучения закончились, все получилось все работает. Итак, на будущее, если вдруг кто-то задумает смастерить воздушный компрессор с однофазным конденсаторным двигателем и столкнется с проблемой автоматики работы, в части запуска двигателя, отключения и включения по давлению, обращайтесь. поделюсь схемой, печатной платой, текстом программы на PIC16F84A ну и т.д.

Всем большое спасибо кто не стоял в стороне и пытался помочь, особую благодарность выражаю форумчанину Ruslan1.

Админ, поправь пожалуйста всю ветку, убери что посчитаешь лишним...

Сообщение отредактировал gosenergo - Apr 24 2011, 20:44
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- gosenergo   Программатор Extra Pic v2.0   Apr 17 2011, 14:59
- - gosenergo   И еще, объясните пожалуйста - если даже в пик заль...   Apr 17 2011, 16:37
|- - Ruslan1   Цитата(gosenergo @ Apr 17 2011, 19:37) И ...   Apr 17 2011, 20:47
- - gosenergo   Во общем проверил как вы говорили, действительно п...   Apr 18 2011, 07:19
- - gosenergo   ПРоблема решена с помощью программы IC Prog ...   Apr 18 2011, 18:39
- - atmicandr1   Замена программной оболочки с WinPic800 на ICProg ...   Apr 19 2011, 05:14
- - sargein   еще лучше попробовать программу picpgm, у меня под...   Apr 19 2011, 06:25
|- - atmicandr1   Цитата(sargein @ Apr 19 2011, 11:25) еще ...   Apr 19 2011, 07:30
- - gosenergo   ВОт еще беда приключилась(( Прошить то прошил, но ...   Apr 19 2011, 18:47
|- - Ruslan1   Цитата(gosenergo @ Apr 19 2011, 21:47) Мо...   Apr 19 2011, 20:58
|- - gosenergo   Цитата(Ruslan1 @ Apr 19 2011, 23:58) Кста...   Apr 20 2011, 05:47
|- - atmicandr1   Цитата(gosenergo @ Apr 20 2011, 11:47) А ...   Apr 20 2011, 06:11
- - sargein   Тут имеется ввиду правильно ли у вас задана конфиг...   Apr 20 2011, 06:14
|- - Ruslan1   Цитата(sargein @ Apr 20 2011, 09:14) Тут ...   Apr 20 2011, 08:15
|- - Ruslan1   Цитата(gosenergo @ Apr 24 2011, 23:52) сл...   Apr 24 2011, 21:23
- - gosenergo   Народ!! на этом форуме есть толковые парни...   Apr 23 2011, 19:03


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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 03:05
Рейтинг@Mail.ru


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