Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПУМУ КР 5 1Сем.docx
Скачиваний:
10
Добавлен:
30.03.2023
Размер:
48.27 Кб
Скачать

Министерство образования Республики Беларусь

Учреждение образования

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Факультет компьютерного проектирования

Кафедра электронной техники и технологии

Дисциплина: Программно-управляемые микроконтроллерные устройства

КОНТРОЛЬНАЯ РАБОТА

Вариант 5

Студент: гр. 990241 Петушок И.М.

Руководитель: преподаватель

Камлач П. В.

Минск

2022

Содержание

Y

ВВЕДЕНИЕ 3

ЗАДАЧИ КОНТРОЛЬНОЙ РАБОТЫ: 4

1 УПРАВЛЕНИЕ ПОРТАМИ ВВОДА/ВЫВОДА МИКРОКОНТРОЛЛЕРА. 5

2 УПРАВЛЕНИЕ ТАЙМЕР-СЧЕТЧИКАМИ 7

3 УПРАВЛЯТЬ СЕМИСЕГМЕНТНЫМИ ИНДИКАТОРАМИ 10

4 УПРАВЛЯТЬ ЖИДКОКРИСТАЛЛИЧЕСКИМ ДИСПЛЕЕМ 13

5 РАБОТА С МОДУЛЕМ ADC (АЦП) 17

ЗАКЛЮЧЕНИЕ 21

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 22

Введение

Нейромаркетинг, как инструмент влияния на потребительское поведение, все больше завоевывает популярность среди маркетологов-практиков. Более того, он становится необходимым условием запуска успешных рекламных кампаний. Цель нейромаркетинга – понять истинную реакцию потребителя на определенные маркетинговые раздражители.

К нейромаркетингу обращаются при создании и продвижении нового продукта. Он помогает с научной точностью определить, какой цвет, слово, образ, звук, запах и вкус привлекает целевую аудиторию и оказывает максимальное воздействие на подсознание.

Нейромаркетинг – междисциплинарная область, находящаяся на стыке нейробиологии, психологии и поведенческой экономики. Этот термин ввел в обиход профессор Эйл Смидс в 2002 году. С его помощью он описал возможности коммерческого использования нейробиолоогии с целью повышения эффективности маркетинговых мероприятий. По сути, это исследование мозга человека с целью влияния на его потребительское поведение.

Целью контрольной работы является изучение особенностей применения нейромаркетинга на примере белорусской сети ресторанов «Domino's Pizza».

Сеть ресторанов «Domino's Pizza» - одна из самых крупных сетей кофеен в Беларуси. Пиццерии «Domino's Pizza» славятся своей уютной атмосферой, комфортным дизайном, авторскими пиццами и освежающими напитками, вкусной выпечкой, многочисленными акциями.

В г. Гродно открыто две пиццерии «Domino's Pizza», которая ежедневно пользуются огромной популярностью у населения, несмотря на наличие в городе большого количества других пиццерий.

Задачи контрольной работы:

  • Сформировать общее представление о разработке программного обеспечения для микроконтроллеров серии PIC.

  • Создать проект и научиться управлять портами ввода/вывода микроконтроллера.

  • Создать проект и научиться управлять таймер-счетчиками.

  • Создать проект и научиться управлять семисегментными индикаторами.

  • Создать проект и научиться управлять жидкокристаллическим дисплеем.

  • Создать проект и научиться работать с модулем ADC (АЦП).

1 Управление портами ввода/вывода микроконтроллера.

Задание. Мигать попеременно светодиодами D1, D2 и D3. Время горения светодиода в два раза больше чем время простоя. При нажатии кнопки загораются D5 и D8.

Ниже приведен код, который будет управлять свечением светодиодов, подключенных к ножкам портов микроконтроллера. То есть за счёт поочерёдного поступления положительного потенциала от ножек портов на ножки светодиодов, а также нулевого номинала на другие ножки, создается поочерёдное свечение и потухание светодиодов, за счёт чего происходит эффект бегущих огней.

#include <xc.h>

#define _XTAL_FREQ 4000000

#pragma config FOSC = HS // Oscillator Selection bits (HS oscillator)

#pragma config WDTE = OFF // Watchdog Timer (WDT disabled)

#pragma config PWRTE = ON // Power-up Timer Enable bit (Power-up

//Timer is enabled)

#pragma config CP = OFF // Code Protection bit (Code protection disabled)

unsigned char result=1;

unsigned char CheckButton(void)

{

unsigned int butcount=0;

while(!RA2)

{

if(butcount < 10000)

{

butcount++;

}

else

{

if (result == 0)result = 1; else result = 0;

/* переключение режима: result = 0 – мигают D5, D7, result = 1 – мигают D1, D2, D3 */

break;

}

}

return result;

}

void main(void) {

TRISB = 0x00; // Все выводы настраиваем порта B как выход

PORTB = 0x00; // гасим все светодиоды

TRISA &= ~0x03;// Порт А2 – на вход

PORTA &= ~0x03; /* подключен внутренний подтягивающий резистор на порт А2*/

while(1)

{

if(CheckButton())

{

PORTBbits.RB1 = 1; // вкл светодиод

__delay_ms(1000); // пауза

PORTBbits.RB1 = 0; // выкл светодиод

__delay_ms(500); // пауза в 2 раза меньше

PORTBbits.RB2 = 1;

__delay_ms(1000);

PORTBbits.RB2 = 0;

__delay_ms(500);

PORTBbits.RB3 = 1;

__delay_ms(1000);

PORTBbits.RB3 = 0;

__delay_ms(500);

}

else

{

PORTBbits.RB5 = 1;

__delay_ms(1000);

PORTBbits.RB5 = 0;

__delay_ms(500);

PORTBbits.RB7 = 1; // 8-го светодиода нет, мигаем 7

__delay_ms(1000);

PORTBbits.RB7 = 0;

__delay_ms(500);

}

}

return;

}