Важная информация

User Tag List

Страница 9 из 31 ПерваяПервая ... 5678910111213 ... ПоследняяПоследняя
Показано с 81 по 90 из 303

Тема: Орион-128: Контроллер PS/2-клавиатуры

  1. #81

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vladimir_S Посмотреть сообщение
    vinxru, еще осенью 90г собрал Орион и решил убрать эту полосу методом "ползучего эмпиризма при полном отсутствии теории", он же в простонародье "метод тыка". И вот 3-4 раза тыкнул и чисто случайно попал куда надо. На фото твоей платы на месте преобразователя стоят два электролита, а рядом с раз'емом третий. Так вот совсем рядом с ним переход с одной стороны на другую куда очень удачно встает конденсатор 300 пикушек. Вот как сейчас помню у меня стояла маленькая зеленая КМка. Проверено на нескольких Орионах.
    "Картинку в студию!"
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  2. #82

    Регистрация
    12.12.2011
    Адрес
    г. Иркутск
    Сообщений
    2,509
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    "Картинку в студию!"
    Картинку чего?

  3. #83

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vladimir_S Посмотреть сообщение
    Картинку чего?
    Ну, вы написали длинное (и в то же время нечеткое описание) ссылаясь на некую картинку (хз какую), из которого совершенно не понятно куда ставить конденсатор (думаю, там этих переходных отверстий около преобразователя не одно и не два).

    Куда понятнее было бы тупо вырезать в Paint кусок фотки, на которую ссылаетесь, нужное отверстие обвести в кружочек (или пририсовать указывающую стрелочку) и результат художеств сюда запостить.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  4. #84

    Регистрация
    12.12.2011
    Адрес
    г. Иркутск
    Сообщений
    2,509
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Куда понятнее было бы тупо вырезать в Paint кусок фотки, на которую ссылаетесь, нужное отверстие обвести в кружочек (или пририсовать указывающую стрелочку) и результат художеств сюда запостить.
    Понятно. Картинка на Орион:разное #322. А вот насчет нужного отверстия - дак ведь больше 20 лет прошло. И хоть у меня в удостоверении написано " должность - электроник", но я ведь не тот электроник, уже точно не помню.
    Последний раз редактировалось Error404; 20.03.2012 в 12:06. Причина: Вставил ссылку на сообщение с картинкой

  5. #85

    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Записей в дневнике
    21
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я вчера сел писать прошивку и заглох в самом начале. Читать данные с клавиатуры получается (я это делал раньше), а вот с отправкой команд проблемы.

    В 80% случаев клавиатура не принимает команду. Я уже и задержки разные делал везде. И из интернета программы запускал. Всё одно и то же.

    Код:
    void send(char data) {
      setClock0();
      delay_us(200);
      setData0();
      delay_us(20);
      setClock1();
      waitClock0(); // Ждем 0
      char parity=0;
      for(char i=0; i<8; i++) {
        if(data&1) { setData1(); parity++; } else setData0();
        data >>= 1;
        waitClock(); // Ждем сначала 1, потом 0 (виснет в 80% тут)
      }
      // Бит четности
      if(parity&1) setData0(); else setData1();
      waitClock();
      // Стоповый бит
      setData1();
      waitClock();
      // Пропуск ACK
      waitClock1(); // Ждем 1
    }
    
    void setData1() { DDRC &= ~1; PORTC |= 1; }
    void setData0() { PORTC &= ~1; DDRC |= 1;  }
    Я вчера даже дизассемблировал прошивку caro, что бы понять, почему оно не работает. Но пока её не запускал.

    Код:
    send:		rcall	setClock0
    		rcall	delay2
    		cbi	PORTC, DATA_LINE	; setData0();
    		sbi	DDRC, DATA_LINE		; выход данных
    		rcall	delay1
    		cbi	DDRC, CLOCK_LINE	; setClock1();
    		rcall	delay1
    		ldi	r19, 8	
    		clr	r2			; parity = 0;
    loc_162:	sbic	PINC, CLOCK_LINE	; for(8..1) {
    		rjmp	loc_162			; waitClock0();
    		ror	r21			; data >>= 1;
    		brcs	loc_168			; if(carry) { setData1(); parity++; } else setData0();
    		cbi	PORTC, DATA_LINE
    		rjmp	loc_16A
    loc_168:	sbi	PORTC, DATA_LINE
    		inc	r2
    loc_16A:	sbis	PINC, CLOCK_LINE	; waitClock1();
    		rjmp	loc_16A
    		dec	r19
    		brne	loc_162			; }
    loc_16E:	sbic	PINC, CLOCK_LINE	; waitClock0();
    		rjmp	loc_16E
    		sbi	PORTC, DATA_LINE	; if(parity&1) setData0(); else setData1();
    		sbrc	r2, 0
    		cbi	PORTC, DATA_LINE
    loc_173:	sbis	PINC, CLOCK_LINE	; waitClock1();
    		rjmp	loc_173
    loc_175:	sbic	PINC, CLOCK_LINE	; waitClock0();
    		rjmp	loc_175
    		sbi	PORTC, DATA_LINE	; setData1();
    loc_178:	sbis	PINC, CLOCK_LINE	; waitClock1();
    		rjmp	loc_178
    		cbi	DDRC, DATA_LINE	; вход данных
    loc_17B:	sbic	PINC, CLOCK_LINE	; waitClock0();
    		rjmp	loc_17B
    loc_17D:	sbis	PINC, CLOCK_LINE	; waitClock1();
    		rjmp	loc_17D
    		ret
    Тут отличие в том, что установка setData1() выполняется без изменения DDR... но вроде бы я так пробовал.

    void setData1() { PORTC |= 1; }
    void setData0() { PORTC &= ~1; }
    Последний раз редактировалось vinxru; 23.03.2012 в 16:10.

  6. #86

    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Записей в дневнике
    21
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я нашел проблему. Подтягивающих регистров внутри МК не хватает. И еще я провода data и clock местами перепутал, но вроде я их не один раз уже менял.

  7. #87

    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Записей в дневнике
    21
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Написал первую версию прошивки для ATMega16 на Си. Отлично работает, даже если прерывание вызывать при каждой записи на шине.

    Пошел делать плату.
    Вложения Вложения
    Последний раз редактировалось vinxru; 25.03.2012 в 21:16.

  8. #88

    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Записей в дневнике
    21
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию



    Пилить текстолит сегодня уже поздно. Плату буду делать завтра.

    Делаю плату точно такого же размера, как плата ROM-диска. Разъем клеится на термоклей.

    Последний раз редактировалось vinxru; 25.03.2012 в 22:34.

  9. #89

    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Записей в дневнике
    21
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Что то, внезапно, написал программу, что бы удобно настраивать таблицу преобразования 86РК / Орион -> PC.

    Работает в окне браузера. (Написано на HTML и JS.)
    http://tmaplatform.ru/vinx_home_page/86rk2.html

    (Версия 2 от 27-03-2012)



    ---------- Post added at 14:12 ---------- Previous post was at 13:36 ----------

    У ATMega16 еще осталось несколько свободных ног. Добавлю еще порт джойстика.

    И еще я не нашел Ъ

    ---------- Post added at 14:38 ---------- Previous post was at 14:13 ----------

    По умолчанию раскладки будут такие. Вы их можете поменять.

    Версия 6


    UPD: На клавишу [' " Э] в английской раскладке повесил SHIFT+2

    Английская раскладка

    80,88,96,104,112,120,83,68,119,0,0,0,2048,
    0,4096,0,99,74,82,90,98,106,114,122,67,75,
    66,107,91,89,73,64,342,0,123,595,107,65,78,
    126,108,86,102,79,110,77,125,70,95,111,81,0,
    72,348,122,67,75,603,1024,76,94,100,116,124,69,
    85,93,101,83,594,103,98,106,114,512,87,71,92,
    118,84,117,109,99,115,123,512,105,74,82,90,81,
    256,0,0,127,0,0,0,256,97,121,113,66,115

    Русская раскладка

    80,88,96,104,112,120,83,580,631,0,0,0,2048,
    0,4096,0,99,74,82,90,98,106,114,122,67,75,
    66,107,91,89,73,64,342,0,123,595,107,65,85,
    92,110,93,108,117,124,95,111,87,69,71,81,0,
    72,348,122,67,75,603,1024,116,79,126,76,70,86,
    125,101,100,118,103,615,98,106,114,512,78,119,94,
    109,77,102,71,84,68,115,512,105,74,82,90,81,
    256,0,0,127,0,0,0,256,97,121,113,66,115

    Редактор: http://tmaplatform.ru/vinx_home_page/86rk2.html
    Последний раз редактировалось vinxru; 27.03.2012 в 14:46.

  10. #90

    Регистрация
    12.12.2011
    Адрес
    г. Иркутск
    Сообщений
    2,509
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    vinxru, Хотелось бы соответствия с надписями на клавишах.

Страница 9 из 31 ПерваяПервая ... 5678910111213 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 34
    Последнее: 24.11.2022, 16:05
  2. Ответов: 146
    Последнее: 31.05.2020, 19:00
  3. БезWaitовый контроллер клавиатуры
    от caro в разделе Устройства ввода
    Ответов: 68
    Последнее: 01.07.2015, 05:42
  4. Куплю контроллер клавиатуры
    от AAA в разделе Барахолка (архив)
    Ответов: 121
    Последнее: 01.02.2008, 18:33
  5. Контроллер клавиатуры для Скорпиона
    от Nikolaj Amosov (500:812/02.26) в разделе Scorpion
    Ответов: 1
    Последнее: 15.11.2005, 23:05

Ваши права

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