Silabs_2
Сайт создан в системе uCoz
Меню сайта


Поиск по сайту
Loading


Форма входа


Помощь проекту

PayPal:

LiqPay or Credit/Debit Card:

W1 "Единый кошелек":
199990419310
WebMoney:
WME - E509190786817
WMZ - Z195499640086
WMU - U204403357554
WMR - R280087882619




Активные темы

  • Все вопросы касающиеся Neil Scope (7126)
  • инвертор на микропроцессоре с 12\220v с синусом на выходе (3)
  • Предложения по работе сайта и форума (18)
  • Изготовление ПП (7)
  • NeiLogicAnalyzer (48)
  • Двухполярный линейный БП с управлением на МК (91)
  • Заказ плат под NeilScope3 (12.2015) (60)
  • Первое знакомство с микроконтроллерами Silabs (105)
  • Куплю плату NS-3 (0)
  • Подскажите (0)



  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0



    Рекомендуемые браузеры: Mozzilla, Google Chrome






    Приветствую Вас, Пробегающий мимо · RSS 25.12.2024, 04:49
    2. Язык, программа, компиляция... это просто!




      В прошлой главе мы кратко познакомились с этими странными существами под названием микроконтроллер и теперь будем разбиратся как же заставить микроконтроллер делать то что нам нужно и что бы он нас понял... Для этого нам понадобится сначала написать программу в любом редакторе, затем скомпилировать ее - превратить в прошивку. Но сначала нам надо определится на каком языке мы будем писать нашу программу, языков программирования для МК существует великое множество, однако самым популярным и пожалуй на данный момент востребованным является язык Си, с него мы и начнем наше знакомство с программированием для МК. Итак с языком определились, это будет Си, а что же собой представляет процесс компиляции? Компиляция это ничто другое как преобразование нашей программы написанной на Си в HEX файл, этим процессом как раз и занимается компилятор. Ну вроде пока все понятно, значит начнем?
      Итак написание программы, программу можно писать в любом текстовом редакторе, да хотя бы в том же блокноте, однако это крайне не удобно. Компилировать программу также можно всякими разными прогами, что опять таки добавляет кучу неудобств и возможной путаницы, особенно начинающему программисту. Значит этот вариант не для нас, мы возьмем такую прогу в которой совмещено и написание программы и ее компиляция, прога эта называется Keil uVision4 - C51 и взять ее можно здесь. Устанавливаем ее и "лечим", подробней о процессе лечения, если у Вас возникают с этим трудности, я могу рассказать в личной переписке пишите мне на LeftRadio@lavabit.com. Итак запускаем ее и видим следующую картину:


    [Image]


    Далее выбираем пункт меню Project > New Project, даем имя например test и сохраняем в любую подходящую папку. Далее программа предложит выбор МК, выбираем C8051F320 нажимаем ОК и и отказываемся от предложения добавить в наш проект стандартный код инициализации на ассемблере. В левом меню у нас должна появится папка - Target 1 и подпапка - Sourse Group 1, теперь в меню File нажимаем New.. и вставляем в созданный файл следующее:


    //Заголовочного файл, зависит от того, для какой микросхемы пишется софт
    .
    #include "C8051F320.h"

    sbit LED1 =  P0^0;                        
    //Дадим название выводу P0.2 - LED1
    sbit LED2 =  P0^1;                        
    //Дадим название выводу P2.2 - LED2

    int counter = 0;                            
    //Переменная типа int, для организации пауз.
             

    //Функция инициализации устройства, пока пустая.
    void Init_Device(void)
    {
        P0MDOUT   = 0xFF;                   
    //Настраиваем выводы P0.0 Р0.7 на вход
        XBR1      = 0x40;                       
    //Включаем кроссбар
    }


    //Основная функция программы.

    void main(void)
    {
        PCA0MD &= ~0x40;                   
    //Выключаем сторожевой таймер

        Init_Device();                            //Вызываем функцию инициализации

       
    while(1)                                     //Основной цикл программы
        {
             counter = 500;                 
             while(counter > 0) counter =
    counter -1;       //вычитаем из переменной counter 1 пока counter больше нуля.

             LED1 = 0;                             
    //Включаем первый светодиод
             LED2 = 1;                             
    //И выключаем второй

            
    counter = 500;                 
             while(counter > 0) counter =
    counter -1;       //вычитаем из переменной counter 1 пока counter больше нуля.

             LED1 = 1;                              //Выключаем первый светодиод
             LED2 = 0;                             
    //И включаем второй
        }
    }


    Сохраняем наш файл и даем ему название test.c, затем клацаем правой клавишей мыши по директории Sourse Group 1 и выбираем пункт меню Add Files to group 'Sourse Group 1', выбираем наш сохраненный файл test.с и нажимаем Add. Все наш проект создан и первая программа написана, теперь ее надо скомпилировать. Делается это очень просто, надо просто нажать F7 и Вы увидите результаты компилирования в нижней части экрана, если при компиляции возникли какие нибудь ошибки компилятор сообщит об этом и напишет причины вызвавшие данные ошибки.


    [Image]



    На это данная глава и заканчивается, а в следующей мы разберемся как и с помощью чего, эту программу прошить в микроконтроллер. >>>



    Если у Вас есть какие либо вопросы, то Вы можете их задать на форуме.