PIC с нуля

Поклонники продукции Microchip Technology Inc тусуются тут.
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: PIC с нуля

Сообщение oleg110592 »

а кварц какой на плате стоит? Может надо #pragma config FOSC=XT.
Аватара пользователя
Kotto
Опытный кот
Сообщения: 795
Зарегистрирован: Чт ноя 08, 2012 22:28:05
Откуда: Ижевск
Контактная информация:

Re: PIC с нуля

Сообщение Kotto »

Кварц левый какой то, поставил что было, на 4,5 МГц, грешил на него пока не залил прогу с того не понятного компилятора и она заработала. Значит с железом все норм. Но попробую сейчас XT
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: PIC с нуля

Сообщение Zhuk72 »

Хекс сбросьте сюда. С задержкой 1000.
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Аватара пользователя
Kotto
Опытный кот
Сообщения: 795
Зарегистрирован: Чт ноя 08, 2012 22:28:05
Откуда: Ижевск
Контактная информация:

Re: PIC с нуля

Сообщение Kotto »

#include <xc.h>
#ifndef _XTAL_FREQ
// Unless already defined assume 4MHz system frequency
// This definition is required to calibrate __delay_us() and __delay_ms()
#define _XTAL_FREQ 4000000
#endif
#pragma config BOREN=ON
#pragma config WDTE=OFF
#pragma config PWRTE=ON
#pragma config FOSC=HS

#define knopka RB4
#define diod RB0

void podgot (void)
{
ADCON1 = 0b00000110;
TRISA = 0b00000000;
TRISB = 0b00010000;
PORTA = 0;
PORTB = 0;
nRBPU = 0;
}
void main (void)
{
podgot ();
while (1)
{
diod = 1;
_delay (1000);
diod = 0;
_delay (1000);
}
}

Вот программка

А вот хекс
PIC16F72.X.production.rar
(245 байт) 246 скачиваний
Аватара пользователя
Kotto
Опытный кот
Сообщения: 795
Зарегистрирован: Чт ноя 08, 2012 22:28:05
Откуда: Ижевск
Контактная информация:

Re: PIC с нуля

Сообщение Kotto »

while (1)
{
diod = 1;
__delay_ms (1000);
diod = 0;
__delay_ms (1000);
}

PIC16F72.X.production.rar
(263 байт) 251 скачивание
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: PIC с нуля

Сообщение oleg110592 »

"залил" свой hex в протеус, в PIC16F877 (нет там PIC16F72). Думал не будет работать, а работает - на ноге RA0 есть мигание. Должно бы и в железе работать.
Аватара пользователя
Kotto
Опытный кот
Сообщения: 795
Зарегистрирован: Чт ноя 08, 2012 22:28:05
Откуда: Ижевск
Контактная информация:

Re: PIC с нуля

Сообщение Kotto »

ну не работает и все тут, хоть что делай. А вот этот хекс
111.hex
(509 байт) 467 скачиваний

работает. Он другим компилятором создан как демка, PCW


Я свой хекс залил в 877й на протеусе, работает :))) В железе нет :cry:
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: PIC с нуля

Сообщение Zhuk72 »

Дизассемблировал 2-й хекс (который 263 байта), после обработки получилось такое (мигающий кусок):
Спойлер

Код: Выделить всё

flash
      bsf      PORTB,0
      call   delay
      bcf      PORTB,0
      call   delay
      goto   flash
flash
      movlw   0x06      ; .6   ' '   b'00000110'
      movwf   0x42
      movlw   0x13      ; .19   ' '   b'00010011'
      movwf   0x41
      movlw   0xB1      ; .177   'Я'   b'10110001'
      movwf   0x40
loop
      decfsz   0x40,F
      goto   loop
      decfsz   0x41,F
      goto   loop
      decfsz   0x42,F
      goto   loop
      return

Проверил задержку, действительно, 1 секунда. Должно работать.
Значит надо проверять инициализацию портов. Может там что-то не то.
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: PIC с нуля

Сообщение dosikus »

Zhuk72 писал(а):то хорошо, признаюсь, что я выразился неоднозначно. Какая разница как выразиться.


— Вот потому, что вы говорите то, что не думаете и думаете то, что не думаете,
(с)

Этот не придирки , в технике не может быть неоднозначности ...


oleg110592 писал(а): Может надо #pragma config FOSC=XT.

От 4МГц и выше - HS ...
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: PIC с нуля

Сообщение Zhuk72 »

Попробуйте этот хекс:
F72_test.X.production.rar
(233 байт) 232 скачивания
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Аватара пользователя
Kotto
Опытный кот
Сообщения: 795
Зарегистрирован: Чт ноя 08, 2012 22:28:05
Откуда: Ижевск
Контактная информация:

Re: PIC с нуля

Сообщение Kotto »

Все, доигрался ) умер программатор :cry: Поток глупых вопросов приостановлю до починки )
Аватара пользователя
Rediska
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Сб окт 30, 2010 09:31:51

Re: PIC с нуля

Сообщение Rediska »

Почему в дебаге не переключается ножка RA0? Простейший код, в железе работает (PIC16F886), а в дебаге как ни тыркаюсь, состояние выхода не меняется
Делеи закамментил, чтоб не мешали дебагом щёлкать.

Изображение

Добавлено after 1 hour 36 seconds:
Переписал чтоб двигалась ещё 4 нога, она работает, а нулевая нет. Видимо, её что-то перекрывает, а вот что, дотумкать не могу. И почему в жизни работает этот hex, а в симуляторе нет?

Изображение

Добавлено after 5 minutes 43 seconds:
UPD: Разобрался немного, ногу надо перенастроить, она идёт как ADC, а чтобы работала на выход, надо сбросить бит ANSEL:ANS0. Однако, вопроса, почему работает в железе и не работает в симуляторе это не снимает.
бит ANSEL:ANS4 не влияет на работу ноги RA4, а ANSEL:ANS0 переключает ногу в аналоговый режим и она перестаёт реагировать в симуляторе.
phalanx
Нашел транзистор. Понюхал.
Сообщения: 158
Зарегистрирован: Сб апр 24, 2021 18:42:11

Re: PIC с нуля

Сообщение phalanx »

[uquote="Rediska",url="/forum/viewtopic.php?p=4223235#p4223235"]...Однако, вопроса, почему работает в железе и не работает в симуляторе это не снимает...[/uquote]
Мля, а такое простое допущение, что Ваш симулятор полная ху@та, Вам в голову не приходило??? Вам, если-бы Вы хоть что-то умели, я порекомендовал-бы "Страничку Пиза" почитать. И на кой хрен Вы здесь выкладываете свой вольный перевод официальной документации? Полагаете, что кому-то пригодится? Все там работает, как написано, у всех, кроме, разумеется, Вас.
Аватара пользователя
Rediska
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Сб окт 30, 2010 09:31:51

Re: PIC с нуля

Сообщение Rediska »

[uquote="phalanx",url="/forum/viewtopic.php?p=4223495#p4223495"][uquote="Rediska",url="/forum/viewtopic.php?p=4223235#p4223235"]...Однако, вопроса, почему работает в железе и не работает в симуляторе это не снимает...[/uquote]
Мля, а такое простое допущение, что Ваш симулятор полная ху@та, Вам в голову не приходило??? Вам, если-бы Вы хоть что-то умели, я порекомендовал-бы "Страничку Пиза" почитать. И на кой хрен Вы здесь выкладываете свой вольный перевод официальной документации? Полагаете, что кому-то пригодится? Все там работает, как написано, у всех, кроме, разумеется, Вас.[/uquote]

Нервы проще беречь, чем кнопки давить с такой ненавистью.
Симулятор самый что ни на есть трушный из доступных, MPLAB X, трушнее уже некуда.
Про перевод вообще непонятно, о чём вы тут испражняетесь.
Мне пригодится, и тема вроде как новичковая, откуда столько прыти, непонятно.
Аватара пользователя
НовыйДень
Потрогал лапой паяльник
Сообщения: 362
Зарегистрирован: Вс апр 03, 2022 07:01:29

Re: PIC с нуля

Сообщение НовыйДень »

почему работает в железе и не работает в симуляторе это не снимает
Насколько помню (давно то было, лет 10 назад), и в железе тоже будет некорректно работать, не во всех случаях правильно.
По крайней мере, симулятор (связка MPLab и Proteus) в принципе то довольно точно показывал поведение микроконтроллра, за исключением тех ограничений, которые были описаны в мануале к нему. И чаще случалось наоборот - в симуляторе работает, а в железе - как-то не так. Но и то редко.
Последний раз редактировалось НовыйДень Чт апр 28, 2022 19:08:49, всего редактировалось 1 раз.
Ответить

Вернуться в «PIC»