15317

Подключение ЖК(LCD) дисплея к AVR микроконтроллеру

Доклад

Информатика, кибернетика и программирование

Лабораторная работа №3 Подключение ЖКLCD дисплея к AVR микроконтроллеру Цель работы: написать для микроконтроллера программу вывода информации на LCD дисплей на языке программирования С согласно варианта. На первых двух лабораторных работах научились: управлять мик

Русский

2013-06-11

95 KB

39 чел.

Лабораторная работа №3

Подключение ЖК(LCD) дисплея к AVR микроконтроллеру

 Цель работы: написать для микроконтроллера программу вывода информации на LCD дисплей на языке программирования С согласно варианта.

На первых двух лабораторных работах научились: управлять микроконтроллером и управлять чем-то, при помощи микроконтроллера. Теперь, чтобы сделать наше устройство более дружелюбным, будем к нему подключать дисплей. Сразу нужно отметить дисплей — символьный. Это значит что внутри у него, в памяти, уже есть алфавит. Все что нам нужно — дать команду вывести строку.

Дисплеи бывают разные: разный цвет подсветки экрана, разное количество строк, разное количество символов в строке. Поэтому, здесь рассматривается дисплей WH0802A-YGK-CT, 2 строки по 8 символов, подсветка желтая светодиодная.

Создадим проект в CodeVision. На вкладке LCD укажем порт, к которому будет подключен наш дисплей (PORTD). В строке Char/Line указываем количество символов нашего ЖК дисплея (8).

Генерируем, сохраняем проект. Приводим код к следующему виду:

#include <mega8.h>

#asm

.equ

__lcd_port=0x12 ;PORTD

#endasm

#include <lcd.h>

 void main(void)

 {

 PORTD=0x00;

 DDRD=0x00;

 lcd_init(8);

while (1)

{

};

}

Добавились новые строчки

#asm
.equ__lcd_port=0×12
#endasm

Дисплей подключен к PORTD

#include <lcd.h>

Библиотека для работы с LCD дисплеями

 

Немного изменим код нашей программы:

#include <mega8.h>

 #asm

.equ __lcd_port=0x12

#endasm

#include <lcd.h>

 void main(void)

{

  PORTD=0x00;

 DDRD=0x00;

  lcd_init(8);

  lcd_gotoxy(0,0);

lcd_putsf("lesson3");

 

#pragma rl+

 lcd_gotoxy(0,1);

 lcd_putsf("Урок3");

#pragma rl-

 

while (1)

{

 

};

}

lcd_gotoxy(0,0);

Переставить курсор в координату ХУ, х – позиция по горизонтали, у – по вертикали

lcd_putsf(«lesson3″);

Вывести слово lesson3 на LCD дисплей

#pragma rl+
lcd_putsf(«
Урок3″);
#pragma rl-

Данная директива позволяет вывести на экран русский алфавит, при условии что дисплей его поддерживает

Запустим получившийся код на симуляцию в ISIS Proteus. Как видно первая строчка отображается правильно, а вот вторая кракозябами. Дело в том, что протеус не распознает русский алфавит и если ваш дисплей не будет поддерживать его, то на реальном дисплее тоже будут непонятные символы.

Вывести на дисплей надпись “Hello, world

Варианты заданий

№ Варианта

Порт подключения дисплея

Кол-во знаков дисплея

Начальное положение курсора на дисплее, x, y

Микроконтроллер

1

Порт А

24

0,1

ATmega16

2

Порт D

16

1,2

ATmega32

3

Порт B

24

1,3

ATmega64

4

Порт E

16

1,4

ATmega128

5

Порт B

12

0,2

ATmega16

6

Порт C

12

1,2

ATmega32

7

Порт C

20

0,2

ATmega64

8

Порт D

12

0,1

ATmega128

9

Порт C

16

0,3

ATmega16

10

Порт B

20

1,5

ATmega32

11

Порт D

16

1,6

ATmega64

12

Порт C

12

0,0

ATmega128

13

Порт D

20

1,7

ATmega16

14

Порт А

24

1,9

ATmega32

15

Порт E

16

1,1

ATmega64

Отчет должен содержать:

  1.  Схему устройства;
  2.  Код программы с пояснениями.


 

А также другие работы, которые могут Вас заинтересовать

31908. ЛЕКСИЧЕСКАЯ СЕМАНТИКА 3.24 MB
  Ее ключевыми элементами являются: 1 Принцип интегральности описания языка в силу которого лексемам в явном виде приписываются все свойства релевантные для правил а правила учитывают все формы поведения лексем не упомянутые непосредственно в словаре.
31909. Внутрішнє представлення цілочисельних даних в IBM РС 58.65 KB
  Виконати переклад заданих викладачем чисел з десяткової в двійкову систему числення. Дати їх внутрішнє (машинне) представлення в залежності від діапазону в знакових і беззнакових форматах типів Shortint (signed char), Byte (unsigned char), Integer (int), Word (unsigned int). Машинне представлення даних має бути дане в двійковій і шестнадцятирічній системах числення.
31910. Свобода совісті – явище духовної культури 103.5 KB
  Неоднозначність впливу релігії на різні сфери суспільного життя. Релігія в житті українців. Релігія і вільнодумство і атеїзм. Історичне підгруддя і реалії сьогодення. Свобода совісті як форми запобігання і вирішення соціальних конфліктів на релігійному ґрунті.
31913. ЗАХИСТ ІНФОРМАЦІЇ. КОНСПЕКТ ЛЕКЦІЙ 1.82 MB
  У звязку з цим різко зріс інтерес широкого кола користувачів до проблем захисту інформації. Захист інформації це сукупність організаційнотехнічних заходів і правових норм для попередження заподіяння збитку інтересам власника інформації. Тривалий час методи захисту інформації розроблялися тільки державними органами а їхнє впровадження розглядалося як виключне право тієї або іншої держави.
31915. УЧЕТА И АУДИТ ДЕНЕЖНЫХ СРЕДСТВА НА ПРЕДПРИЯТИИ ООО «ЭТАЛОН -СПБ» 696.5 KB
  Денежные средства выполняют следующие основные задачи: проверка правильности документального оформления и законности операций с денежными средствами, расчетных и кредитных операций, своевременное и полное отражение их в учете; обеспечение своевременности, полноты и правильности расчетов по всем видам платежей и поступлений