15317

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

Доклад

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

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

Русский

2013-06-11

95 KB

40 чел.

Лабораторная работа №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.  Код программы с пояснениями.


 

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

8685. Філософське розуміння світу. Проблема буття 93 KB
  Філософське розуміння світу. Проблема буття. Філософський зміст проблеми буття. Особливості розуміння проблеми буття. Форми буття. Буття. Субстанція і матерія. Дух. З самого початку західно-європейського мислення і до сьогоднішньог...
8686. Діалектика. Антиподи діалектики: софістика, метафізика 177 KB
  Діалектика Діалектика як вчення про розвиток і універсальні зв’язки. Принципи діалектики. Категорії діалектики. Закони діалектики, їхнє методологічне та світоглядне значення. Антиподи діалектики: софістика, метафізика.  ...
8687. Філософська антропологія. людина, її проблема у філософії 97 KB
  Філософська антропологія. людина, її проблема у філософії. Актуальність філософського вивчення проблеми людини. Природа і сутність людини. Сенс життя людини. Особа. Індивід. Індивідуальність. Ціннісні орієнтації особи. Людина...
8688. Феноменологія. Проблема свідомості у філософії 158 KB
  Феноменологія. Проблема свідомості у філософії Філософське розуміння проблеми свідомості. Свідомість. Самосвідомість. Мова. Суспільна та індивідуальна свідомість. Свідоме і несвідоме. Що могутніше розуму? Йому - влад...
8689. Гносеологія. Проблема пізнання. Чи можливо пізнати світ 85 KB
  Гносеологія. Проблема пізнання. Чи можливо пізнати світ. Теорія пізнання, її предмет і метод. Чуттєве і раціональне пізнання. Проблема розуміння в пізнанні. Наукове пізнання. Проблема істини. Істина, хиба, помилка...
8690. Природа як об’єкт вивчення філософії 111 KB
  Природа як об’єкт вивчення філософії. Природа як предмет філософського дослідження. Історичні взаємодії природи і суспільства. Взаємодія природи і суспільства. Екологічна проблема, її філософський смисл. Обніми цю ...
8691. Суспільство як об’єкт вивчення філософії 84 KB
  Суспільство як об’єкт вивчення філософії. Суспільство, його сутність. Суспільство як самоорганізуюча і саморозвиваюча система. Відмінність законів природи і суспільства. Роль географічного природного середовища в житті суспіль...
8692. Філософія науки і техніки 94 KB
  Філософія науки і техніки. Техніка та історія людства. Філософія техніки: історія становлення та предмет вивчення. Головні проблеми досліджень у філософії техніки. Проблема комп’ютеризації та штучного інтелекту. Пр...
8693. Аксіологія. цінності в житті людини і суспільства 118 KB
  Аксіологія. цінності в житті людини і суспільства. Поняття «аксіологія». Місце аксіології в системі культури. Природа цінностей. Цінність і сенс життя людини. Ієрархія цінностей буття людини. Сучасна культурна криза і проблем...