MegaDeth
07.11.2007, 00:07
Микроконтроллеры
Микроконтроллеры - это автономные процессоры, имеющие память для хранения исполняемой программы, энергонезависимую память для хранения данных, линии ввода\вывода. Микроконтроллеры применяются в самых различных устройствах, где требуется цифровая обработка информации. При подачи питания на микроконтроллер начинает выполнятся загруженная в его память программа, и он начинает взаимодействовать со схемой а также с другими микроконтроллерами через линии ввода\выода. Есть микроконтроллеры и с микромощным передатчиком (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 (http://ww1.microchip.com/downloads/en/DeviceDoc/MPLAB%207.62.zip)
Симулятор со схемами (http://ww1.microchip.com/downloads/en/DeviceDoc/mplabplugindemo.exe)
Схема программатора (http://pic16f84.narod.ru/progr.htm)
Программатор попроще (http://slil.ru/25069327)
ПО для прошивки (http://www.hamradioindia.org/downloads.php?d_op=getit&lid=35)
Компилятор С интегрируемый в MPLAB (http://www.pcports.ru/files/articles/picclite-setup.rar)
PS что еще интересует\непонятно пишите, буду дополнять
Микроконтроллеры - это автономные процессоры, имеющие память для хранения исполняемой программы, энергонезависимую память для хранения данных, линии ввода\вывода. Микроконтроллеры применяются в самых различных устройствах, где требуется цифровая обработка информации. При подачи питания на микроконтроллер начинает выполнятся загруженная в его память программа, и он начинает взаимодействовать со схемой а также с другими микроконтроллерами через линии ввода\выода. Есть микроконтроллеры и с микромощным передатчиком (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 (http://ww1.microchip.com/downloads/en/DeviceDoc/MPLAB%207.62.zip)
Симулятор со схемами (http://ww1.microchip.com/downloads/en/DeviceDoc/mplabplugindemo.exe)
Схема программатора (http://pic16f84.narod.ru/progr.htm)
Программатор попроще (http://slil.ru/25069327)
ПО для прошивки (http://www.hamradioindia.org/downloads.php?d_op=getit&lid=35)
Компилятор С интегрируемый в MPLAB (http://www.pcports.ru/files/articles/picclite-setup.rar)
PS что еще интересует\непонятно пишите, буду дополнять