Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Реферат.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
134.48 Кб
Скачать

3.Практическая реализация программы на микроконтроллере

Покажем пример программного кода в Arduino «секундомер с кнопкой»

#define SEG_A 0

#define SEG_B 1

#define SEG_C 2

#define SEG_D 3

#define SEG_E 4

#define SEG_F 5

#define SEG_G 6

void setup()

{

DDRB = 0xFF;

DDRC = 0xFF;

PORTD = (1<<PD2)|(1<<PD3);

EICRA = (1<<ISC01)|(1<<ISC11);

EIFR = (1<<INTF0)|(1<<INTF1);

EIMSK = (1<<INT0)|(1<<INT1);

sei();

}

void digit_output (char a, char b)

{

PORTB = (1<<a); //PORTB = PORTB | (1<<a);

switch (b)

{

case 0:

PORTC = ~((1 << SEG_A) | (1 << SEG_B) | (1 << SEG_C) | (1 << SEG_D) | (1 << SEG_E) | (1 << SEG_F));

break;

case 1:

PORTC = ~((1 << SEG_B) | (1 << SEG_C));

break;

case 2:

PORTC = ~((1 << SEG_A) | (1 << SEG_B) | (1 << SEG_G) | (1 << SEG_E) | (1 << SEG_D));

break;

case 3:

PORTC = ~((1 << SEG_A) | (1 << SEG_B) | (1 << SEG_C) | (1 << SEG_D) | (1 << SEG_G));

break;

case 4:

PORTC = ~((1 << SEG_F) | (1 << SEG_G) | (1 << SEG_B) | (1 << SEG_C));

break;

case 5:

PORTC = ~((1 << SEG_A) | (1 << SEG_F) | (1 << SEG_G) | (1 << SEG_C) | (1 << SEG_D));

break;

case 6:

PORTC = ~((1 << SEG_A) | (1 << SEG_F) | (1 << SEG_E) | (1 << SEG_D) | (1 << SEG_C) | (1 << SEG_G));

break;

case 7:

PORTC = ~((1 << SEG_A) | (1 << SEG_B) | (1 << SEG_C));

break;

case 8:

PORTC = ~((1 << SEG_A) | (1 << SEG_B) | (1 << SEG_C) | (1 << SEG_D) | (1 << SEG_E) | (1 << SEG_F) | (1 << SEG_G));

break;

case 9:

PORTC = ~((1 << SEG_G) | (1 << SEG_F) | (1 << SEG_A) | (1 << SEG_B) | (1 << SEG_C) | (1 << SEG_D));

break;

}

delay(1);

PORTB &=~(1<<a);

}

int i;

ISR(INT0_vect)

{

i++;

}

ISR(INT1_vect)

{

i=0;

}

void loop()

{

while (i>=1)

{

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

{

for (int j=0; j<25; j++)

{

digit_output (0, i/1000); //2354 > 2

digit_output (1, i/100%10); //2354 > 3

digit_output (2, i/10%10); //2354 > 5

digit_output (3, i%10); //2354 > 4

}

}

}

После написания кода достаточно скомпелировать и отправить программу на устройство. Перед этим желательно проверить работу программы в системе автоматического проектирования электронных схем Proteus или его аналогах, чтобы избежать ошибок в коде на начальном этапе.

Заключение

В процессе работы были рассмотрены практические примеры подключения микроконтроллеров и их программирование.

Применение микроконтроллеров в технике очень актуально. Так как они существенно ускоряют работу поставленной им задачи. Отсюда и важность их изучения и применения в устройствах.

Библиографический список

  1. Белов А.Б. Конструирование устройств на микроконтроллерах / Наука и Техника, 2005. - 255 с.

  2. Предко М. Руководство по микроконтроллерам. Том 1. / Пер. с англ. под ред.И. И. Шагурина и С.Б. Лужанского - М.: Постмаркет, 2001. - 416 с.

  3. Угрюмов Е.П. Цифровая схемотехника. - Спб.: БВХ - Санкт-Петербург, 2000. - 528 с.

  4. http://arduino-kit.ru

  5. http://arduino.ru/

Челябинск 2025

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]