Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Робота із символьними індикаторами

Автор:   •  Май 11, 2023  •  Лабораторная работа  •  1,052 Слов (5 Страниц)  •  68 Просмотры

Страница 1 из 5

        Міністерство освіти і науки України

        Вінницький національний технічний університет

        

Кафедра IСТ

        

Лабораторна робота №4

"Робота із символьними індикаторами"

 

        Виконала:

ст. гр. ПЗТ-22МС

__________   Базалицька М.Р.

Перевірив:

_________ Макогон В. І.

Вінниця 2023

Мета роботи: : Розглянути особливості роботи рідиннокристалічних індикаторів та їх використання із  мікроконтролерами AVR.  

[pic 1]

Рисунок 1 – Зібрана схема

[pic 2]

Рисунок 2  – Робота РКІ під час моделювання при натиснуті кнопці PA0

[pic 3]

Рисунок 3  – Робота РКІ під час моделювання при натиснуті кнопці PA0

[pic 4]

Рисунок 2  – Код програми у MicrochipStudio

Код програми:

#include <avr/io.h>

#include <util/delay.h>

// Підключення до дисплею

#define PORT_DATA PORTD

#define PIN_DATA PIND

#define DDR_DATA DDRD

#define PORT_SIG PORTB

#define PIN_SIG PINB

#define DDR_SIG DDRB

#define RS 5

#define RW 6

#define EN 7

// Функція запису команди до дисплею

void LcdWriteCom(unsigned char data)

{

        PORT_DATA = data;      // вивід даних на шину індикатора

        PORT_SIG &= ~(1 << RS); // установка RS в 0 - команди

        PORT_SIG &= ~(1 << RW); // установка RW в 0 - запис

        PORT_SIG |= (1 << EN);  // установка E в 1

        _delay_us(2);

        PORT_SIG &= ~(1 << EN); // установка E в 0 - записуючий фронт

        _delay_us(40);

}

// Функція запису даних до дисплею

void LcdWriteData(unsigned char data)

{

        PORT_DATA = data;     // вивід даних на шину індикатора

        PORT_SIG |= (1 << RS); // установка RS в 1 - дані

        PORT_SIG &= ~(1 << RW); // установка RW в 0 - запис

        PORT_SIG |= (1 << EN);  // установка E в 1

        _delay_us(2);

        PORT_SIG &= ~(1 << EN); // установка E в 0 - записуючий фронт

        _delay_us(40);

}

// Функція ініціалізації дисплею

void LcdInit(void)

{

        DDR_DATA = 0xFF;

        DDR_SIG |= (1 << RS) | (1 << RW) | (1 << EN);

...

Скачать:   txt (5.9 Kb)   pdf (558 Kb)   docx (442.4 Kb)  
Продолжить читать еще 4 страниц(ы) »
Доступно только на Essays.club