Например TDA7294

Форум РадиоКот • Просмотр темы - PIC16F84A - Proteus vs Реальность
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Пн июл 14, 2025 13:27:15

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


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



Начать новую тему Ответить на тему  [ Сообщений: 25 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: PIC16F84A - Proteus vs Реальность
СообщениеДобавлено: Сб апр 12, 2025 16:41:57 
Родился

Зарегистрирован: Сб сен 28, 2024 16:19:04
Сообщений: 12
Рейтинг сообщения: 0
Всем доброго времени суток.
Решил я тут начать изучать программирование микроконтроллеров PIC и вот с какой проблемой столкнулся.
Написал простейшую мигалку светодиодом для PIC16F84A (есть небольшой опыт в программировании AVR). В протеусе все прекрасно работает, а вот на реальном железе либо не работает вообще, либо светодиод моргает раз в несколько секунд.
Помогите разобраться, что я делаю не так.

Вот код программы. Среда разработки - MPLAB X IDE, компилятор - XC8, программатор - PicKit 3
Код:
/* PIC16F84A
 * Config bits: 3FF1
 * File:   main.c
 * Author: Denis
 * Project: Blink
 * Created on 12.04.2025 */
#include <xc.h>

#define _XTAL_FREQ 4000000

#pragma config FOSC = XT        // Oscillator Selection bits (XT oscillator)
#pragma config WDTE = OFF       // Watchdog Timer (WDT disabled)
#pragma config PWRTE = ON       // Power-up Timer Enable bit (Power-up Timer is enabled)
#pragma config CP = OFF         // Code Protection bit (Code protection disabled)

void main(void)
{
    TRISB &= ~(1<<2); //пин RB2 режим работы - выход
    PORTB &= ~(1<<2); //0 В на пине RB2
    while(1)
    {
        __delay_ms(500); //ждем 0,5 сек
        PORTB ^= (1<<2); //инвертируем значение на пине RB2
    }
    return;
}


Всем спасибо за оказанную помощь.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A - Proteus vs Реальность
СообщениеДобавлено: Сб апр 12, 2025 17:46:43 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Вт фев 28, 2017 08:13:31
Сообщений: 39
Откуда: Свердловская обл.
Рейтинг сообщения: 0
1. А где задан чип в исходнике (#define) ? // ой, да там при компиляции подставляется
2. Лучше бы взял pic16f628a или pic16f690, и то это только для тренировки.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A - Proteus vs Реальность
СообщениеДобавлено: Сб апр 12, 2025 17:53:16 
Родился

Зарегистрирован: Сб сен 28, 2024 16:19:04
Сообщений: 12
Рейтинг сообщения: 0
1. А где задан чип в исходнике (#define) ?

А разве MPLAB IDE этого не делает когда создаешь проект? Там ведь указывается тип контроллера для которого пишется прошивка.
Если MPLAB этого не делает, то тогда это записывается так?
#define <16F84A.h>
Если не прав, поправьте.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A - Proteus vs Реальность
СообщениеДобавлено: Сб апр 12, 2025 17:53:40 
Опытный кот

Зарегистрирован: Вс мар 23, 2025 14:56:55
Сообщений: 700
Рейтинг сообщения: 0
Покажите схему реального железа.


Вернуться наверх
 
Выбираем индустриальные и медицинские источники питания MEAN WELL в открытом исполнении

Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: PIC16F84A - Proteus vs Реальность
СообщениеДобавлено: Сб апр 12, 2025 17:56:10 
Родился

Зарегистрирован: Сб сен 28, 2024 16:19:04
Сообщений: 12
Рейтинг сообщения: 0
Покажите схему реального железа.

Сейчас не могу, все на работе осталось. В понедельник покажу :))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A - Proteus vs Реальность
СообщениеДобавлено: Сб апр 12, 2025 20:09:23 
Сверлит текстолит когтями

Карма: 12
Рейтинг сообщений: 124
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1213
Рейтинг сообщения: 0
Да, есть такая проблемка с Протеусом. Не всё на 100% эмулирует.(
А зачем return? Это к делу не относится.)


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: PIC16F84A - Proteus vs Реальность
СообщениеДобавлено: Сб апр 12, 2025 21:20:30 
Держит паяльник хвостом
Аватар пользователя

Карма: 1
Рейтинг сообщений: 153
Зарегистрирован: Ср окт 04, 2017 20:47:40
Сообщений: 931
Рейтинг сообщения: 0
Denis-1307, вот -
https://микроник.рус/pic16f84a-migaem-svetodiodom/
Да и вообще - данный сайт молча ответит на множество подобных (как у ТС и не только) вопросов. Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A - Proteus vs Реальность
СообщениеДобавлено: Сб апр 12, 2025 22:34:33 
Друг Кота
Аватар пользователя

Карма: 26
Рейтинг сообщений: 773
Зарегистрирован: Сб янв 28, 2006 22:47:24
Сообщений: 5043
Рейтинг сообщения: 0
Denis-1307, данные в порты записывайте через регистры-защелки latch, а не напрямую в порт.

Время выполнения кода смотрите в между точками останова в MPLAB, а не в Протеусе.

_________________
Астролябия-сама меряет, было бы что мерять!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A - Proteus vs Реальность
СообщениеДобавлено: Сб апр 12, 2025 22:43:25 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2918
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23903
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
В понедельник покажу :))

Вы кварц с керамикой на МК, надеюсь, повесили? :)
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A - Proteus vs Реальность
СообщениеДобавлено: Сб апр 12, 2025 23:03:39 
Опытный кот

Зарегистрирован: Вс мар 23, 2025 14:56:55
Сообщений: 700
Рейтинг сообщения: 0
Asmodey, а у этого пика нет регистра-защёлки (я тоже сначала об этом подумал)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A - Proteus vs Реальность
СообщениеДобавлено: Сб апр 12, 2025 23:07:38 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2918
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23903
Откуда: Московская область, Фрязино
Рейтинг сообщения: 1
я тоже сначала об этом подумал

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A - Proteus vs Реальность
СообщениеДобавлено: Сб апр 12, 2025 23:13:40 
Опытный кот

Зарегистрирован: Вс мар 23, 2025 14:56:55
Сообщений: 700
Рейтинг сообщения: 0
Да, уже забываю об этом, спасибо!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A - Proteus vs Реальность
СообщениеДобавлено: Вс апр 13, 2025 02:06:08 
Друг Кота
Аватар пользователя

Карма: 26
Рейтинг сообщений: 773
Зарегистрирован: Сб янв 28, 2006 22:47:24
Сообщений: 5043
Рейтинг сообщения: 0
Asmodey, а у этого пика нет регистра-защёлки
Тем хуже для него. Придется искать причину в какойнить метафизической области. Положим, в отсутствующих блокирующих конденсаторах по питанию.

_________________
Астролябия-сама меряет, было бы что мерять!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A - Proteus vs Реальность
СообщениеДобавлено: Вс апр 13, 2025 02:38:16 
Опытный кот

Зарегистрирован: Вс мар 23, 2025 14:56:55
Сообщений: 700
Рейтинг сообщения: 0
Вот потому я и предложил показать схему. Я грешил на плавающий сброс, КРАМ на кварц, и вот теперь конденсаторы питания... Три мнения об обвязке. Вероятность повышается.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A - Proteus vs Реальность
СообщениеДобавлено: Вс апр 13, 2025 07:55:05 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Вт фев 28, 2017 08:13:31
Сообщений: 39
Откуда: Свердловская обл.
Рейтинг сообщения: 0
А если не читать с порта а хранить в переменной текущее записанное значение? Что-то изменится?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A - Proteus vs Реальность
СообщениеДобавлено: Вс апр 13, 2025 10:14:51 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2918
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23903
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Замените xor на прямой вывод в порт, а xor делайте с переменной в ОЗУ и значение этой переменной выводите в порт.
Но если пин порта у вас не нагружен, то вероятность бага связанного с RMW будет стремится к нулю.
ЗЫ. Есть смутное подозрение, что светодиод у вас висит на пине без балласта... и в этом вся проблема. Тогда RMW в полный рост.
:facepalm:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A - Proteus vs Реальность
СообщениеДобавлено: Вс апр 13, 2025 12:21:28 
Друг Кота
Аватар пользователя

Карма: 26
Рейтинг сообщений: 773
Зарегистрирован: Сб янв 28, 2006 22:47:24
Сообщений: 5043
Рейтинг сообщения: 0
Я грешил на плавающий сброс, КРАМ на кварц, и вот теперь конденсаторы питания...
К слову, без конденсаторов по питанию может и по цепям сброса рандомно помеха пробегать. Два в одном.

_________________
Астролябия-сама меряет, было бы что мерять!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A - Proteus vs Реальность
СообщениеДобавлено: Вс апр 13, 2025 13:29:32 
Родился

Зарегистрирован: Сб сен 28, 2024 16:19:04
Сообщений: 12
Рейтинг сообщения: 0
В понедельник покажу :))

Вы кварц с керамикой на МК, надеюсь, повесили? :)
Изображение

Да, кварц с керамикой на 22 пФ.
Единственное что не делал, так это конденсаторы по питанию. Возможно в них проблема, но проверить смогу только завтра.
Как проверю отпишусь.
Спасибо за советы.

Добавлено after 3 minutes 16 seconds:
Замените xor на прямой вывод в порт, а xor делайте с переменной в ОЗУ и значение этой переменной выводите в порт.
Но если пин порта у вас не нагружен, то вероятность бага связанного с RMW будет стремится к нулю.
ЗЫ. Есть смутное подозрение, что светодиод у вас висит на пине без балласта... и в этом вся проблема. Тогда RMW в полный рост.
:facepalm:

Светодиод подключён через резистор 220 Ом


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A - Proteus vs Реальность
СообщениеДобавлено: Пн апр 14, 2025 10:31:38 
Родился

Зарегистрирован: Сб сен 28, 2024 16:19:04
Сообщений: 12
Рейтинг сообщения: 0
Покажите схему реального железа.


Схема вообще не подает признаков жизни.


Вложения:
IMG_7980_1.jpg [196.88 KiB]
Скачиваний: 25
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A - Proteus vs Реальность
СообщениеДобавлено: Пн апр 14, 2025 11:03:25 
Говорящий с текстолитом

Карма: 25
Рейтинг сообщений: 450
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1633
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Какая надпись на конденсаторах к кварцу? Какая надпись на кварцевом резонаторе? Установите хотя бы один фильтрующий конденсатор. Подключите подтягивающий резистор MCLR к VDD.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 25 ]  1,  

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


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

Сейчас этот форум просматривают: frogling777, Sailanser и гости: 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