This page has been translated from English

Руководство для начинающих по программированию микроконтроллеров Microchip PIC

Теги: , ,

Microchip PIC микроконтроллера 8-битный микроконтроллер Это руководство проведет вас через процесс создания вашего первого Microchip PIC микроконтроллера основана цепи.

Она будет охватывать все, что необходимо сделать для того, чтобы написать простую программу, которая будет мигать светодиод, в шаг за шагом "практический" методом. Все программное обеспечение, используемое в данном учебнике абсолютно бесплатно. Все, что вам нужно, это простой JDM программатор (читать для detials), и вы хорошо идти!



Вот список того, что вы должны получить, прежде чем мы начнем:

  1. PIC16F микроконтроллер. Вы можете купить в магазинах электроники или через Интернет.
    В этом руководстве я буду использовать PIC16F684, потому что это дешево, небольшой и простой в использовании.
  2. разработка макетов
  3. ПК с ОС Windows XP/2000. ваш компьютер должен иметь Последовательный порт COM.
  4. простые женщины к мужчине 9 проволоки Последовательный кабель (DB9 PLUG)
  5. Несколько список компонентов.
  6. ПИК программиста

    Вы можете купить все вышеперечисленные здесь

Bedore мы начнем, вот краткое объяснение процесса развития:

Во-первых, мы напишем наш код в MPLAB - среда разработки, чем мы собрать и построить наш код и получить HEX файл.
с целью передачи шестнадцатеричный файл для микроконтроллера wi'll использовать ПИК программиста, простая электронная схема, которая может получить код от нашего компьютера с помощью
последовательный порт и программа его флэш-памяти программы ПОС.

Начнем, если у вас есть какие-либо вопросы, пожалуйста, используйте наш форум sysyem.

  1. Скачать и установить MPLAB IDE с веб-страницы Microchip.
    В процессе установки вам будет предложено для установки компилятора PICC разработан HI-TECH PIC компании.
    Устанавливайте!, Это компилятор C, что позволяет нам белое наш код на С insted из ассемблерный.
  2. Для того, чтобы программа нашего кода в микроконтроллер мы должны построить программист. есть много проектов для программистов через интернет.
    Я Рекомендовать на следующий.
  3. Скачать Winpic800. что это хорошая программа, которая управляет программист. Он поддерживает большинство микроконтроллеров Microchip.
  4. Сборка следующей схеме. это простая схема, которая снабжения 5В напряжение ПИК и соединяет программирования
    линий apropiate ног микроконтроллера.

Краткое пояснение о схеме:

J1 - разъем питания.
SW1 - главный выключатель питания
D1 -

U1-5В стабилизатор напряжения.
С1, С2 -

D2 - питание привело
SW2 - пользователь сброс

matrix1

matrix2

matrix3

проверить соединения внимательно!

Наша схема потребности питания. Хороший генератор Мощность recomanded, но если вы не один и не хотите, чтобы купить один, вы можете использовать простой трансформатор
, которые могут поставлять не менее 500 мА @ 9V. Это лучше быть объединены, потому что вы не хотите, чтобы записать ваши трансформатор, если вы по ошибке подключается к + и - линий.

transfformator

Подключение трансформатора к цепи и повернуть выключатель. зеленый светодиод должен включиться. Подключите последовательный кабель от вас COM порт для программиста ПОС, а затем подключить ПОС программист ICSP заголовок макета с помощью правой разъем.

Если все подключено право это должно выглядеть примерно так:

matrixpgm

Написание первой программы ПИК

  • Запустите программу MPLAB
  • Создайте новый проект (проекты-> New Project)
  • Выберите микроконтроллер из списка (в нашем случае, PIC16F684)

mplab-hitechpic

  • Затем выберите HI-TECH Univeral ToolSuite, и Привет-TECH C Compiler (см. скриншот ниже)
  • В следующем экране, имя вашего проекта, и нажмите кнопку "Далее".
  • Нажмите на кнопку "Далее", еще раз дважды и все, ваш новый проект в настоящее время создана!
  • Теперь мы добавим новый файл в проект, который мы только что создали. Нажмите на File-> New.

Первая программа ПИК кодекс

Введите следующий код в файл, который Вы только что создали:

include <pic.h>

void main(void)
{
	unsigned int i;
	TRISC=0x00;

	while(1)
	{
		for (i=0; i<0xFFFF; i++)
			PORTC=0xFF;

		for (i=0; i<0xFFFF; i++)
			PORTC=0x00;

	}

}
Explanation of the above code

include <pic.h>

This command instructs the compiler to include relevant code about the PIC we’re using.

void
main( void ) {

Definition of the main function of the code.

unsigned int i;

creation of an integer variable, which will be used later in a delay loop.

TRISC=0×00;

Set the TRISC register. The TRISC register is an 8 bit register which sets the states of the PORTC pins of the PIC. A pin state can either be 0, which means an output, or 1, which means an input. We define all the port pins as outputs, and hence the 0×00 value.

while (1){

Since we want the LED to blink endlessly, we create an endless loop (1 states ‘true’ in programming, so the following line reads as “while (true)” which is computerish for ‘always’ :) .

for (i=0; i<0xFFFF; i++)

The purpose of this loop is to create a delay between the time the LED turns on, and when it turns off. This is not an optimal way to create a delay, but it will suffice for now.

PORTC=0xFF;

The PORTC register contains the values of it’s input\output legs. Since we initialized the port to be an output port, this command will set the value of every leg to 1 (remember that 0xFF is 11111111 in binary). In other words the MCU will rise the voltage in those legs to VCC, or 5v in our case, and hence cause the led to turn on.

for(i=0 Введите следующий код в файл, который Вы только что создали:

include <pic.h>

void main(void)
{
	unsigned int i;
	TRISC=0x00;

	while(1)
	{
		for (i=0; i<0xFFFF; i++)
			PORTC=0xFF;

		for (i=0; i<0xFFFF; i++)
			PORTC=0x00;

	}

}
Explanation of the above code

include <pic.h>

This command instructs the compiler to include relevant code about the PIC we’re using.

void
main( void ) {

Definition of the main function of the code.

unsigned int i;

creation of an integer variable, which will be used later in a delay loop.

TRISC=0×00;

Set the TRISC register. The TRISC register is an 8 bit register which sets the states of the PORTC pins of the PIC. A pin state can either be 0, which means an output, or 1, which means an input. We define all the port pins as outputs, and hence the 0×00 value.

while (1){

Since we want the LED to blink endlessly, we create an endless loop (1 states ‘true’ in programming, so the following line reads as “while (true)” which is computerish for ‘always’ :) .

for (i=0; i<0xFFFF; i++)

The purpose of this loop is to create a delay between the time the LED turns on, and when it turns off. This is not an optimal way to create a delay, but it will suffice for now.

PORTC=0xFF;

The PORTC register contains the values of it’s input\output legs. Since we initialized the port to be an output port, this command will set the value of every leg to 1 (remember that 0xFF is 11111111 in binary). In other words the MCU will rise the voltage in those legs to VCC, or 5v in our case, and hence cause the led to turn on.

for(i=0; i<0xFFFF; i++)

PORTC=0×00;

The purpose of the above lines is the same as the last ones – to create a delay. But this time we change the state of the PORTC register to low (0×00) which will bring the voltage of the PORTC legs to ground, and hentch turn off the led.

Having these ‘turn off’ and ‘turn on’ commands repeated infinitely by the while command will cause the led to blink.


  • Press File->Save and save the file as src1.c
  • Press View-Project and you will the a window containing the directory tree of the project we have created.

mp3

  • Right click on the directory and choose Add Files, and then Source File
  • Now the project is ready for compilation. Compile it by clicking on the Project->Compile  menu
  • If the compilation process finished without errors, you should have a HEX file created in the project directory. This file contains the binary form of your code – and burning it to the PIC will make the PIC run your code.
  • To burn the PIC, load the winpic800 program.
  • Now, we will configure the program for the first use.

winpichardware

  • Press on Settings->Hardware and choose the comport to which you connected your JDM Programmer .

winpicsoftware

  • Set the rest of the settings as shown in the image about.
  • In the top right of the program, choose the PIC model you are using (in the image PIC 16F684 is used)
  • Now we will check that the program can successfully connect to the PIC Programmer we are using.

winpictest

  • Click on the button marked in the image above.
  • If you get the same message as in the picture above, everything is connected properly and the hardware is recognized. Otherwise, check your connections and COM port settings.
  • Connect the PIC programmer to the breadboard again, and turn on the circuit. The led should turn on again.

winpic detect

  • Now we will check that the software successfully recognizes the PIC MCU we are using. Click on the icon marked in the image above, and the right PIC model should be detected.
  • Now choose the file we want to program the PIC with (it’s the same HEX file that was created by compiling our code in the previous level)

winpic set

  • Now press on the Settings button (marked in the image above).  This dialog allows us to configure several run-parameters of the PIC. For example – the internal clock speed, whether to use an internal or external clock, etc.
  • Choose INTOSCIO – Use the internal PIC clock.
  • Remove the marking of the WDTE.

winpic programming

  • Now everything is ready to programming your PIC with the code you have written and compiled!
  • Press on the red button, marked on the picture above. The program will be written to the PIC, and if everything is correct, upon turning on the circuit the LED will begin to blink!

Subscribe now via RSS and never miss a post!

Leave a Comment