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

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

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

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

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

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

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

 
Опции темы
Непрочитано 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
Сказал спасибо: 42
Сказали Спасибо 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,378
Сказал спасибо: 1,955
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Помогите решить глюк с клавиатурой

А что у вас с тактовой частотой? Раз схема для classic - значит, кварц. А в Меге с завода установлен режим - встроенный генераторо на 1 МГц. Соответственно, все времянки другие будут. Установите в фузах CKSEL (default = 0001, надо 1110)
__________________
[ жизнь приятна и красива, если выпить литр пива ]
nml вне форума  
Непрочитано 09.12.2009, 12:26  
MisterDi
Почётный гражданин KAZUS.RU
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
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
Сообщений: 348
Сказал спасибо: 2
Сказали Спасибо 36 раз(а) в 32 сообщении(ях)
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
Адрес: Украина
Сообщений: 308
Сказал спасибо: 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, время: 01:11.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot