Программируем pic16f73, pic16f74, pic16f76, pic16f77 на самодельном простом jdm программаторе – 5 проводков.
Инструкцию (даташит) по микроконтроллерам pic16f73, pic16f74, pic16f76, pic16f77 можно скачать – здесь.
1. Микроконтроллер PIC16F73
Вот такой микроконтроллер – PIC16F73 – обнаружил в схеме старого электрического счетчика – это микроконтроллер 8-Бит, PIC, 20МГц, 7КБ (4Кx14) Flash, c АЦП, 22 I/O [DIP-28]
Схему программатора брал с предыдущей моей записи: “https://gameforstreet.ru/pic-jdm-prostejshij-programmator-dlya-pic-mk/”
Схема программатора для него будет следующая:
В электросчетчике к ней был ещё прикреплён кварц на 4МГц – поэтому в программаторе к ножкам 9 и 10 присоединил и его. Но если микросхема новая, то программируем без кварца.
Скачать inc файл для создания hex файла из asm для Pic16f73 – скачать:
-Pic16f73.inc в zip архиве
-Pic16f73.inc в tar.gz архиве.
1.1. Зажигаем светодиоды на Pic16f73
Простая программа на ассемблере – на порте С светодиоды будут гореть через один. То есть светодиоды, подключённые к ножкам 11 (RC0), 13 (RC2), 15 (RC4), 17 (RC6) – будут гореть, а светодиоды на ножках 12 (RC1), 14 (RC3), 16(RC5), 18(RC7) – светиться не будут – это задаётся следующей строчкой movlw b’01010101′ (соответственно ножки стоят так: сRC7 RC6 RC5 RC4 RC3 RC2 RC1 RC0) – значение 1 – светодиод на ножке светиться, а 0 – нет.
Схема подключения:
, кварц от 4 МГц до 20 МГц (так как поставил _HS_OSC) – внутренний резонатор поставить нельзя, так как в файле inc такой команды – нет, значит и его использовать – нельзя.
– конденсаторы по инструкции (даташит) – берутся для не керамического кварца следующие
То есть по 15 пФ, но я взял по 20 пФ, думаю можно в диапазоне 15-47 пФ.
INCLUDE <P16F73.INC>
ERRORLEVEL -302
__CONFIG _HS_OSC & _WDT_OFF & _PWRTE_OFF & _CP_OFF & _BODEN_OFF
org 0
Start
BCF STATUS,RP0 ; select bank 0
CLRF PORTA ; porta=0
BSF STATUS,RP0 ; select bank 1
movlw b'00001000'
movwf TRISA
CLRF TRISC ; make PORTC pins all output
BCF STATUS,RP0 ; select bank 0
movlw b'01010101'
movwf PORTC ; set portc pins equal to 0
end
Скачать файлы hex asm inc для прошивки контроллера PIC16F73 :
– в формате zip.
– в формате tar.gz
1.2. Мигаем светодиодами на Pic16f73
Скачать файлы inc, asm, hex, c для мигания светодиодами на Pic16f73:
– в формате zip
– в формате tar.gz
Код на ассемблере (asm), светодиод будет мигать на ножках PORTA, то есть ножки со 2 по 7 (RA0-RA5):
INCLUDE <P16F73.INC>
ERRORLEVEL -302
__CONFIG _HS_OSC & _WDT_OFF & _PWRTE_OFF & _CP_OFF & _BODEN_OFF
Reg_1 EQU 22
Reg_2 EQU 23
Reg_3 EQU 24
org 0
Start
BCF STATUS, RP0 ;
BCF STATUS, RP1 ; Bank0
CLRF PORTA ; Initialize PORTA by
BSF STATUS, RP0 ; Select Bank 1
MOVLW 0x07 ; Configure all pins
MOVWF ADCON1 ; as digital inputs
MOVLW 0x00
MOVWF TRISA
BCF STATUS,RP0 ; select bank 0
movlw b'00000000'
movwf PORTA ; set portc pins equal to 0
loop
movlw b'11111111'
movwf PORTA
call Pause
movlw b'00000000'
movwf PORTA
call Pause
goto loop
Pause
movlw 0x173
movwf Reg_1
movlw 0x19
movwf Reg_2
movlw 0x6
movwf Reg_3
wr
decfsz Reg_1, 1
goto wr
decfsz Reg_2, 1
goto wr
decfsz Reg_3, 1
goto wr
nop
return
end
Также вот ещё один код на СИ для мигания на Pic16f73 – на его основе я и написал код выше на ассемблере, светодиод также будет мигать на ножках PORTA, то есть ножки со 2 по 7 (RA0-RA5):
#define _XTAL_FREQ 4000000
#include <pic16f73.h>
#include <htc.h>
#include <xc.h>
__CONFIG(FOSC_HS & WDTE_OFF & PWRTE_OFF & CP_OFF & BOREN_OFF);
char counter = 0;
//Timer0
//Prescaler 1:256;
TMR0 Preload = 61; Actual Interrupt Time : 49.92 ms
//Place/Copy this part in declaration section
void InitTimer0() {
OPTION_REG = 0x87;
TMR0 = 61;
INTCON = 0xA0;
}
void interrupt isr(void) {
if(TMR0IF) {
TMR0IF = 0;
TMR0 = 61;
//Enter your code here
if(++counter == 20) {
PORTA = ~PORTA;
}
}
}
void main(void) {
ADCON1 = 0x07;
TRISA = 0x00;
TRISB = 0x00;
TRISC = 0x00;
PORTA = 0x00;
PORTB = 0x80;
InitTimer0();
while(1) {
}
}
Схема подключения:
Видео:
“rutube.ru/video/e1817d34dc4200302dec2e1e7fd55941/”
2. Микроконтроллер PIC16F77
Схему программатора брал с предыдущей моей записи: “https://gameforstreet.ru/pic-jdm-prostejshij-programmator-dlya-pic-mk/”
Схема программатора для него будет следующая:
Примечание hex прошивка для pic16f73 стояла на схеме:
– скачать в zip формате.
– скачать в tar.gz формате.














