Бергон интернет и телевизия 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 ] |
Заглавие: | |
![]() |
Автор: | 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/ |