Список форумов forum.rasskazovo.ru forum.rasskazovo.ru
Форум Городского Портала
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Microchip
На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  След.
 
Начать новую тему   Ответить на тему    Список форумов forum.rasskazovo.ru -> Компьютеры / Оргтехника
Предыдущая тема :: Следующая тема  
Автор Сообщение
MAZ
Старожил


Зарегистрирован: 03.03.2009
Сообщения: 129
Откуда: мегаполис Рассказово

СообщениеДобавлено: Ср 13 Янв 2010 21:29    Заголовок сообщения: Ответить с цитатой

Значит написал "скромную" статью по программированию. Размещаю целиком для красоты, без файлообменика.
Схема программатора.

Программатор подключается к СОМ порту ПК. И работает под управлением программы IC-prog
Программатор проще не бывает. Если серьезно заниматься, то таким не очень удобно. (У меня два USB программатора/отладчика и три самодельных для СОМ.) Для первого раза, попробовать можно.
Теперь подробней
    Для программирования микроконтроллера нужно воспользоваться разъёмом ISCP. На время программирования все перемычки удаляется
    Для программирования рекомендуется использовать некоммерческую программу IC-Prog , последнюю версию которой можно бесплатно загрузить с www.ic-prog.com (около 600 кбайт).
    Установка и настройка программы IC-PROG:
    Распакуйте программу в отдельный каталог. В образовавшемся каталоге должны находиться файл:
    icprog.exe - файл оболочки программатора.
    Запустите файл icprog.exe. Выберите "Settings" >> "Options" >> вкладку "Language" >> установите язык "Russian" и нажмите "Ok".
    Согласитесь с утверждением "You need to restart IC-Prog now" (нажмите "Ok"). Оболочка программатора перезапустится.
    В окне «настройки программатора»
    Проверьте установки, выберите используемый вами COM-порт, нажмите "Ok".



    Далее, "Настройки" >> "Опции" >> выберите вкладку "Общие" >> установите "галочку" на пункте "Вкл. NT/2000/XP драйвер" >> Нажмите "Ok" >> если драйвер до этого не был установлен на вашей системе, в появившемся окне "Confirm" нажмите "Ok" . Драйвер установится, и оболочка программатора перезапустится.
    Программа готова к работе.

Программирование

Существует особенность при программировании PIC12F629. Дело в том, что для экономии выводов микроконтроллера используется внутренний тактовый генератор. На заводе, при выпуске контроллера, он калибруется. В память чистого контроллера записывается калибровочная константа тактового генератора (например 3448), она расположена в самой последней ячейки памяти программ. (адрес 3FFh).


Поэтому, подключив программатор и настроив IC-Prog, необходимо выбрать в окне тип контроллера (PIC12F629) и считать его память. Найти калибровочную константу и на всякий случай именно для этого контроллера записать её на бумажке или еще где-то.
После этого открыть файл, в IC-Prog, с кодом который надо записать в память, расширение hex. Биты конфигурации будут установлены автоматически. Надо проверить калибровочную константу записана ли она. Если нет, то забить вручную щелкнув по последней ячейки памяти программ.

Нажать кнопку "программировать".
Програма может спросить


здесь надо сказать "да"



а здесь "НЕТ"

Если будет подтверждение успешного программирования, то значит все прошло успешно. но считать микросхему и посмотреть калибровочную константу, на всякий случай, нужно. Вернуть перемычки на место, отключить разъем ICSP. И с замиранием сердца, можно включать.

Общие рекомендации по ICSP внутрисхемному программированию
PIC-контроллеров

При использовании ICSP на плате устройства следует предусмотреть возможность подключения программатора. При программировании с использованием ICSP к программатору должны быть подключены 5 сигнальных линий:
Линия Назначение
GND (VSS) Общий провод.
VDD (VCC) + напряжение питания.
MCLR' (VPP) Вход сброса микроконтроллера / вход напряжения программирования.
DATA Двунаправленная шина данных в режиме программирования.
CLOCK Вход синхронизации в режиме программирования.
Остальные выводы микроконтроллера не используются в режиме внутрисхемного программирования.
Схемное решение:
• Линия MCLR' развязывается от схемы устройства перемычкой, которая в режиме внутрисхемного программирования (ICSP) размыкается, передавая вывод MCLR в монопольное управление программатору.
• Линия VDD в режиме программирования ICSP отключается от схемы устройства перемычкой. Это необходимо для исключения потребления тока от линии VDD схемой устройства.
• Шина данных в режиме программирования изолируется по току от схемы устройства перемычкой.
• Шина синхронизации PIC в режиме программирования так же изолируется по току от схемы устройства перемычкой.
ВНИМАНИЕ!!!
Рекомендуемая длина соединительного кабеля ICSP не более 50 см.

Вопросы будут? Если нет, пишу программы.


Последний раз редактировалось: MAZ (Чт 09 Авг 2012 13:36), всего редактировалось 5 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
MAZ
Старожил


Зарегистрирован: 03.03.2009
Сообщения: 129
Откуда: мегаполис Рассказово

СообщениеДобавлено: Чт 14 Янв 2010 09:50    Заголовок сообщения: Ответить с цитатой

Программа для передатчика готова.
Набросал алгоритм программы передатчика, чисто для интересующихся.



    Пояснения.
    Как видно, программа всегда должна быть циклична. Если программа остановилась, значит, она зависла (глюк, в народе).
    Зачем задержка 20мс при опросе кнопок? Для устранения так называемого «дребезга контактов». Если у нас появился низкий уровень на входе, где подключена кнопка, то подождем 20мс, и еще раз опросим. Если опять низкий уровень, значит, кнопка точно нажата.
    Что за число записываем в регистр кода? Это просто ключ кнопки. Нам не нужно строить супер защищенную систему, обходимся одним байтом.
    Для интереса, если применили число из 8 байт, то на подбор всех вариантов, самому мощному компьютеру понадобилась около 60 000 лет.
    В 8 байтах содержится, если я нигде не ошибся: 18446744073709551616 вариантов кода.
    Программу кодека описывать не буду, авторское право.

    Прошу извинить, если оформление алгоритма отличается от стандарного. Когда я учился, даже ПК не было. А во всем остальном самоучка и как мне, надеюсь и вам, удобно, так и делаем. Сертификация нам не грозит. .


Не люблю, когда, что-то обещал, и висит.
Постараюсь по быстрей сделать приемник, но там немножко посложней.
Не вижу вопросов?


Последний раз редактировалось: MAZ (Вт 26 Янв 2010 17:54), всего редактировалось 2 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
nech
Старожил


Зарегистрирован: 15.07.2007
Сообщения: 165
Откуда: Рассказово

СообщениеДобавлено: Чт 14 Янв 2010 17:02    Заголовок сообщения: Ответить с цитатой

ух, информации много - переваривать не успеваю...

нам бы определиться чего и где из деталек искать!
может типа списка:

"название детали" - "количество"
_________________
Если человека укусил вампир - то он тоже станет вампиром.
Но иногда складывается впечатление, что многих покусали бараны.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
MAZ
Старожил


Зарегистрирован: 03.03.2009
Сообщения: 129
Откуда: мегаполис Рассказово

СообщениеДобавлено: Чт 14 Янв 2010 17:38    Заголовок сообщения: Ответить с цитатой

Есть новый магазинчик в Тамбове, на Интернациональной, где был "Орфей" с заднего двора. Выбор есть, но "Митино".
Т.е. по полной не найдешь.
Их можно заказать, могу дать приличную базу.
В принципе, могу все дать по себестоимости, все новое. Тут уже дело такое. В начале, всегда так. Узнаем друг друга. Чтобы не чувствовать себя, как сейчас модно, полным лохом.
Могу программатор дать по пользоваться, чтобы не паять.
Хорошо, список сделаю, и даже с ценой, для ориентира. Но после того как закончу программы и протестирую.
Конечно въехать сразу тяжело. Это быстро происходит на конкретном "железе". Главное пока, иметь общее представление.


Последний раз редактировалось: MAZ (Вт 26 Янв 2010 17:54), всего редактировалось 2 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
MAZ
Старожил


Зарегистрирован: 03.03.2009
Сообщения: 129
Откуда: мегаполис Рассказово

СообщениеДобавлено: Пт 15 Янв 2010 14:56    Заголовок сообщения: Ответить с цитатой

Я вот тут подумал, если у нас везде практически "стационар".
Зачем тогда корпус SOIC для контроллеров? Обычный DIP и можно забыть о внутрисхемном программирование. Панелька, запрограммировал, вставил. Ни разъемов, ни перемычек, кабелей и т.п.
Как?


Последний раз редактировалось: MAZ (Вт 26 Янв 2010 17:55), всего редактировалось 3 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
MAZ
Старожил


Зарегистрирован: 03.03.2009
Сообщения: 129
Откуда: мегаполис Рассказово

СообщениеДобавлено: Пт 15 Янв 2010 15:04    Заголовок сообщения: Ответить с цитатой

Закончил программу приемника.
Вот очень общий алгоритм.



    Пояснение.
    Эта программа посложней чем у передатчика.
    Для общего понимания, я ввел "прерывание" от компаратора при приходе какого нибудь импульса, помеха , начало кодовой посылки без разницы. Определяется сигнал, если полезный декодируется и нужная нагрузка управляется. Когда нагрузка включается запускается встроенный таймер (счетчик) TMR1. Настроил его чтобы он считал каждый 0,5 сек и прерывал основную программу. Фиксируется, что прошло 0,5 сек и программа пошла дальше. Очень удобно, счет времени работы нагрузок идет как бы "автоматически". В это время мигает светодиод. Загорается на 0,5 сек через 3 сек.
    Т.е. надеюсь, стало понятно, что такое прерывание. Стоит тупо мужик с рычагом, мимо проносятся поезда (программа), загорелся красный свет (условие прерывания), нажал рычаг. Поезда стоят. И что ему ни говори, он свою работу знает четко. Красный, дернуть рычаг.
    Ну и на всякий случай, что -такое компаратор.
    Это замечательное устройство. Как только маленький сигнал на его входе превысит порог на другом входе. Я настроил порог 0,2В. То на выходе будет высокий уровень ( у нас около 5 в), меньше порога, 0.
    Так и формируются импульсы, которые "понимает " контроллер.

Прикрепляю прошивки для приемника и передатчика (hex файл) или еще их называют машинный код. Открывать только блокнотом.
http://depositfiles.com/files/2cur6nqtr

Они проверены только в симуляторе. Хотел прогнать еще в отладчике.
Но поиграть с ними в ISprog уже можно. Код защиты не ставил. Поэтому можно воспользоватся функцией декомпилирования в ISprog.
Кнопки ASM/HEX. Можно увидеть "убогий" исходный текст. Именно так и взламываются чужие программы, если терпения хватит разобраться.
Уже тянет на высокое звание "ХАКЕРА"
Андрей, поясни, как ты собираешься использовать передатчик в машине?


Последний раз редактировалось: MAZ (Вт 26 Янв 2010 17:56), всего редактировалось 2 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
MAZ
Старожил


Зарегистрирован: 03.03.2009
Сообщения: 129
Откуда: мегаполис Рассказово

СообщениеДобавлено: Пт 15 Янв 2010 21:48    Заголовок сообщения: Ответить с цитатой

Что-то, устал.
Вот какие у меня есть новые детали. Ориентировочно 500р. (по блату)


Все остальное,по мелочевке, за счет фирмы "mazr", но б.у. Есть еще коллекция корпусов- пультов (новые), надо уточнить насчет передатчика.
А вот от чего устал.

вот с ним конкретно и мучаюсь.

Как говорится; "Довожу до ума", это для себя делаю.
Просили еще написать две программы, неожиданно быстро сделал, теперь можно отдохнуть. Ну никто не хочет общаться сегодня со мной.
Даже сказать , какая погода на улице.
Ладно, 100 граммов и пойдем общаться на своем форуме. Нет, пойду с псом погуляю, для здоровья полезней и псу радость.


Последний раз редактировалось: MAZ (Вт 26 Янв 2010 17:57), всего редактировалось 2 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
MAZ
Старожил


Зарегистрирован: 03.03.2009
Сообщения: 129
Откуда: мегаполис Рассказово

СообщениеДобавлено: Сб 16 Янв 2010 17:38    Заголовок сообщения: Ответить с цитатой

В процессе тестирования программы приемника выяснилось.
1. Задержку (горит светодиод) надо сделать поменьше, 1сек. Долго ждать, если 2 сек..
2. Время работы передатчика увеличил до 50мс.
3. Здесь, пока подумаю. Если нажать и не отпускать кнопку, то передатчик будет каждую секунду посылать посылку с кодом этой кнопки. Включать и выключать нагрузку через секунду по кругу.
Надо определится, удобно это или нет. Если есть идеи, высказывайтесь.

Включаю приемник на тест.


Последний раз редактировалось: MAZ (Вт 26 Янв 2010 17:57), всего редактировалось 2 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
nech
Старожил


Зарегистрирован: 15.07.2007
Сообщения: 165
Откуда: Рассказово

СообщениеДобавлено: Сб 16 Янв 2010 22:08    Заголовок сообщения: Ответить с цитатой

MAZ писал(а):
В процессе тестирования программы приемника выяснилось.


А с помощью чего тестируется программа?

MAZ писал(а):

Андрей, поясни, как ты собираешься использовать передатчик в машине?


Передатчик можно установить в авто стационарно.
Подъезжаешь к гаражу - включил себе свет, отъезжаешь - выключил.

Я так понимаю что в первую очередь надо собрать программатор,
затем с его помощью заправить прошивку в микросхему.
а затем собирать приемник/передатчик.
Верно?
_________________
Если человека укусил вампир - то он тоже станет вампиром.
Но иногда складывается впечатление, что многих покусали бараны.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
MAZ
Старожил


Зарегистрирован: 03.03.2009
Сообщения: 129
Откуда: мегаполис Рассказово

СообщениеДобавлено: Вс 17 Янв 2010 01:12    Заголовок сообщения: Ответить с цитатой

Тут большой разности нет. Главное, чтобы проблем по меньше.
Тестирование, очень удобно в среде разработки MPLAB IDE, я пользуюсь отладчиком ICD2 с USB портом. Собираю на макетке "эскиз" устройства, подключаю отладчик и могу быстро посмотреть по шагово в реальном времени все процессы программы.
К сожалению, у 629 нет поддержки отладчика.
Поэтому тестирую, собрав на макетке и пользуясь симуляторм MPLAB IDE.
Если хочешь, можешь посмотреть, как все работает. Но пока все режимы не "устаканил". Только 100 мГб. Если нужно завтра дам ссылку.
Насчет программатора. Я спрашивал про корпус контроллера. Если DIP, то можно обойтись без программатора и внутрисхемного программирования. Дам программатор, вставишь в панельку и будет тебе счастье.
Насчет стационара в машине, поподробней. На лобовом стекле или как по другому, как подключать к питанию.?


Последний раз редактировалось: MAZ (Вс 17 Янв 2010 10:28), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
MAZ
Старожил


Зарегистрирован: 03.03.2009
Сообщения: 129
Откуда: мегаполис Рассказово

СообщениеДобавлено: Вс 17 Янв 2010 10:27    Заголовок сообщения: Ответить с цитатой

http://depositfiles.com/files/t7ocsn8ql

Вот ссылка. Снял, что получается во время отладки и тестирования.
Сжимать было лень.
Но еще есть проблемы. Ищу. Без отладчика тяжко.


Последний раз редактировалось: MAZ (Вт 26 Янв 2010 17:58), всего редактировалось 2 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
MAZ
Старожил


Зарегистрирован: 03.03.2009
Сообщения: 129
Откуда: мегаполис Рассказово

СообщениеДобавлено: Вс 17 Янв 2010 21:40    Заголовок сообщения: Ответить с цитатой

http://depositfiles.com/files/77r9usjrm
Совесть замучила, сжал в 5 раз. Извиняюсь за качество.


Последний раз редактировалось: MAZ (Вт 26 Янв 2010 17:59), всего редактировалось 2 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
MAZ
Старожил


Зарегистрирован: 03.03.2009
Сообщения: 129
Откуда: мегаполис Рассказово

СообщениеДобавлено: Пн 18 Янв 2010 11:53    Заголовок сообщения: Ответить с цитатой

Закончил тестирования.
http://depositfiles.com/files/m9axidhgq

prm-yy.hex приемник
prd-yy.hex передатчик
Ни каких защит, ни каких счетчиков включений и паролей. Пользуйтесь на здоровье.
В программе приемника есть изменения.
1. При подаче напряжения питания на приемник, сетодиод статуса загорается на 2 сек., потом гаснет на 2 сек, и опять загорается.
Если светодиод горит, значит приемник включен, в рабочем состоянии и находится в режиме "сон". Правда из-за светодиода увеличился ток потребления в этом режиме, около 25мА. Думаю, для стационара это не страшно. Зато всегда видим, работает.
2. Светодиод статуса мигает: 0,5 сек горит 1 сек не горит.
Мигание, как и планировалось, является признаком работы хотя бы одной нагрузки.

Были конечно ошибки дебильные в программе. Были ложные срабатывания компаратора. Но как-будто все "задушил" программно.
Одну из "дебильных" своих ошибок я опишу. И можно будет понять, как просто пишутся программы для пиков и не нужно никакой физики.


Последний раз редактировалось: MAZ (Вт 26 Янв 2010 18:00), всего редактировалось 3 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
MAZ
Старожил


Зарегистрирован: 03.03.2009
Сообщения: 129
Откуда: мегаполис Рассказово

СообщениеДобавлено: Пн 18 Янв 2010 16:54    Заголовок сообщения: Ответить с цитатой

Написал, маленький урок. Надежда умирает последней.

Хочу рассказать о маленьком кусочке программы приемника, где я допустил ошибку.
Ошибка, больше по невнимательности, чем по смыслу.
Вот вопрос, с чего начать. Начнем с нуля.
Бит – ячейка памяти программ, может принимать значение 1 (5вольт) или 0 (ноль вольт)
Третьего не дано. Поэтому и называется «двоичная система счисления».
Байт - условились, что 8 бит это один байт.
Регистр – физическая ячейка памяти, куда можно записать 1 байт информации.
В одном регистре = байте, можно записать 256 десятичных чисел. От 0до 255, перебором нулей и единиц.
Для начала, достаточно.
Теперь о кусочке программы, в котором была ошибка.
Надо было отсчитать время работы нагрузки №1, один час.
У нас есть внутри контроллера включенный таймер, который отсчитывает каждые 0,5 сек.
Значит надо зафиксировать 120 таких отсчетов, это будет 1 минута и умножить на 60, 1 час.
Как это сделать программно? У пик контроллеров среднего семейства есть всего 35 команд. В основном пользуются не более 15. Запомнить очень просто.
Вот кусочек программы, которая считает час.

shret_N1
incf regcek_N1
movlw .120
subwf regcek_N1,w
btfss STATUS,Z
return
clrf regcek_N1
incf regmin_N1
movlw .60
subwf regmin_N1,w
btfss STATUS,Z
return
goto vikl_N1 ; время истекло выключить

Для многих, это наскальные рисунки племени чунга – юнга. Но заметны цифры 120 и 60. Мы о них уже говорили.
Потихоньку, чтобы не пугались, разберем. Здесь всего 7 команд пика. Все остальное придумал я на английском языке.
regcek_N1 – регистр, где хранятся значение числа секунд, для нагрузки N1 (120 заходов в программу через 0,5 сек).
regmin_N1- регистр, где хранятся значение числа минут, для нагрузки N1 (60 заходов в программу через 1 минуту).
vikl_N1 – метка, подпрограмма выключить нагрузку N1
Так же меткой является shret_N1, я здесь хозяин - барин , так назвал подпрограмму «считаем время работы нагрузки N1)

Это уже придумали разработчики контроллера. Спасибо им.
STATUS,Z - есть такой регистр (8 бит) в контроллере, который следит за порядком.
Называется: «регистр статуса» работы. Каждый бит в нем называется флагом. Появилась 1 в регистре «STATUS» , как бы флажком контроллер нам помахал. Что-то случилось.
Нам интересен здесь, флаг Z.
Флаг Z – поднимается, если в результате какой-нибудь операции в программе результат будет 0. Например: 10 – 10=0, Z=1;

Ну и сами команды.
Incf - прибавить 1
Movlw – записать число в W - регистр-аккумулятор, особенность пиков, как бы промежуточный регистр. Для того чтобы записать в какой-нибудь регистр памяти программ число, надо сначала записать в регистр W, а уже из него в нужный.
Subwf – вычесть из регистра( который записан после команды ) регистр W
Return - выйти по стеку, не буду мучить, просто выйти из подпрограммы
Clrf – стереть регистр, записать в него все нули.
Goto – безусловный переход на указанную метку.
Btfss – если проверяемый бит регистра равен 1, то сделать «что-то»
если проверяемый бит регистра равен 0, то сделать «то-то»
по простому, объяснил команду ветвления

Теперь всё зная, расшифруем эту программу, после точки запятой комментарии.

; прошло 0.5 сек, заходим в подпрограмму.

shret_N1 ; подпрограмма счета времени работы нагрузки 1
incf regcek_N1 ; +1 в регистр regcek_N1
movlw .120 ; записать число 120 в W
subwf regcek_N1,w ; вычесть W из числа в regcek_N1 с cохранением результата в W
btfss STATUS,Z ; проверить флаг Z
return ; Z =0, число в regcek_N1 не равно 120, выходим из подпрограммы, ждем следующие 0,5 сек.
clrf regcek_N1 ; Z =1, значит число в regcek_N1 равно 120, прошла 1минута. Очистим регистр секунд для следующего счета одной минуты
incf regmin_N1 ; +1 в регистр regmin_N1, пошел счет минут
movlw .60 ; записать число 60 в W

subwf regmin_N1,w ; вычесть W из числа в regmin_N1, с охранением результата в W
btfss STATUS,Z ; проверить флаг Z
return ; Z =0, число в regmin_N1 не равно 60 , выходим из подпрограммы, ждем следующие 0,5 сек.
goto vikl_N1 ; Z =1, значит число в regmin_N1 равно 60, прошла 60 минут или 1час, выходим окончательно из подпрограммы shret_N1, переходя на подпрограмму выключения нагрузки N1, vikl_N1

Моя ошибка, забыл везде поставить subwf, и время отсчета было вечно.
Чтобы еще по наглядней, вот алгоритм подпрограммы shret_N1


Последний раз редактировалось: MAZ (Вт 26 Янв 2010 18:02), всего редактировалось 2 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
MAZ
Старожил


Зарегистрирован: 03.03.2009
Сообщения: 129
Откуда: мегаполис Рассказово

СообщениеДобавлено: Пн 18 Янв 2010 17:04    Заголовок сообщения: Ответить с цитатой

Готовлю список деталей.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов forum.rasskazovo.ru -> Компьютеры / Оргтехника Часовой пояс: GMT + 3
На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  След.
Страница 4 из 10

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
You can attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB