Как правильно подцепить LCD

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Встал на лапы
Сообщения: 114
Зарегистрирован: Чт ноя 24, 2011 12:39:13

Сообщение Marchello »

Подскажите пожалуйста как правильно подцепить LCD!&
Вариант 1.
#asm
.equ __lcd_port=0x1B ;PORTA

Вариант 2.
#asm
.equ __lcd_port=0x12;PORTD

Меня смущает что LCD вешается на разные выводы МК. И вообще где то читал что предпочтительней вешать на PORT D
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 454
Зарегистрирован: Вс янв 15, 2012 19:58:40

Сообщение radiokot__ »

На порт М. :)))
Ну или хотя может и нет.
ПРО ШТО РЕЧЬ?
Какой дисплей? какой проц?
Ни один домашний кот незнает что он домашний.
Реклама
Встал на лапы
Сообщения: 114
Зарегистрирован: Чт ноя 24, 2011 12:39:13

Сообщение Marchello »

МК - Atmega16
LCD 16x4
Мучитель микросхем
Аватара пользователя
Сообщения: 454
Зарегистрирован: Вс янв 15, 2012 19:58:40

Сообщение radiokot__ »

Ну тогда вешайте хоть куда, разницы большой небудет.
Ни один домашний кот незнает что он домашний.
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

Вешать надо туда, где ноги свободные есть. Повесите на порт А - останетесь без АЦП, повесите на D - забудьте про UART и внешние прерывания, B и C - SPI или I2C в обломе... Хотя зависит конечно еще от количества используемых ног, но обычно это почти весь порт.
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

Код: Выделить всё

Вариант 1.
 #asm 
 .equ __lcd_port=0x1B ;PORTA  
Сильно смахивает на CVAVR.
В версии 2,05 есть новая библиотека которая позволяет "вешать" LCD на разные порты.

Изображение
Вложения
Новый рисунок (1).jpg
(63.99 КБ) 2051 скачивание
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Реклама
Встал на лапы
Сообщения: 114
Зарегистрирован: Чт ноя 24, 2011 12:39:13

Сообщение Marchello »

Спасибо всем огромное! Внятно и доходчиво объяснили! Но пока разбирался с LCD у меня всплыл вопрос с Кварцем DS1307.

// I2C Bus functions (PORTC bit's 4, 5)
#asm
.equ __i2c_port=0x08
.equ __sda_bit=4
.equ __scl_bit=5
#endasm

В комментариях программы указанно что i2c подцеплен к PORTC. Не понимаю где это видно?! Ткните пальцем!
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

// I2C Bus functions (PORTC bit's 4, 5)
Пальцем?
Неа
Боюсь монитор проткнуть
:)
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Встал на лапы
Сообщения: 114
Зарегистрирован: Чт ноя 24, 2011 12:39:13

Сообщение Marchello »

Сгенерировал исходники для каждого порта (PORTA, PORTB, PORTC) с указанием sda=4 scl=5 и вот что у меня получилось:

PORT A
#include <mega16.h>
#asm
.equ __i2c_port=0x1B ;PORTA
.equ __sda_bit=4
.equ __scl_bit=5
#endasm
#include <i2c.h>


PORT B
#include <mega16.h>
#asm
.equ __i2c_port=0x18 ;PORTB
.equ __sda_bit=4
.equ __scl_bit=5
#endasm
#include <i2c.h>


PORT C
#include <mega16.h>
#asm
.equ __i2c_port=0x15 ;PORTC
.equ __sda_bit=4
.equ __scl_bit=5
#endasm
#include <i2c.h>


PORT В
#include <mega16.h>
#asm
.equ __i2c_port=0x12 ;PORTD
.equ __sda_bit=4
.equ __scl_bit=5
#endasm
#include <i2c.h>

Объясните почему у всех разные значения .equ __i2c_port=0x??????? И вообще что эти цифры обозначают?!
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

Это и есть адрес регистра порта (A,B,C,D). Вы хоть устройство МК примерно представляете себе?
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница

Сообщение urry »

Я бы за такие вопросы банил. Может, тролль ?
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

Да не, всякое бывает... Если и тролль, то очень уж толстый :)))
Встал на лапы
Сообщения: 114
Зарегистрирован: Чт ноя 24, 2011 12:39:13

Сообщение Marchello »

Конечно представляю! Я и структуру МК малость поизучал! Я кажется понял в чем вопрос! Сгенерировал еще раз порты но уже на другие биты SDA и SCL и сообразил что 0x1B и есть PORTA, 0x18 - PORTB, 0x15 - PORTC, 0x12 - PORTD!
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

встречный вопрос: ну узнали Вы номер порта и что?

P.S.
так для интереса откройте файл mega16.h
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Встал на лапы
Сообщения: 114
Зарегистрирован: Чт ноя 24, 2011 12:39:13

Сообщение Marchello »

"urry" - не все рождаются гениями! Я сего лишь неделю как изучаю язык программирования! Вы бы лучше умным советом помогли чем проявлять свои звездные таланты!
А вот Engineer_Keen - огромное спасибо! Вы меня не в первый раз выручаете! Надеюсь и в дальнейшем на вашу квалифицированную помощь, так как моя задумка только начинает потихоньку обрастать программой!
Встал на лапы
Сообщения: 114
Зарегистрирован: Чт ноя 24, 2011 12:39:13

Сообщение Marchello »

Danko - да так, спортивный интерес! )))) Просто я дотошный и въедливый! Хочу понимать весь процесс до мелочей, что и куда!
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

Гениями не рождаются ими становятся.
А Вы кстати по какой книге Си изучаете?
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Встал на лапы
Сообщения: 114
Зарегистрирован: Чт ноя 24, 2011 12:39:13

Сообщение Marchello »

Увы СИ я изучаю читая готовые исходники и пробуя их реализовать в своих минипроектах изменяя те или иные условия тем самым понимая как тот или иной оператор работает! Я практик, а не теоретик! Пока не увижу собственными глазами оператор в работе мне хоть сто раз объясняй ни хрена не пойму!
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

Я тоже люблю почитать чужие исходники, но я сначала ищу ответ на вопрос в книге, а уже затем у людей спрашиваю.

Задавать вопросы не грешно, а вот задавать вопросы на которые есть ответ в книгах или на худой конец на ветках форума это ...
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень

Сообщение vitalik_1984 »

Marchello писал(а):Объясните почему у всех разные значения .equ __i2c_port=0x??????? И вообще что эти цифры обозначают?!
Посмотрите так мельком в даташите секцию Register summary, может прояснится?
Контактная информация:
Ответить

Вернуться в «Периферия»