Главная » Статьи » Проекты

Модуль М32 с дисплеем от Nokia3310

 Для планируемых проектов, с использованием дисплея от Nokia3310, собрал что-то типа универсального модуля на микроконтроллере Atmega32 в корпусе TQFP. Платка получилась компактная, размерами 60х45 мм. Из периферии имеются 4 кнопки и один светодиод. Я старался задействовать для подключения дисплея и кнопок менее важные выводы микроконтроллера, чтобы оставалась возможность использовать UART, ШИМ, АЦП, внешние прерывания, внутренний компаратор и прочие ништяки. Дисплей занимает входы/выхода JTAG и подключается к выводам PortC.3-PortC.7. Для подключения кнопок отвел 4 ноги порта А, схема подключения получилась такая:


 Все оставшиеся свободные выводы микроконтроллера выведены на разъем-гребенку PLS. Под программатор вывел отдельный 6-и пиновый разъем, распиновка разъема стандартная, можно шить например вот этим программатором




 С обратной стороны модуля стоит кварц на 16МГц и конденсаторы по питанию.


 Как писал в этой статье, дисплей у меня отрезан от пластмаски и припаян на плату. Этот модуль с дисплеем ставится на основную плату с контроллером.



 Чтобы между модулем дисплея и модулем с контроллером был контакт без запайки я сделал хитрую вещь: продел жилку провода через отверстие и запаял с обеих сторон.




 Таким образом появилось соединение между слоями и в это переходное отверстие можно втыкать штырьковый разъем. Такой метод неплохо заменяет металлизацию переходных отверстий. 




  
 Вот как это выглядит в сборе:

 


  При первом программировании фьюзов микроконтроллера, необходимо отключить JTAG, чтобы можно было использовать выходы мк которые он занимает. Заодно нужно запрограммировать работу от внешнего кварца 16 МГц. Для пони-прог фьюзы можно глянуть здесь. Я шил через Khazam'y, скрин с настройками фьюзов для него:



 


  Для проверки модуля написал небольшую программку, управляющую светодиодом с помощью кнопок через простенькую менюшку: можем включать/выключать светодиод и заставить его мигать с выбираемой частотой (Slow/Fast):



 Работа с кнопками организована на Timer0, каждые 16 мс происходит переполнение таймера и вызывается прерывание. В обработчике прерывания происходит сканирование кнопок. Мигание светодиода организовано на Timer1.

 Ну и напоследок видео работы тестовой прошивки (спасибо пользователю Ruber за снятое видео;))




 Платка разведена в программе Dip-Trace, уж больно его расхваливают и я тоже решил попробовать поработать в нем. И честно сказать мне очень он понравился, осваивается быстро даже методом тыка, есть большая библиотека компонентов, может создавать трехмерную  модель будущей платы. В общем похоже я на него подсел основательно)

  

 

Ниже можете скачать файлы к проекту:

Исходники и прошивка

Файлы печатной платы

Проект в proteus


Статьи по теме:


UPD:

Часто у людей желающих использовать дисплей от 3310 возникает вопрос о согласовании уровней между дисплеем и контроллером, работающим от 5 вольт. На самом деле дисплеей прекрасно работает при напряжении питания 5 вольт, поэтому можно особо не заморачиваться с преобразователями. Вот к примеру мой модуль с дисплеем (дисплей подключен напрямую к контроллеру) подключен и запитан от USB программатора (5V)




Если вы решили собрать подобный модуль предлагаю собрать усовершенствованный вариант: ATmega32 Devboard

Категория: Проекты | Добавлено: 01.08.2011
Просмотров: 35781 | Комментарии: 63 | Теги: NOKIA3310, дисплей, atmega32, модуль, меню | Рейтинг: 5.0/9
Всего комментариев: 631 2 3 »
63 max   (12.02.2014 15:32)
Поставь Bascom-AVR 1.11.9.8 или переименуй имена дублирующихся меток.

62 Rukas   (11.02.2014 21:10)
доброе время суток! мучаю Модуль М32 с дисплеем от Nokia3310. при попытке скомпилировать firmware.bas BASCOM выдаёт ошибки:
Error : 364 Line : 419 Name not allowed, is used by constant/variable [PE], in File : 3310end.bas
Error : 364 Line : 440 Name not allowed, is used by constant/variable [FE], in File : 3310end.bas

а если меняю 3310end.bas на другой (с кириллицей), то выдаёт
Error : 369 Line : 266 Duplicate label name used by const or variable [A], in File : 3310end.bas
Error : 369 Line : 292 Duplicate label name used by const or variable [N], in File : 3310end.bas

в чём может быть проблема?
заранее спасибо

61 Rukas   (04.02.2014 17:08)
кварцы были 16,0RG9, сегодня купил 16.000 - та же песня - видимо всё-таки придётся делать реаниматор

60 Rukas   (01.02.2014 16:03)
sany2
можете скинуть скрин со всеми правильными фьюзами для этой приблуды? для любой софтины. а то как-то не хочется ещё портить...
rukas@bk.ru
заранее спасибо

59 sany2   (01.02.2014 14:01)
Rukas
Убил тоже немало авр-ок из-за непрвильных установок(потом правда восстановил-фузе-доктор в помощь)
Потом exersizze где-то здесь дал ссылку на eXtreme Burner - AVR.Больше ни одной меги не запорол.Пользуюсь им только для установки фуз(там очень понятно).Флеш почему-то у меня не шьёт(да сильно и не старался-удобней из Bascom шить,а вот с фузами в Баскоме несколько раз косячил)

58 Rukas   (31.01.2014 21:31)
всё подключено правильно, перепроверял несколько раз. два разных кварца, разные кондёры

57 Valera18   (31.01.2014 20:05)
Для Rukas

Проверьте правильно ли подключен внешний кварц.
Прошивайте лучше через встроенный программатор в BASCOM-AVR.
Информация по прошивке фьюзов: http://www.getchip.net/posts/068-kak-pravilno-proshit-avr-fyuzy-fuse-bit/

56 Rukas   (31.01.2014 17:30)
почему при установка фьюзов, у меня уже треть мега "закрывается"? и программаторы их больше не видят? шил USBasp через Khazam'y, настройки фьюзов с Вашего скрина

55 exersizze   (31.01.2013 11:24)
А бутлоадер уже есть, его можно взять в папке Samles (в папке куда уставнолен Bascom). Только нужно скомпилировать код из примера под 32ю мегу и все, было описание на примере 64-й атмеги http://avrproject.ru/publ....1-0-109

+1   Спам
54 bec123   (30.01.2013 20:26)
собрал усовершенсвованный вариант. Получилось прикольно, для него бы ботлоудер сделать. Получиось бы чтото вроде ардуино.

53 amv2000   (21.03.2012 09:54)
Точно работает 1.6.2!!! Это видно тот случай, когда лучшее враг хорошего.

52 exersizze   (21.03.2012 09:18)
во! 1.6.2 заработала сразу
http://avrproject.ru/img/khazama.jpg

51 exersizze   (20.03.2012 20:44)
ок,завтра попробую

+1   Спам
50 RD3AVJ   (20.03.2012 20:30)
2 exersizze:
Лови в почте версию Хазама 1.6.2 - работает на 64битной

49 exersizze   (20.03.2012 19:26)
пробовал на свежескачанной 1,7

48 RD3AVJ   (20.03.2012 19:03)
версия какая? У мну 1.6.2

47 amv2000   (20.03.2012 15:25)
Да и у меня запускаться то запускается, но на кнопки ни какие не реагирует только на кнопку выход.

46 exersizze   (20.03.2012 14:40)
у меня этот трюк с безопасностью не прошел.

45 RD3AVJ   (20.03.2012 13:35)
Странно, у меня 7ка и 64разрядная версия, все фунциклирует, один раз Khazama глюкнула и все. Никаких сбоев, никакой разницы. Глюк выражался в том, что прога "прячется" за окна. В системных процессах есть, а на экране - нету. Победил, изменив настройки разрешений для Юзера, в частности поставил галки для нее "разрешить всё"
Данные моего ноута:
Lenovo Win7 PC
Intel Core I5 2430M 2.40GHz
ОЗУ 4ГБ
64 - разрядная операционная система

Короче кликаешь на ярлык Хазамы в панели пуска правой кнопой, выбираешь раздел Безопасность и ставишь галки на полный доступ для всех пользователей. Перегружаешься и вуаля

44 amv2000   (20.03.2012 10:15)
Ну видать не судьба, хватит студии, Bascom и CodeVision за глаза.

43 exersizze   (20.03.2012 10:12)
Тож самое, с 64 биткой подружить так и не удалось.
Пробовал менять в реестре все пути с Program Files на Program Files (х86), безрезультатно.

42 exersizze   (19.03.2012 19:36)
На 7ке и на ХР 32битных запускается без проблем, насчет 64х не пробовал. Завтра проверю на работе

41 amv2000   (19.03.2012 17:41)
Подскажите а казаму Вы под чем запускаете XP или виндовс7?
Пробовал на Виндовс 7Х64 висит на кнопки не реагирует? запускал ХР на VirtualPC то же самое...

40 exersizze   (19.03.2012 12:50)
делалось в версии 2.1.9.5

39 mays44   (19.03.2012 11:41)
и ещё вопрос какой версией диптранса открывать усовершенствованный вариант: ATmega32 Devboard а то тем которым я пользуюсь пишет некоректный формат файла

38 mays44   (19.03.2012 09:27)
это на схеме С3 подписан а на картинке в диптрансе это видимо будут С5 и С6 вот я и спрашиваю про кондёр С3

37 exersizze   (18.03.2012 19:32)
R1-10 килоом
С3-4,7 микрофарад
на схеме подписаны

36 mays44   (18.03.2012 19:11)
можно узнать какой номинал у R1 и C3?

35 exersizze   (14.02.2012 00:49)
Может вам и суждено написать подобную библиотеку? Вникайте, изучайте, создавайте! Мне бы тоже такая библиотека была бы весьма кстати smile

34 Selco   (13.02.2012 23:00)
Всю башку измучал,но цифры большие никак не вывести.Пробывал как картинку выводить получается муть какая-то.пробывал из частей составлять тоже не вышло.ЛЮДИ ДОБРЫЕ поможем друг другу,этот дисплей осилим значит и кучу других можно использовать.

1-30 31-60 61-63
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]






авторизация
Логин:
Пароль:
Комментарии
RF модули HC-12 с UART интерфейсом
24.08.2016 - exersizze:
Да, запросто. Если у всех модулей стоят одинаковые настройки они будут слышать д...
RF модули HC-12 с UART интерфейсом
23.08.2016 - mumrikcheb:
Можно ли создать простую сеть из этих модулей? Чтобы один передавал, остальные п...
RF модули HC-12 с UART интерфейсом
22.08.2016 - exersizze:
Пожалуйста. Не так часто как хотелось бы, но стараюсь)
RF модули HC-12 с UART интерфейсом
22.08.2016 - Scorpushka:
спасибо, что радуешь нас новыми статьями!
Работа с внешней EEPROM в Bascom-AVR на примере 24lc08
16.08.2016 - Limonad:
такая конструкция запишет символы в нужной длинне
For Eew_st = 1 To Len(s...
Работа с внешней EEPROM в Bascom-AVR на примере 24lc08
16.08.2016 - Limonad:
вот такая конструкция соберет страницу для чтения
For I = 1 To 16 'на...
Блок питания MASTECH HY1803D
10.08.2016 - exersizze:
Там не запаяны токоограничительные резисторы, вот на этом фото avrproject.ru/blo...
Блок питания MASTECH HY1803D
10.08.2016 - apofeouz:
привет парни, а кто подскажет как подсветку для него сделать, там где выходы плю...
Минитерминал V.3.0
04.08.2016 - forter:
To exersizze!
А так работает стирание первого символа набранной строки: <...