суббота, 29 июля 2023 г.

Установка, настройка Keil uVision и компилирование прошивки для микроконтроллеров stc (8051)

        В данной статье я расскажу, как при помощи Keil uVision выполнить компиляцию прошивки для микроконтроллера (на примере stc15f104w) с языка Си в hex-файл для прошивки.

        Скачиваем ПО. Для этого нужно перейти по ссылке на официальный сайт и заполняем анкету, где

First Name – Имя

Last Name – Фамилия

E-mail – электронная почта

Company – Организация (выбираем или придумываем любую)

Job Title – Должность в организации выше

Country/Region – Страна

State/Province – Не заполняем

Phone – номер телефона

 

        После этого скачиваем файл:

 

        Далее приступаем к установке. Жмем время «Next», «Next», «Next», заполняем анкету и снова «Next» и «Finish»:

 

        Программа установлена. Запускаем ее:

 

        Создаем проект, нажав «Project – New uVision Project …»:

 

        Придумываем имя проекту. Для примера назовем проект «blink» и напишем программу мигания светодиодом:

 

        В строке поиска «Search» пишем 8052 (или 8051) и выбираем 805х (All Variants):

 

        На вопрос с предложением скопировать файл «STARTUP.A51» отвечаем "Нет":

 

        Открываем панель редактора. Для этого нажимаем «File - New…»:

 

Согласно datasheet в плате с микроконтроллером stc15f104w светодиод D2 подключен к выходу P3.3: 


        Зная это, вставляем в редактор текст программы мигания светодиодом, подключенным к выводу P3.3:

/*
 * blink.c
 * Мигание светодиодом
 * Created: 11.07.2023 10:51:31
 *	============================================
 *	H A R D W A R E   I N F O R M A T I O N S	
 *	============================================
 *	STC15F104W ___________
 *		1 /	       |8
 *	      o--|P3.4/RST P3.3|--o Led ----LED--->+5V
 *	  +5V o--|Vcc	   P3.2|--o 
 *	      o--|P3.5     P3.1|--o 
 *	  GND o--|GND      P3.0|--o 
 *		 |_____________|
 *
 * Author : Vyacheslav
 * https://mynobook.blogspot.com
 * https://t.me/mynobook
 */ 

#include <reg51.h>		// Порты ввода-вывода для MCU

	sbit led = P3^3;	// указывается пин, к которому подключен светодиод

	void Delay_us(int n)  
				{
					int x;
					while (n--)
								{
								x = 5000;
					while (x--);
								}
				}
		
				
int main(void)
{

		led=1;			// Выключаем светодиод	
				
    while (1)				// Повторяем все что ниже
    {
		led=~led;		// Меняем значение на противоположное (инвертируем)
		Delay_us(1000);		// Ждем 1с
				
    }
}

        Если не отображается кириллица – сделайте следующее:

Нажмите «Edit - Configuration»:

 

И в строке «Encoding» выберите «Russian Windows-1251»:

 

        Также можно попробовать заменить файл в папке Keil_v5\UV4 на UvEdit.dll. Скачать его можно здесь.

 

        После этого листинг программы на языке Си сохраняем как main.с (Имя файла может быть любое) и добавляем этот файл в проект нажав правой клавишей мыши на «Source Group 1» и выбрав пункт «Add Existing Files to Group  'Source Group 1»:

 

        После этого настраиваем параметры файла, получаемого после компиляции. Нажимаем правой кнопкой мыши на «Target 1» и выбрав «Options for Target 'Target1» ставим галочку на «Create Hex File. HEX Format HEX-80» 

  

      После этого файл можно компилировать, нажав мышкой на «Project/Build Target» или нажав «F7» на клавиатуре: 


    
    Если все сделали правильно, ошибок компиляции быть не должно и в папке Objects  расположенной рядом с файлом main.c появится файл прошивки main.hex



Комментариев нет:

Отправить комментарий