Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Помогите решить глюк с клавиатурой

Непрочитано 09.12.2009, 02:30  
os1n
Частый гость
 
Регистрация: 09.12.2009
Сообщений: 17
Сказал спасибо: 5
Сказали Спасибо 1 раз в 1 сообщении
os1n на пути к лучшему
По умолчанию Помогите решить глюк с клавиатурой

Набрал схему на основе AVR AT90S8535 подключил все на свете, включая ЖК, клавиатуру 3х4, движок, диодики... пришел покупать - нет.
Купил ATmega8535. Вставил прогу - клавиатура не работает. Собрал программу с нуля! Используя CVavr (code vision) и Proteus 7.5 sp3 prof...
Клавиатура по прежнему лагает.

Симптом: на первое нажатие не реагирует (прога должна сразу ввыводить на ЖК любой набранный символ) и при этом запоминает столбец клавиатуры (непонятно как), далее со второго нажатия клавиши Этого столбца работают справно, а если нажать с другого столбца - символы не распознает, а выдает только # или 0, причем без какой либо логики (видимой).

Бросал прерывание на INT0 и INT1... не помогает.
Игрался с задержками, не помогает.

Уже собрал голую схему с ЖК, МК и клавой - все-равно не фурыкает, а на AT90S8535 - замечательно... ?

Помогите пожалуйста

Код подпрограммы обоаботки прерывания по клаве:
char key;
#define keypad(pin,port) \
port.1=1; \
delay_ms(100); \
if (pin.5==1) key='1'; \
if (pin.6==1) key='2'; \
if (pin.7==1) key='3'; \
port.1=0; \
port.2=1; \
delay_ms(100); \
if (pin.5==1) key='4'; \
if (pin.6==1) key='5'; \
if (pin.7==1) key='6'; \
port.2=0; \
port.3=1; \
delay_ms(100); \
if (pin.5==1) key='7'; \
if (pin.6==1) key='8'; \
if (pin.7==1) key='9'; \
port.3=0; \
port.4=1; \
delay_ms(100); \
if (pin.5==1) key='*'; \
if (pin.6==1) key='0'; \
if (pin.7==1) key='#'; \
port.4=0; \
Реклама:
os1n вне форума  
Непрочитано 09.12.2009, 11:33  
georgiy_12
Частый гость
 
Регистрация: 05.02.2009
Сообщений: 42
Сказал спасибо: 41
Сказали Спасибо 10 раз(а) в 8 сообщении(ях)
georgiy_12 на пути к лучшему
По умолчанию Re: Помогите решить глюк с клавиатурой

в даташите написано на ATmega8535 нужно установить фуз бит S8535C для решения совместимости.
AT90S8535 Compatibility The ATmega8535 provides all the features of the AT90S8535. In addition, several new
features are added. The ATmega8535 is backward compatible with AT90S8535 in most
cases. However, some incompatibilities between the two microcontrollers exist. To
solve this problem, an AT90S8535 compatibility mode can be selected by programming
the S8535C fuse. ATmega8535 is pin compatible with AT90S8535, and can replace the
AT90S8535 on current Printed Circuit Boards. However, the location of fuse bits and the
electrical characteristics differs between the two devices.
georgiy_12 вне форума  
Непрочитано 09.12.2009, 11:49  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Помогите решить глюк с клавиатурой

А что у вас с тактовой частотой? Раз схема для classic - значит, кварц. А в Меге с завода установлен режим - встроенный генераторо на 1 МГц. Соответственно, все времянки другие будут. Установите в фузах CKSEL (default = 0001, надо 1110)
__________________
[ жизнь приятна и красива, если выпить литр пива ]
nml вне форума  
Непрочитано 09.12.2009, 12:26  
MisterDi
Почётный гражданин KAZUS.RUN
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,284
Сказал спасибо: 441
Сказали Спасибо 1,040 раз(а) в 701 сообщении(ях)
MisterDi на пути к лучшему
По умолчанию Re: Помогите решить глюк с клавиатурой

Если Вы в подпрограмме прерывания используете задержки по 100мС, то у меня возникают большие сомнения в работоспособности такого подхода.
MisterDi вне форума  
Непрочитано 10.12.2009, 00:49  
os1n
Частый гость
 
Регистрация: 09.12.2009
Сообщений: 17
Сказал спасибо: 5
Сказали Спасибо 1 раз в 1 сообщении
os1n на пути к лучшему
По умолчанию Re: Помогите решить глюк с клавиатурой

Извиняюсь за задержки - это черновой вариант...
В рабочей программе их естественно нет.

Совместимость -это не то, потому что программу по АТмега делал с нуля и настраивал процессов с помощью Wizard'a и просто пробовал прицепить клавиатуру на внешнее прерывание.

А в качестве генератора использую встроенный кварц на 1 МГц.
os1n вне форума  
Непрочитано 10.12.2009, 07:46  
mrKirill
Вид на жительство
 
Аватар для mrKirill
 
Регистрация: 12.04.2007
Сообщений: 339
Сказал спасибо: 2
Сказали Спасибо 34 раз(а) в 30 сообщении(ях)
mrKirill на пути к лучшему
По умолчанию Re: Помогите решить глюк с клавиатурой

Можно было бы и выложить файлы проекта в CVAVR и Proteus. А так, гадать на кофейной гуще - не серьезно. Вы привели один кусок кода, а может ошибка в другом месте?
__________________
Гидравлика + электроника = POWER
mrKirill вне форума  
Непрочитано 10.12.2009, 09:56  
Vetal-soft
Временная регистрация
 
Регистрация: 04.08.2006
Сообщений: 67
Сказал спасибо: 2
Сказали Спасибо 20 раз(а) в 11 сообщении(ях)
Vetal-soft на пути к лучшему
По умолчанию Re: Помогите решить глюк с клавиатурой

Вот примерчик работы с клавиатурой 4х4
Вложения:
Тип файла: zip drivers_CK-06.zip (1.8 Кб, 100 просмотров)
Vetal-soft вне форума  
Непрочитано 10.12.2009, 13:53  
os1n
Частый гость
 
Регистрация: 09.12.2009
Сообщений: 17
Сказал спасибо: 5
Сказали Спасибо 1 раз в 1 сообщении
os1n на пути к лучшему
По умолчанию Re: Помогите решить глюк с клавиатурой

Выкладываю файлы:
CVavr
Proteus
keypad.h!
output.h!
Вложения:
Тип файла: rar Keyboard.rar (25.7 Кб, 84 просмотров)
os1n вне форума  
Непрочитано 10.12.2009, 16:25  
AndryG
Вид на жительство
 
Регистрация: 22.06.2006
Адрес: Украина
Сообщений: 306
Сказал спасибо: 19
Сказали Спасибо 32 раз(а) в 24 сообщении(ях)
AndryG на пути к лучшему
По умолчанию Re: Помогите решить глюк с клавиатурой

А выложить и проект CV ? Перекомпилить - надо изобретать сам проект.
Файл протеуса пользительно ложить прямо возле COF и исходников ... нарывался на глюки, которые исчезали, когда переложил "всё в одной папке"
AndryG вне форума  
Непрочитано 11.12.2009, 01:31  
os1n
Частый гость
 
Регистрация: 09.12.2009
Сообщений: 17
Сказал спасибо: 5
Сказали Спасибо 1 раз в 1 сообщении
os1n на пути к лучшему
По умолчанию Re: Помогите решить глюк с клавиатурой

››Файл протеуса пользительно ложить прямо возле COF и исходников ... ››нарывался на глюки, которые исчезали, когда переложил "всё в одной ››папке"

Собсна говоря все так и делалось. Дело это не меняет.
Я грешу на Proteus.. Попробую новый скачать (может этот криво крякнут?).

Вот выкладываю полностью обрезанную прогу, вместе с проектом и проектом протеуса. Тут должны работать только клавиатура и монитор.

Что интересно, что при дебаге при первом нажатии на клаву, проц даже не регистрирует нажатие (прерывание по ИНТ1), но при этом таки запоминается столбец!
Вложения:
Тип файла: rar Keyb2.rar (89.3 Кб, 77 просмотров)
os1n вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти схемы Toshiba Satellite A300-1ec и Toshiba Satellite A300d Alex-Alpha Поиск схем. Делимся схемами 1 11.03.2010 22:09
Помогите перевернуть пилу akula58 Электроника - это просто 73 11.02.2010 11:30
Помогите решить задачки Doc_Brown Автоматика и аппаратура связи 0 29.10.2009 23:18
Помогите решить, плиз: usb - не опознается Haze_ Микроконтроллеры, АЦП, память и т.д 3 09.10.2009 21:35


Часовой пояс GMT +4, время: 16:03.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.