Напряжение питания схемы выбирается перемычкой на разъеме J4, 3,3 В или 5 В.
Для загрузки прошивки в контроллер, нужно в момент ожидания программы загрузки, подать питание на контроллер. Кнопка S1 управляет полевым транзистором VT1. В момент нажатия на кнопку, питание схемы отключается. Номинал P канального мосфета VT1 подбирается таким образом чтобы обеспечить работоспособность схемы при питании 3,3 В. Подходящий P – канальный полевик можно встретить на некоторых материнских платах компьютера.
Кварцевый резонатор 24МГц, это оптимальная частота при питании контроллера напряжением 3,3В.
Ставим компилятор, редактор и загрузчик.
SDCC - https://sourceforge.net/projects/sdcc/files/
CodeBlocks - https://www.codeblocks.org/downloads/binaries/
STC-ISP - https://stcmicro.com/rjxz.html
Создаем новый проект в CodeBlocks
Сохраняем заголовочный файл из программы STC-ISP в папку проекта. Формат выбираем SDCC, имя stc15.h
Затем импортируем файл в проект.
Напишем мигалку
#include <stdint.h>
#include "stc15.h"
void delay(uint16_t i)
{
while(i>0)
{
i--;
for (uint8_t j = 127; j > 0; j--)
{
for (uint8_t k = 18; k > 0; k--);
}
}
}
void main(void)
{
// P20 push-pull
P2M0 |= 0x01;
P2M1 &= ~0x01;
while(1)
{
P20=0;
delay(1000);
P20=1;
delay(1000);
}
}
Осталось подключить светодиод к выводу P2_0 и загрузить прошивку из каталога проекта в контроллер, с помощью программы STC-ISP. Выбираем порт, убираем галочку Select system clock source, жмем Download и нажимаем на кнопу S1 на нашей отладочной плате.