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


 

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

57487. Кількість, густота, природний рух населення України 99 KB
  Після цього уроку учні зможуть: ознайомитись з кількістю населення України і її зміною в часі; давати визначення поняттям природний приріст міграція розкривати вплив природних історичних умов на розміщення населення на території України...
57489. Ukraine and Great Britain 1.86 MB
  Today we have unusual lesson. It’s a Presentation Lesson and its topic is “Differences and Similarities of Ukraine and Great Britain”. The aim of our lesson is to improve our knowledge, to learn more and broaden our outlook, to watch presentations, to play games.
57490. Welcome to Ukraine! 169.5 KB
  Today we have an unusual lesson. We are going to prepare for journey around Ukraine. We’ll travel next time. We’ll go by bus. But first of all we need tickets. You shouldn’t pay money for these tickets. You should answer some my questions to get a ticket. Let’s start.
57491. Послевоенное восстановление и развитие Украины (1945 - начало 1953 года). Голод 1946-1947 гг 65.5 KB
  Давайте мы пополним этот коллаж нарисовав свой символ голодоморов. Приложение №1 Документ №1 29 августа 1946 года былю официально объявлено что в связи с засухой в ряде областей СССР и сокращением государственных...
57492. ОПЫТНО-ЭКСПЕРИМЕНТАЛЬНАЯ РАБОТА ПО ФОРМИРОВАНИЮ НАВЫКОВ ПОСТРОЕНИЯ КОМПОЗИЦИИ В РИСУНКЕ У МЛАДШИХ ШКОЛЬНИКОВ СРЕДСТВАМИ ИЗОБРАЗИТЕЛЬНОГО ИСКУССТВА 166.82 KB
  Изобразительное искусство является художественным отражением действительности в зрительно воспринимаемых образах. Средствами цвета, пластики или рисунка художник создает на холсте, в глине или мраморе картины окружающей жизни, сильные и прекрасные образы человека.
57493. Точність і доречність мовлення. Складні випадки слововживання. Пароніми і омоніми. Вибір синонімів 375.5 KB
  Що таке лексикологія Що вона вивчає З яких груп складається лексика Які слова називають іншомовними Що таке термін термінологія Що таке професіоналізм Наведіть приклади. Випишіть словатерміни поясніть значення.
57494. Die Welt ist so schön! 42 KB
  Wir machen Mundgymnastik und wiederholen die Zungenbrecher: Hans hackt heute Holz hinter Hoffmanns Haus. Kleine Kinder können keine Kirschkerne knacken. Schneiders Schere schneiden scharf, scharf schneiden Schneiders Schere.
57495. Коли ви вмирали, вам дзвони не грали 150.5 KB
  Мета: поглибити конкретизувати узагальнити знання про діяльність УПА дати оцінку діяльності УПА; розвивати вміння збирати і аналізувати інформацію з різних джерел систематизувати знання готувати аргументовану відповідь вести дискусію з даної проблеми...