Решил я тут начать изучать программирование микроконтроллеров 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;
}
Всем спасибо за оказанную помощь.
