ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Электроника и Фрикинг > Схемы и программы
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Микроконтроллеры Microchip, введение.
  #1  
Старый 07.11.2007, 00:07
Аватар для MegaDeth
MegaDeth
Участник форума
Регистрация: 08.11.2006
Сообщений: 208
Провел на форуме:
1038169

Репутация: 184
По умолчанию Микроконтроллеры Microchip, введение.

Микроконтроллеры

Микроконтроллеры - это автономные процессоры, имеющие память для хранения исполняемой программы, энергонезависимую память для хранения данных, линии ввода\вывода. Микроконтроллеры применяются в самых различных устройствах, где требуется цифровая обработка информации. При подачи питания на микроконтроллер начинает выполнятся загруженная в его память программа, и он начинает взаимодействовать со схемой а также с другими микроконтроллерами через линии ввода\выода. Есть микроконтроллеры и с микромощным передатчиком (rfPIC) для обмена информацией, но я рассмотрю их позднее.
Запись программы в микроконтроллер производится с помощью программатора, т.е. устройства для "прошивки" контроллеров. подключается оно к компьютеру, откуда идет управление специальным ПО ходом прошивки, стирания, а также считывания программы. Существует много схем программаторов, от сложности схемы зависит и колчиество поддерживаемых микроконтроллеров, а также надежность загрузки программы в кристалл (прошивки).
Для разработки программ для микроконтроллеров Microchip создана среда разработки - MPLAB. Это и ассемблер, и отладчик. Однако конечный результат важно достигнуть именно на практике. Есть и плагин для MPLAB, позволяющий писать прошивки на языке С.
Также в моём арсенале имеется симулятор и дезасемблер.
Помимо вычислений, современные микроконтроллеры имеют аппаратные поддержки различных полезных функций, например как Широко Импульсная Модулация (ШИМ) Аналого-Цифровые преобразователи (АЦП), Компараторы, прерывания по различным событиям например как изменение лог. уровней на линиях, переполнение сторожевого таймера.
На примере я буду рассматривать контроллер PIC12F629. Он наиболее дешев, и обладает нужными мне функциями.
нашел http://www.microchip.ru/d-sheets/41190.htm:PIC12F629:1x1 Оисание на Русском
Он будет применятся у меня как обработчик сенсорного контакта(да, контроллер может и такое), и выставлять при прикосновении лог.1 на одной из линий, тем самым через транзисторный каскад будет подаватся +12В на реле, которое будет управлять питанием мощного усилителя.
Наиболее распространёный микроконтроллер в радиолюбительских устройствах - PIC16F84A. Однако существуют контроллеры дешевле и производительней, но статистика вещ упрямая
этот контроллер имеет 13 линий ввода\вывода и 2 порта PORTA и PORTB. (не путать с линиями, порт - это группа линий!)
PORTA и PORTB - это регистры этого процессора, состояние битов этих регистров зависит от логического уровня на выводах микроконтроллера, т.е. линий ввода-вывода. установка бита <0> в 1 регистра PORTA приведет к появлению высокого уровня на вывода RA0. Для работы с линиями ввода\вывода нужно настроить их на ввод или на вывод, путем установки соответствующего бита в регистре TRISA и TRISB соответственно.
PIC16F84A поддерживает 35 комманд.
Также хочу обратить ваше внимание на конфигурацию процессора. Ее можно изменять непосредсвенно в WinPic (программа для прошивки), и указать директивой __CONFIG.
Конфигурацию, записанную в кристалл нельзя изменить программно, возможно только при помощи программатора.
PIC контроллеры имеют внутренний тактовый генератор (4 МГц), но лучше использовать внешний кварцовый, если требуется повышенная точность тактовой частоты. В данном случае, если у вас простой JDM программатор, то лучше в конфигурации указать использовать внешний генератор, т.к. при последущей попытке прошить контроллер возникнут проблемы, тк при подключении питания начнет исполнятся программа.
За один такт выполняется одна комманда, кроме комманд перехода, они выполняются за 2 машинных цикла.
Чтож, если этот материал уяснен, можно приступать к практике, что я опишу в следующей статье...
ССЫЛКИ ПО ТЕМЕ

MPLAB 7.62
Симулятор со схемами
Схема программатора
Программатор попроще
ПО для прошивки
Компилятор С интегрируемый в MPLAB

PS что еще интересует\непонятно пишите, буду дополнять

Последний раз редактировалось MegaDeth; 07.11.2007 в 19:04..
 
Ответить с цитированием

  #2  
Старый 07.11.2007, 10:26
Аватар для Alexsize
Alexsize
Fail
Регистрация: 17.09.2005
Сообщений: 2,242
Провел на форуме:
9089375

Репутация: 4268


По умолчанию

Зачетно, вот не мог бы ты рассказать аудитории какие самые применяемые ака распространенные и наиболее удовлетворяющие требованиям контроллеры, есть на белом свете? Какие используешь лично ты? В Ксакепе были статьи по обману "Таблеток" с помощью Pic микросхемки. Плюс я там не раз видел статьи с их применением.
__________________
...
 
Ответить с цитированием

  #3  
Старый 07.11.2007, 18:39
Аватар для Animal
Animal
Moderator - Level 7
Регистрация: 19.10.2007
Сообщений: 225
Провел на форуме:
1260519

Репутация: 298
Отправить сообщение для Animal с помощью ICQ
По умолчанию

Какие требования - такие и контроллеры!
Линейка ПИКов делится на серии: Pic12FXXX, Pic16FXXX, Pic18FXXX, а дальше пока не интересно. Чем выше индекс, тем "круче" контроллеры (Больше программной и оперативной памяти, выше тактовая частота, всякие примочки типа АЦП, Usart, ШИМ и т.д.)
Для начала я бы порекомендовал PIC16F676. Вроде бы их везде как грязи и недорого. На него можно спокойно переносить (с доработками конечно) любые проекты, написанные для старого доброго PIC16F84(16C84), которых в сети накопилось за прошлые годы тьма тьмущая. Основные параметры: 14-ти ногий корпус, килобайт для написания программы, 64 байта оперативной памяти, внутренний генератор на 4 мегагерца (что очень радует. подключил пять вольт и контроллер заработал, никакой возьни с кварцем) Для создания эмулятора "таблетки" его хватит за глаза! Да и много еще для чего.
 
Ответить с цитированием

  #4  
Старый 07.11.2007, 18:54
Аватар для MegaDeth
MegaDeth
Участник форума
Регистрация: 08.11.2006
Сообщений: 208
Провел на форуме:
1038169

Репутация: 184
По умолчанию

Цитата:
Сообщение от Animal  
Какие требования - такие и контроллеры!
Линейка ПИКов делится на серии: Pic12FXXX, Pic16FXXX, Pic18FXXX, а дальше пока не интересно. Чем выше индекс, тем "круче" контроллеры (Больше программной и оперативной памяти, выше тактовая частота, всякие примочки типа АЦП, Usart, ШИМ и т.д.)
Для начала я бы порекомендовал PIC16F676. Вроде бы их везде как грязи и недорого. На него можно спокойно переносить (с доработками конечно) любые проекты, написанные для старого доброго PIC16F84(16C84), которых в сети накопилось за прошлые годы тьма тьмущая. Основные параметры: 14-ти ногий корпус, килобайт для написания программы, 64 байта оперативной памяти, внутренний генератор на 4 мегагерца (что очень радует. подключил пять вольт и контроллер заработал, никакой возьни с кварцем) Для создания эмулятора "таблетки" его хватит за глаза! Да и много еще для чего.
ну внутренний генератор и у 12ХХ пиков есть, ты бы лучше линк на даташит бы выложил =))))
 
Ответить с цитированием

  #5  
Старый 07.11.2007, 19:01
Аватар для MegaDeth
MegaDeth
Участник форума
Регистрация: 08.11.2006
Сообщений: 208
Провел на форуме:
1038169

Репутация: 184
По умолчанию

Цитата:
Сообщение от Alexsize  
Зачетно, вот не мог бы ты рассказать аудитории какие самые применяемые ака распространенные и наиболее удовлетворяющие требованиям контроллеры, есть на белом свете? Какие используешь лично ты? В Ксакепе были статьи по обману "Таблеток" с помощью Pic микросхемки. Плюс я там не раз видел статьи с их применением.
ок, учел =)
 
Ответить с цитированием

  #6  
Старый 07.11.2007, 19:12
Аватар для Animal
Animal
Moderator - Level 7
Регистрация: 19.10.2007
Сообщений: 225
Провел на форуме:
1260519

Репутация: 298
Отправить сообщение для Animal с помощью ICQ
По умолчанию

Цитата:
Сообщение от MegaDeth  
ну внутренний генератор и у 12ХХ пиков есть, ты бы лучше линк на даташит бы выложил =))))
Не вопрос!
http://ww1.microchip.com/downloads/en/DeviceDoc/40039E.pdf
Вообще, если какая документация нужна, то сразу на microchip.com Там прям на лицевой странице окошко для поиска даташитов.
 
Ответить с цитированием

  #7  
Старый 10.11.2007, 16:54
Аватар для MegaDeth
MegaDeth
Участник форума
Регистрация: 08.11.2006
Сообщений: 208
Провел на форуме:
1038169

Репутация: 184
По умолчанию

Hello, World! мигающие светодиоды.
я написал столь простую программку на СИ в среде MPLAB, думаю она понятна будет для всех.
Код:
#include <pic.h> 
__CONFIG(0x03F72);

void pause(unsigned int time)
     {     
                                          }
void main(void)
{
     T0IE=0;
     GIE=0;     
     TRISIO=0;
     GPIO=0;
  	CMCON=0x07;   //инициализация процессора
     

     while(1)
     {   

GPIO++;
//asm("BCF 0x05,0");
   
       pause(70000);



   }
          
}
здесь идет увеличение значения регистра GPIO, биты которого отвечают за состояние линий ввода-вывода.
при переполнении разрядов, идет его обнуление.
во время выполнения программы можно наблюдать состояние портов ввода-вывода на диаграмме.
http://imhost.ru/out.php/i4841_.jpg
скриншот =)))
прошиваем контроллер, вставляем в макет, подводим питание, светодиод на линию GP0 - будет мигать светодиод. на линию GP1 - мигает реже
позже сам прошью контроллер...
Народ, задавайте вопросы по ходу дела :\
 
Ответить с цитированием

Avr
  #8  
Старый 12.11.2007, 06:26
Аватар для presidentua
presidentua
Постоянный
Регистрация: 04.11.2007
Сообщений: 331
Провел на форуме:
1724067

Репутация: 806
Отправить сообщение для presidentua с помощью ICQ
Post Avr

Советовал бы интересующимся присмотреться также к микроконтроллерам Avr от Atmel.

На практике использовал и те и другие, но от Avr больше хороших воспоминаний.

Вот преимущества:
Дешевле.
Проще в освоении.
Побыстрее работают.

Хотя каждому свое.
 
Ответить с цитированием

  #9  
Старый 12.11.2007, 09:31
Аватар для Alexsize
Alexsize
Fail
Регистрация: 17.09.2005
Сообщений: 2,242
Провел на форуме:
9089375

Репутация: 4268


По умолчанию

Цитата:
Сообщение от presidentua  
Советовал бы интересующимся присмотреться также к микроконтроллерам Avr от Atmel.

На практике использовал и те и другие, но от Avr больше хороших воспоминаний.

Вот преимущества:
Дешевле.
Проще в освоении.
Побыстрее работают.

Хотя каждому свое.
Не могли бы вы попобронее описать что собирали, дать примеры?
__________________
...

Последний раз редактировалось Alexsize; 12.11.2007 в 09:34..
 
Ответить с цитированием

  #10  
Старый 12.11.2007, 15:50
Аватар для Animal
Animal
Moderator - Level 7
Регистрация: 19.10.2007
Сообщений: 225
Провел на форуме:
1260519

Репутация: 298
Отправить сообщение для Animal с помощью ICQ
По умолчанию


Вот такой вот "Здравствуй, мир!" в железе для 676 пика.
Здесь применено внутрисхемное программирование. Т.е., не надо постоянно выдергивать контроллер из отладочной платы и втыкать в программатор и обратно. Подключаем программатор прямо к контроллеру на плате.
ОСТОРОЖНО!!! Не с каждым программатором (касается простых самодельных, в основном) этот фокус пройдет! Часто видел на простых схемах применение простых логических микросхем (инверторов и чегото еще). Так что может сложиться такая ситуация: у вас две микросхемы непосредственно соединенные выводами друг с другом, на одной микросхеме будет один лог уровень, а на другой - другой. Какие могут быть варианты развития событий? Правильно! Может одна, а может и обе сгорят. К сожалению, поленился я посмотреть ссылки MegaDeth на программаторы, постараюсь попозже на них поглядеть внимательно, но скорее всего, хотелось бы увидеть транзисторные ключи не только на MCLR, но и на дате с клоком,или хотя-бы ограничивающие резисторы.
Сам пользуюсь клоном ICD-2 от Olimex (заказывал в чипе-дипе, стоит около двух с половиной штук), пахает сутками, проблем сильных не наблюдается, но немного, по сравнению с микрочиповским оригинальным ICD-2, есть.
Если у вас другой контроллер, то сначала смотрите в даташит, где у него Vdd,Vss, MCLR, ICSP_DAT,ICSP_CLK. Емкость С3 желательно напаять как можно ближе к ногам контроллера. Очень желательно ставить панельку под контроллер. Перед установкой контроллера подайте питание и посмотрите туда ли приходит пять вольт питания.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Камасутра хек-хек. guest3297 Болталка 30 17.04.2007 18:27
Популярное введение в пиринговые сети: BitTorrent $iD Статьи 2 19.03.2007 22:12
Дампим. Введение. Talisman Авторские статьи 11 07.03.2007 22:28
Прямое введение команд в Sql сервер k00p3r Чужие Статьи 1 13.06.2005 21:05
Введение в cgi-security k00p3r Чужие Статьи 0 09.06.2005 19:30



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


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




ANTICHAT.XYZ