Бергон интернет и телевизия
http://109.104.192.11/

PIC Микороконтролери
http://109.104.192.11/viewtopic.php?f=38&t=22907
Страница 1 от 1

Автор:  DarK AvengeR [ 06 Ное 2006 10:06 ]
Заглавие:  PIC Микороконтролери

Какво е микроконтролер?
Най-общо казано микроконтролерът представлява цифрова интегрална схема, която ( за разклика от останалите) може да прави това, което вие й “кажете”. Средство, чрез което “казвате” на микроконтролера какви функции да изпълнява е програма, която предварително сте съставили в него. Следователно, за да изпълнява микроконтролера конкретни функции, е необходимо преди това да го програмирате.


Друг случай, в който микроконтролерите са особено полезни, а понякога и незаменими, е когато трябва да се реализира устройство, изпълняващо голям брой или сравнително сложни фукнции. Такива например са: комуникация с други устройства, управление на буквено-символни или графични дисплеи, измерване на различни величини, управление на технологични процеси и т.н. Реализацията на подобни функции с помощта на дискретни елементи или функционални интегрални схеми би довела до значително усложнняване схемата на устройството, а оттам и до увеличаване размерите и понижаване надежността му.

Какви знания са ви необходими за да работите с микроконтролери?
За да можете да използвате един микроконтролер, трябва да познавате:
1) Структурата му, т.е. какво има в него;
2) Езика за програмиране, който той използва.
3) Работата с микроконтролери до голяма степен е свързана с използването на компютър, т.е. освен всичко ще ви е необходима и компютърна грамотност.

От какво се състои един микроконтролер?
В общи линии всеки микроконтролер съдържа: централен процесор (по-известен като микропроцесор или само процесор), памет за данни (RAM), програмна памет (ROM) и различни блокове (периферни устройства), които осигуряват връзката му с околния свят и допълнително разширяват неговите възможности. Тъй като съставните блоковете на микроконтролера са характерни и за всеки компютър, другото име , с което той е известен в литературата е: едночипов микрокомпютър. Освен по блоковете, които съдържа, микроконтролерът може да се отъждестви с компютъра и по други признаци. Например, както за работата на компютъра е необходима операционна система, така и за използване на микроконтролера трябва в него да се запише конкретна програма.


Каква е разликата между микроконтролер и микропроцесор?
Най-съществената разлика е, че микропроцесорът е част от микроконтролера. За да работи един микропроцесор са му необходими допълнителни външни блокове като: памет (програмна и за данни), тактов генератор, входно-изходни устройства, осигуряващи връзката със заобикалящата го среда и т.н. За разлика от него, миктоконтролерът обединява всичко това в едно цяло и може да функционира като самостоятелно устройство. Следователно, подобно на един компютър, процесорът е един от оснивните елементи.


С какво трябва да разполагате при проектирането на устройство базирано на микроконтролер?
Всяко подобно устройство се състои от две части: апаратна част (хардуер) и програмна част (софтуер). Следователно, проектирането му също се осъществява на два етапа: разработване на апаратното осигуряване и разработване на програмно осигуряване. Средствата, които ще ви бъдат необходими за разработване на програмното осигуряване са следните:
1) Персонален компютър. На него се инсталират програмните продукти, които ще са ви необходими в процеса на работа;
2) Средства за проектиране и тестване на програмното осигуряване (ПО):
- Текстов редактор за въвеждане на програмата в компютъра;
- Транслатор – сфтуер за преобразуване на програмата във вид, подходящ за запис в микроконтролера;
- Симулатор – чрез него се осъществява компютъра симулация на програмата за микроконтролера;
- Емулатор – средство за хардуерна симумлация на програмата в условия, близки до реалните.
3) Устройство за запис на програмата в микроконтролера (програматор).
Текстовият редактор, транслаторът, симулаторът и емулаторът в повечето случаи са заложени като отделни модули в общ програмен продукт, известен като развойна среда. По принцип всеки производител на микроконтролери предоставя развойната среда, която може да бъде използвана при проектиране и тестване на програмното осигуряване. Развойната среда, която се използва при работа с PIC микроконтролерите се нарича MPLAB IDE и е предоставена от производителя Microchip за свободно ползване.



През какви етапи се преминава при проектиране на устройство, използващо микроконтролер?
Проектирането преминава през няколко основни момента:
1) Разпределяне функциите между апаратно и програмно осигуряване. На този етап, след като са изяснени функциите устройството, трябва да се прецени кои от тях да се реализират програмно, чрез микроконтролера и кои, с помощта на други елементи. Естествено, стремежът винаги е по-голямата част от функциите да се реазлизират програмно, но това не винаги е възможно и целесъобразно. По принцип не се изключват ситуации, при които една функция може сравнително лесно да се реализира с използване на интегрални схеми или други елементи, а програмната й реализация значително би усложнила нещата. Следователно, за оптималното разпределяне фукнциите на устройството между апаратната и програмната част не могат да бъдат дадени конкретни правила. Това се постига единствено с натрупване на определен опит в работата с микроконтролерите.
2) Изработване на схемата и програмиране на микроконтролера.
3) Изпитване на устройството. На този етап се проверява дали устройството работи така, както първоначално е замислено. Ако се констатира някакъв проблем, следователно да се установи дали той е в апаратното или в програмното осигуряване. Практиката показва, че в повечето случаи проблемът е в програмното осигуряване, т.е. допусната е грешка (или грешки) при съставяне на програмата. По принцип това е в реда на нещата и не би трябвало да ви притеснява. Напълно нормално е, при съставяне на програмата например от 1000 реда, да сбъркате или пропуснете нещо.

Изображение

PIC- микроконтролери


Какви фамилии PIC-микроконтролери са налични до момента?
В зависимост от дължината, на инструкциите, които използват и характеристиките им като цяло, PIC- микроконтролерите могат да се причислят към една от следните фамилии:
-Фамилия PIC12CXXX/PIC12FXXX
-Фамилия PIC16C5X
-Фамилия PIC16CXXX/PIC16FXXX
-Фамилия PIC17CXXX
-Фамилия PIC18CXXX/PIC18FXXX

Архитектура

Високото бързодействие на PIC16F84A, както и на всички останали PIC микроконтролери се дължи главно на използваната HARVARD-архитектура, типична за RISC микроконтролерите.
Блоковете, изграждащи PIC16F84A, условно могат да бъдат разделени на две групи, включващи: блокове, изграждащи ядрото на микроконтролера и периферни устройства. За максимално съответствие с терминологията, използвана от производителя, имената на отделните блокове в схемата са дадени на английски, като конкретните им значения са:
1. Ядро:
-CPU – Централен процесор. Не е означен като самостоятелен блок на схемата, а е изграден от следните блокове:
• ALU – Аритметико-логическо устройство;
• MUX – Мултиплексор, чрез който се избира източникът на втория операнд за ALU (паметта за данни или константа от програмата памет).
• W reg - Работен регистър;
• STATUS reg – Регистър на състоянието;
• Program Counter – Програмен брояч
• 8Level Stack – Хардуерен стек с 8 нива;
• Instruction reg – Регистър за инструкцията;
• Instruction Decode & Control – Блок за декодиране на инструкциите и контрол;
• Direct Addr – Адресна магистрала за пряка адресация;
• Indirect Addr – Адресна магистрала за непряка адресация;
• Addr MUX – Адресен мултиплексор. Чрез него се избира източника на адреса (инструкцията или FSR), в зависимост от метода за адресация на RAM паметта (пряка или непряка).
• FSR reg – Регистър, указващ адреса при непряка адресация;
- Flash Program Memory – Програмна Flash памет;
- RAM – Памет за данни, с произволен достъп;
- Program Bus – Програмна магистрала (шина);
- Data Bus – Даннова магистрала (шина);
- RAM Addr – Адресна магистрала за RAM паметта;
- Timing Generation – Блок, осигуряващ всички вътрешни тактове, необходими за работата на централния процесор и периферните устройства.
2. Периферни устройства и устройства със специални функции:
- EEPROM Data Memory – енергонезависима EEPROM памет за данни;
- TMR0 – Модул Таймер 0;
- I/0 Ports – Входно-изходни портове;
- Power-up Timer – Таймер на включване на захранването;
- Oscillator Start-up Timer – Стартов таймер на генератора;
- Power-on Reset – Блок за начално установяване при вкл. на захр-то;
- Watchdog Timer – Стражеви таймер.

Асемблер - За оптимално използване ресурсите на микроконтролера са необходими, както добри познанния, свързани с архитектурата и особеностите му, така и познаване на езика за програмиране, заложен в микроконтролера.
Основният език за програмиране, използван при микроконтролерите на фирмата Microchip, е езикът Асемблер. Това е машинно ориентиран език, основното предназначение на който е осъществяване на комуникация между човека и микроконтролера.

Основни характеристики и описание на PIC16F84A

PIX16F84A е 8-битов RISC-микроконтролер на фирмата Microchip и принадлежи към групата PIC16X8X на фамилията PIC16FXXX. Освен него, към тази група спадат още: PIC16F83, PIC16C83, PIC16F84, PIC16CR84.
Разликата между отделните микроконтролери се изразява основно в бързодействието им в капацитета на паметта, а също и в това че някои от тях са репрограмируеми, а други- не. От всички тези микроконтролери, разглежданият PIC16F84A има най-добри характеристики, а именно:
- Максимална тактова честота 20MHz (което отговаря на минимална продължителност на цикъла на инструкцията – 200ns)
- Всички инструкции се изпълняват от микропроцесора за един цикъл, с изключение на предходните, които отнемат по два цикъла;
- Набор от 35 инструкции, всяка от които е с дължина една дума;
- Капацитет на програмата (Flash) памет – 1024 думиу;
- 68 байта, даннова RAM памет;
- 64 байта, даннова EEPROM памет;
- Отделни 14-битова магистрала за инструкциите и 80битова за данните;
- Хардуерен стек с осем нива;
- Четири източника на прекъсване, съответно:
- Повече от 1000 цикъла изтриване/запис на програмната FLASH памет и 1 000 000 на ЕЕРROM паметта;
- Време на съхранение на данните, записване в енергонезависимата EEPROM памет – повече от 40 години;
- Интервал на захранващото напрежение – от 2 до 5,5V;


Изображение

Ето тука съм качил още информация, има и практически пример надявам се да е било полезно на някой.
http://192.168.222.20/rack3/users/DarK% ... controler/

Автор:  ivo [ 06 Ное 2006 11:41 ]
Заглавие: 

Бъдещето е в тези системи. Много добре си направил. :)

Автор:  Falco [ 21 Ное 2006 22:19 ]
Заглавие: 

:clap: една от малкото свястни публикации. жалко че питащите са повече от незнаещите които им отговарят. А тези които знаят се обаждат само когато стане много напечено или страшно смешно.

Автор:  ivo [ 15 Яну 2007 22:33 ]
Заглавие: 

Интересува ме нещо повече за програмирането им и за писането на програми за тях. Езика и всичко останало. На времето бях спец в Бейсик, после почнах малко и на машинен, но проклетите правец 8 излязоха от употреба и всичко забравих. А с тези микроконролери и подходящи програми за тях доста разработки може да се направят.
Някой ако има нещо в предвид, ще съм благодарен.

Автор:  Badganaka [ 16 Яну 2007 00:21 ]
Заглавие: 

ivo написа:
Интересува ме нещо повече за програмирането им и за писането на програми за тях. Езика и всичко останало. На времето бях спец в Бейсик, после почнах малко и на машинен, но проклетите правец 8 излязоха от употреба и всичко забравих. А с тези микроконролери и подходящи програми за тях доста разработки може да се направят.
Някой ако има нещо в предвид, ще съм благодарен.

Чесно казано доста съм чел в forum.eshop.bg и доста се е изписало, ама
почти вс съм забравил...Иначе първото което ти трябва е програматор.
Пример: neomontana.dir.bg --> Продукти -->Хоби електроника-->
Набори, Модули --> Периферия за PC --> "Универсален програматор"
PIC12x, 16x, 18x; EEPROM 24xx, 15VDC, за паралелен порт на PC.
И после вече ;)

Автор:  platinum [ 16 Яну 2007 01:15 ]
Заглавие: 

Мене пък ме интересува как се махат заключващите битове на процесор 89С51 за да се прочете съдържанието на флаш блока. Щото и трите бита са изключени а контролната сума при четене си остава $0000. Пък трябва да е друга...

Автор:  ivo [ 16 Яну 2007 02:55 ]
Заглавие: 

Програматор имам. Универсален. Става за много неша включително и за pic микроконтролери, ама ква файда. Чета си само паметите на телевизорите с него, а може да е доста полезен. Моя е от Млад конструктор. Отначало не работеше, но след 4 часово разследване по платките и приставките открих глупавата си грешка и вече работи.
platinum, май си открил ключа за нечия барака. :) По точно ключалката, а ключа е проблема.

Автор:  platinum [ 17 Яну 2007 17:49 ]
Заглавие: 

ivo написа:
Програматор имам. Универсален. Става за много неша включително и за pic микроконтролери, ама ква файда. Чета си само паметите на телевизорите с него, а може да е доста полезен. Моя е от Млад конструктор. Отначало не работеше, но след 4 часово разследване по платките и приставките открих глупавата си грешка и вече работи.
platinum, май си открил ключа за нечия барака. :) По точно ключалката, а ключа е проблема.

Нещото е законно и дразнещо. Ама каква ти е била грешката за програматора не разбрах. Обаче се радвам, че е тръгнал.

Автор:  ivo [ 18 Яну 2007 23:41 ]
Заглавие: 

Ами грешката ми е била доса тъпа. Понеже той се използва за AVR и PIC чипове, както и за памети от типа на 2408 примерно, аз понеже имах памет под ръка от този тип и пробвах с нея. Всъшност грешката не е била в програматора, а в приставката за тези памети. Просто съм окъсил при спойките на рейките, тъй като се запояват и се слагат от страната на фолиото. Та две от спойките бях окъсил и приставката не бачкаше. С друга приставка не бях пробвал. Сега всичко работи без проблем. Стана ми хоби, като дойде някой цифров телевизор с повреда, която не касае памета и като го оправя и всичко работи си смъквам паметта и си я копирам да я имам. Това да имаш дъмп, в който си сигурен е голяма работа. Нали знаеш дъмпове много, но половината не бачкат.

Автор:  Sim [ 03 Фев 2010 12:10 ]
Заглавие:  Re: PIC Микороконтролери

Искам да помоя ако някой може да каже къде може да се намери повече информация за микроконтролери от фамилията PIK16/18xxxx (ако може и да е на български) :)

Автор:  platinum [ 03 Фев 2010 13:14 ]
Заглавие:  Re: PIC Микороконтролери

Sim написа:
Искам да помоя ако някой може да каже къде може да се намери повече информация за микроконтролери от фамилията PIK16/18xxxx (ако може и да е на български) :)

Има книга, която не зная как се казва точно и кой и е авторът. Нещо като PIC Микроконтролери беше, но не се сещам точно.

Автор:  BASHMAISTORA [ 08 Фев 2010 00:11 ]
Заглавие:  Re: PIC Микороконтролери

като започнах да ставам "Пикоборец" започнах почти от нулата, но хората са създали един много хубав и полезен форум където отговарят на реални въпроси.
За тези които искат да се занимават любителски мога да кажа- Страшно скъпо удоволствие, изискващо много средства нерви и четене, но усилията си заслужават.
Без да събирам дивиденти за реклама вижте това- http://mcu-bg.com/

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/