Подключение библиотеки символьного ЖКИ в WinAVR

Просмотров: 26721Комментарии: 1
Электроника. СхемотехникаAVR.Начинающим

Как-то скачал lcd библиотеку и начал подключать ЖКИ и пару часов промучался. И вот вспомнил об этом и чтобы такое больше не повторялось решил кратко написать как подключать эту библиотеку, начиная с создания проекта и создания makefile файла. Итак, давайте по порядку после открытия AVRStudio: 

  1.  Project ->New Project, в появившемся окне выбираем AVR GCC,  ставим галочку Create Initial File и Create File, в Project Name пишем название проекта, например LCD
  2. Копируем в папку с проектом lcd_lib.h, lcd_lib.c (скачать можно ниже), Makefile (ниже о нем).
  3. Project -> Configuration Options, в появившемся окне Use External Makefile выбираем Makefile в папке с проектом, жмем Ok.
  4. Слева в колонке с файлами проекта правой кнопкой на Header Files, выбираем Add Existing Header File и выбираем файл lcd_lib.h в папке с проектом.
  5. Тоже самое для Source Files и добавляем lcd_lib.c
  6. В компилируемом файле (в нашем случае LCD.c) добавляем #include “lcd_lib.h
  7. Project->Save Project
  8. Используем функции библиотеки в программе.
  9. Build Project (F7) 

---------------------------------------------------------------------------------------------------------------------------------------

MAKEFILE

Не буду вдаваться в подробности, а просто напишу что для компиляции программы нужен так называемый Makefile. Идем в папку с установленной программой (какой-нибудь WinAVR\sample) и находим там Makefile. Копируем его в папку со своим проектом (этот файл должен находиться в

одной папке с компилируемым файлом). Открываем скопированный Makefile каким-нибудь блокнотом и редактируем.

1.      Указываем используемый микроконтроллер

# MCU name
MCU = atmega8

2.      Частота тактирования микроконтроллера в герцах

# Processor frequency.
F_CPU = 8000000

3.      Указываем имя проекта и соответственно имя компилируемого файла
# Target file name (without extension).
TARGET = LCD

4.      Находим строки
# List C source files here. (C dependencies are 
automatically generated.)
SRC =
и исправляем таким образом
# List C source files here. (C dependencies are 
automatically generated.)
SRC = $(TARGET).c
И дописываем через пробел файл lcd_lib.c, должно получиться так
# List C source files here. (C dependencies are 
automatically generated.)
SRC = $(TARGET).c  lcd_lib.c

5.      Находим CPPSRC=main.cpp и стираем значение после равно, получится так
#List C++ source files here. (C dependencies are automatically generated.)
CPPSRC = 

6.      Ниже ищем
 #----------------Programming Options (avrdude) ----------------
AVRDUDE_PROGRAMMER = stk500
И записываем после равно тип вашего программатора (например, stk200)
Еще ниже можно изменить порт к которому он подключен
AVRDUDE_PORT = com1     # programmer connected to serial device

Вот и все, теперь все сохраняем и оставляем Makefile в покое.
------------------------------------------------------------------------------------------------------------------------------------------
В lcd_lib.h вы можете выбрать порт к какому вы хотите подключить индикатор.
#define LDP PORTB        //define MCU port connected to LCD data pins
#define LCP PORTB        //define MCU port connected to LCD control pins
#define LDDR DDRB       //define MCU direction register for port connected to LCD data pins
#define LCDR DDRB       //define MCU direction register for port connected to LCD control pins

Здесь порт B, вы же можете указать нужный вам. Эта библиотека написана для подключения индикатора к МК используя 4х проводную шину данных (т.е. по битно для любого порта, 0 – RS, 1 – RW, 2 – E, 4 – D4, 5 – D5, 6 – D6, 7 – D7). Вот так, например:

Вроде бы все.

Комментариев: 1 RSS

1 Bakyt 12-11-2012 16:40

Как хорошо, что есть такие люди как выgrin. У меня

avrstudio 6 и usb программатор stk500. Хотел немного поработать с lcd,но не знаю куда и как добавить библиотеку.

Если можно подробнее пожалуйста.

Оставьте комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Вы можете войти под своим логином или зарегистрироваться на сайте.

(обязательно)