Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/83: Рейтинг темы: голосов - 83, средняя оценка - 4.57
Syryus
0 / 0 / 0
Регистрация: 16.03.2011
Сообщений: 9
1

ATMega8A + LM75AD + WH1602B = что-то_страшное.asm

19.03.2011, 19:59. Просмотров 15023. Ответов 16
Метки нет (Все метки)

Здравствуйте!В электронике я недавно,прочел статьи DY HOTTа про AVR,попробывал сделать термометр и вот что получилось. В студии проверяю - циклится на LCD и I2C.В Протеусе тоже только LCD загорается.и постоянно идет передача данных к нему каких то. Тестовой платы нет,проверить не могу. Посмотрите пожалуйста на сколько все плохо в коде?)где неправильная логика?Буду благодарен,надеюсь хотя бы будет понятно что я пытался сделать. Термометр собираюсь подключать на PD4 и PD5,у LCD:
PD0-E
PD1-RW
PD2-RS
DB0 - PB6
DB1 - PB7
DB2 - PB0
DB3 - PB1
DB4 - PB2
DB5 - PB3
DB6 - PB4
DB7 - PB5

[40.09 Кб]
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2011, 19:59
Ответы с готовыми решениями:

Счётчик импульсов, полученных делением тактовой частоты (ATmega8A, ASM)
Здравствуйте. Помогите пожалуйста с написанием программы на ассемблере. Требуется написать...

LCD WH1602B
Здравствуйте! Помогите пожалуйста найти ошибку в коде. Только начал изучать программирование МК,...

Подключение WH1602B
в одном примере на IAR для STM32 есть библиотека. http://eugenemcu.ru/article/STM32/STM32 ......

Инициализация LCD WH1602B [stm32f4]
Помогите с инициализацией LCD на wh1602 Работаю с stm32f4 discovery Вот код: #include...

Hello World на символьном ЖКИ WH1602B (ATMega32)
Добрый день, программатор AVRISP-MKII, AT90usb162, AVRStudio 5(beta) ATMega32 LCD - wh1602B ...

16
Syryus
0 / 0 / 0
Регистрация: 16.03.2011
Сообщений: 9
20.03.2011, 19:50 2
54 просмотра, 7 скачиваний и неодного ответа.неужели все НА СТОЛЬКО плохо?
0
PRS
0 / 0 / 0
Регистрация: 12.07.2011
Сообщений: 3
20.03.2011, 20:12 3
Вроде писали, что хальтовская библиотека не работает в протеусе. В студии y2s не дождется установки бита стопа.
Сделай для начала на готовых библиотеках из microC. Они точно в протеусе работают. Сам проверял:)
0
Syryus
0 / 0 / 0
Регистрация: 16.03.2011
Сообщений: 9
20.03.2011, 20:24 4
про протеус понятно.мне бы логику проверить,я вообще правильно все делаю?люди которые в этом давно ведь просто взглянув на код могут сказать диагноз работоспособно это или нет :) тем более что библиотеки ДиХальта и Медведа,в них то все должно работать.я только инициализацию ЛСД немного изменил,как мне удобнее.Именно мой код жизнеспособен?)
0
20.03.2011, 20:24
BykTiho
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
21.03.2011, 01:14 5
Цитата Сообщение от Syryus
люди которые в этом давно ведь просто взглянув на код могут сказать диагноз работоспособно это или нет :) тем более что библиотеки
Работоспособно все. Иногда только требуется обработать напильником...
0
Ipyssop
0 / 0 / 0
Регистрация: 18.03.2011
Сообщений: 15
21.03.2011, 12:45 6
Экран вообще оживлялся тобой?
Почитай вот тут PinBoard в руках Чайника - Assembler и LCD
Я всегда следую одному простому правилу - разделяй и властвуй, т.е. сделал чтобы экран работал, то приступаешь к реализации ADC и т.д.
0
Syryus
0 / 0 / 0
Регистрация: 16.03.2011
Сообщений: 9
21.03.2011, 18:52 7
Цитата Сообщение от BykTiho
Работоспособно все. Иногда только требуется обработать напильником...
Намек понят,спасибо))

Цитата Сообщение от Ipyssop
Экран вообще оживлялся тобой?
Почитай вот тут PinBoard в руках Чайника - Assembler и LCD
Я всегда следую одному простому правилу - разделяй и властвуй, т.е. сделал чтобы экран работал, то приступаешь к реализации ADC и т.д.
В том то я дело что я перед тем как что-то паять хотел убедиться в том что такой код ничего у меня из строя не выведет.за статью спасибо конечно)

как все спаяю расскажу о результатах,только будет это наверное не очень скоро.
0
zhu4oro
0 / 0 / 0
Регистрация: 03.12.2010
Сообщений: 167
22.03.2011, 23:06 8
Цитата Сообщение от Syryus
Цитата Сообщение от BykTiho
Работоспособно все. Иногда только требуется обработать напильником...
Намек понят,спасибо))

Цитата Сообщение от Ipyssop
Экран вообще оживлялся тобой?
Почитай вот тут PinBoard в руках Чайника - Assembler и LCD
Я всегда следую одному простому правилу - разделяй и властвуй, т.е. сделал чтобы экран работал, то приступаешь к реализации ADC и т.д.
В том то я дело что я перед тем как что-то паять хотел убедиться в том что такой код ничего у меня из строя не выведет.за статью спасибо конечно)

как все спаяю расскажу о результатах,только будет это наверное не очень скоро.
На Вашем месте я бы сначала спаял схему, а потом под неё писал бы программу. Запомните, программным способом, при разумном подходе, вы никогда не навредите железу. Попробуйте использовать модульную систему при проектировании Вашего устройства. Плата контроллера со штырьками возле каждого вывода - материнская плата. А дальше Ваша фантазия. У меня, например, несколько модулей: релейный модуль, симисторный модуль, модуль часов реального времени, модуль семисегментного индикатора, модуль датчика температуры LM75A, модуль блока питания и ещё несколько модулей. И я никогда не пользовался симуляторами и Вам не советую - они глючные и это ФАКТ! С Ipyssop я полностью согласен.
0
Syryus
0 / 0 / 0
Регистрация: 16.03.2011
Сообщений: 9
22.03.2011, 23:59 9
Хочется же все и сразу))я решил попробовать сделать печатку(заодно и лишний опыт),потом все это спаяю,и буду сначала ЛСД мучать,как будет работать начну датчик подключать,ну а потом все это дело в нормальный вид приводить (в программном смысле). Надо только щас определиться с разверткой(по-моему это так называется) платы,чтобы не пришлось переделывать. Ну а если что не так пойдет сделаю новую печатку, благо она у меня будет примерно 7х4 см,текстолита не жалко. Практика на сколько я знаю лучший двигатель в процессе обучения.
0
BykTiho
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
23.03.2011, 07:09 10
Цитата Сообщение от Syryus
Практика на сколько я знаю лучший двигатель в процессе обучения.
Ничто не толкает так сильно вперед, как хороший пинок сзади (с)
0
Syryus
0 / 0 / 0
Регистрация: 16.03.2011
Сообщений: 9
28.03.2011, 22:29 11
Вот такая плата.не слишком сурово?) просто не знал как развести,это лучшее что получилось.

0
dsodir
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,284
28.03.2011, 22:31 12
Мне кажется или SDA и SCL подтянуты к земле, а не к +5 ?
0
Syryus
0 / 0 / 0
Регистрация: 16.03.2011
Сообщений: 9
28.03.2011, 22:33 13
да,перепутал.спасибо!

Еще поменял местами пины портов,чтобы не наматывать дорожки вокруг меги. Теперь так:
PB6 - DB0
PB7 - DB1
PB5 - DB2
PB4 - DB3
PB3 - DB4
PB2 - DB5
PB0 - DB6
PB1 - DB7

0
Гарнист
0 / 0 / 0
Регистрация: 22.01.2010
Сообщений: 3,496
28.03.2011, 23:31 14
Геморрой будет с выводом. Это я авторитетно заявляю, как жопоголик со стажем. Лучше уж 4мя битами подключить, но по порядку, чем таблицу перекодировки мутить. Немного убудет в быстродействии, зато программа будет на 256 байт короче.
0
dsodir
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,284
28.03.2011, 23:40 15
Какой таблица перекодировки? О_о
Перекинуть в рандомном порядке биты из одного регистра в другой вроде-как не сложно..
0
Гарнист
0 / 0 / 0
Регистрация: 22.01.2010
Сообщений: 3,496
28.03.2011, 23:44 16
Но медленно. Берём бит оттуда, кладём сюда. Повторить восемь раз. То ли дело - берём байт, добавляем адрес (при выровненной таблице в памяти - и этого не надо, просто взять вторую половину адреса), достаём байт.
Хотя - согласен. не сложно.
0
Syryus
0 / 0 / 0
Регистрация: 16.03.2011
Сообщений: 9
29.03.2011, 22:50 17
По сути да - 4 бита было бы лучше даже по разводке платы. Но я уже во-первых припаял провода к ЛСД,а отпаивать не хочется, во-вторых я же решил на 8 бит делать,так уж буду тогда делать так,благо память чипа позволяет, да и в плату я это все сумел уместить. Хочется наконец то что-то сделать быстрее,уже теория поднадоела,и постоянные переделки они отбивают желание. Кардинально менять в этой версии не буду пожалуй ничего, просто интересуют ваше мнение,и интересно почитать ваши замечания, чтобы сделать 2ю версию девайса более продуманной. Эту буду делать "на скоряк",новичкам ведь всегда хочется бежать впереди паровоза :) Еще раз спасибо что поддерживаете тему, интересно и полезно знать ваше мнение.
0
29.03.2011, 22:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.03.2011, 22:50

Проблема с дисплеем WH1602B-REI-CTV#
Хочу задействовать очень красивый дисплейчик (он светит красными цифрами а-ля олдскульный...

Подключение LCD WH1602B-YYH-CTK к Atmega16
Здравствуйте. Никак не могу связать LCD c микроконтроллером. Перелопатил кучу форумов, разобрался в...

Delphi и ASM - не работает вызов функции Invoke через asm
В Delphi не работает вызов функции Invoke через asm. часть кода: asm invoke...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru