http://www.cpp.edu/~pbsiegel/picprogs/pprogs.html

Създаване на PIC микроконтролера

Следните програми са примери, които използвам за преподаване на програмирането на 8-битовите PIC микроконтролери. Един добър референтен е книгата “Проектиране вградени системи с PIC микроконтролери: Принципи и приложения” от Тим Wilmshurst. Фиш за прилагане на мира също е добра отправна точка за информация за бита за всеки адрес регистър на паметта в чипа.

Методът ние използваме е да програмирате PIC чип с помощта на PICKIT2 на асемблер. The PICKIT2 е сравнително евтин и услуги голямо разнообразие от PIC микроконтролери. Ние обикновено започват с микроконтролер PIC16F690, тъй като тя има почти всичко, ние се нуждаем и има малък щифт брой (20). Поставянето на PIC16F690 в breadboard, Ние използваме PICKIT2 “само” и да се свържете нашите собствени 6 жици от PICKIT2 към микроконтролера, както е показано на диаграма PICKIT2 верига. Ние извършваме следната процедура, за да се тества системата ни. Програмиране се извършва с помощта на MPLAB (безплатно изтегляне) софтуер от микрочип в монтажа.

  1. Първа програма на PIC чип с test.asm на програма, която поставя 5 волта след 0 волта на пин # 16 (C0).
  2. Проверка на изхода на ПИН # 16 с осцилоскоп. Едно трябва да видите изход 5 волта, което продължава 1 микро-сек (за 4 MHz часовник), и 0 волта, което продължава 3 микро-сек. Ако работи, а след това ние знаем, че сме създали програмист и чип правилно.
  3. След това проверете серийния трансфера, тъй като ние ще искаме да получим и спасяване на данни, ние изпращаме от микроконтролер. Като първа проверка ние програмирате код sertest1.asm, който изпраща същия брой чрез сериен на 9600 бода
  4. За да проверите дали серийния изход работи, ние се свържете осцилоскоп с щифт TX (# 10 за PIC16F690). Изходът за нула в двоичен броят трябва да е 5 волта с продължителност 1 микро-сек (за 9600 бода). Изходът за един в двоичен броят трябва да е 0 волта с продължителност 1 микро-сек (за 9600 бода). Ще има и един старт и стоп бит, така че цялото сигнал ще бъде 10 бита дълги.
  5. Ако ПИН TX е производство на правилния изход, има два начина, по които можем да четат серийните данни с компютъра: с помощта на TTL-232R-5V кабел към USB, или с помощта на MAX232 чип към сериен порт. Бившият Методът е прост и лесен за използване.
    • USB вход за PC: Най-лесният начин за прехвърляне на данни от PIC към компютъра е да се използва TTL към USB кабел: TTL-232R-5V (прав съединител) или TTL-232R-5V-НИЕ (тел завършва), направена от FTDI , Кабелът има 6 води, 4 от които са свързани директно към PIC щифтове. Вижте PIC-USB връзки за електрическата схема на връзките.
    • СЕРИЕН входен порт за PC: Ако някой иска да вход към сериен порт, а след това на чип MAX232 осигурява подходящо напрежение изместването на пристанището. чип MAX232 ще се измести 5 волта до +8 волта и 0 волта до -8 волта за въвеждане на серийния порт. Вижте MAX232 платки (комплименти на www.SoDoItYourself.com) за електрическата схема за свързване на PIC към серийния порт. За проверка на веригата, четем на изхода на чип MAX232 с осцилоскоп за да са сигурни, че правилните +/- 8 волта представлява двоичен номер.
  6. Накрая, асинхронен сериен изход към компютъра се чете в операционната система Linux с една от програмите C, изброени по-долу (за четене на асинхронен сериен изход). След правилното двоичен номер е възпроизведен върху монитора на компютъра, можем да започнем нашите проекти. Тъй като в този тест ние изпращаме една и съща двоичен номер всеки път, ние понякога се рамкиране грешки.
  7. Като друга проверка на сериен трансфер, ние програмира микроконтролера с sertest3.asm на програма, която да увеличи стойноста на двоичен номер от един и го изпраща чрез сериен към компютъра. Последователните номера трябва да бъдат изведени на монитора на компютъра.
  8. Вижте breadboard връзки за нашата настройка в съединение програмиране на breadboard. Вижте protoboard за картина на нашата breadboard. A 20 Mhz резонатор е бил свързан с чип на снимката.

Примерни програми за PIC микроконтролера

  1. time2.asm е съвкупност код, който гласи таймера и изпраща данните към компютъра чрез сериен. Кодът е хубава прекъсват рутинни, че да увеличи стойноста на регистри, когато timer0 прелива. Пълният часовник използва 4 регистри.
  2. timer2.asm е код събрание, което ние използваме за лазерно (или снимка) порта на времето. Програмата изчаква до пин 11 отива ниско, отнема време печата, и изпраща 4 таймера байта чрез сериен към компютър. След това тя чака до пин 11 отива високо, отнема време печата и изпраща 4 таймера байта чрез сериен към компютър. Цикълът се повтаря вечно. Тази програма е разработена от “CJ” Beccarelli като част от висшето си проект.
  3. atod20hl.asm е съвкупност код, който бързо аналогов към цифров се прави 80 пъти с ценностите, записани в паметта. След това данните се прехвърлят чрез сериен към компютъра. Линията на довереник включва външна 20 MHz резонатор (_HS_OSC), и серийният се прехвърлят при 115.2 KBaud. 10-битов вземане на проби от А до D може да се направи при 300kHz с тази програма. Тази програма е написана от Майкъл Менсъл като част от висшето си проект.

Четене на Asynchronous сериен изход от чипа чрез серийния порт на компютъра и USB порт

Отличен уеб сайт за четене и изписване на сериен и паралелен порт е “www.beyondlogic.com”. По-долу са изброени примерна програма, която тече в Linux, да чете серийния порт.

  1. picserin.c: Тази програма е написана на C и работи в Linux. Той гласи серийния порт 24 пъти последователно и отпечатва байтове на екрана. Ние просто го използва като тест, за да се види дали PIC чип предава серийни данни правилно.
  2. Серийните данни също могат да се четат чрез USB порт. usbserial.c програмата: е написан на C и работи в Linux. Ние използваме сериен-USB адаптер, за които Ubuntu има шофьор. След като USB жак е включен в мрежата, а драйвер на устройство “ttyUSB0” е създаден.

Timing on the PC via Parallel Port

Човек може да се направи доста точна синхронизация за вход TTL с помощта на паралелен порт. По-долу, ние списък на някои кодове, които ние използваме (или са използвани) в нашата класна стая за photogate времето.

  1. pend.c: Тази програма е написана на C и работи в Linux за нашия махало експеримент. Тя проверява паралелен порт за промяна на пин 10. Когато настъпи промяна, щемпел на времето се получава с помощта на повикване към rdtsc.
  2. atwoodxpar.c: Тази програма е написана на C и работи в Linux за нашия Atwood експеримент машина. Тя проверява паралелен порт за промяна на пин 10 на паралелен порт. Когато настъпи промяна, щемпел на времето се получава при използване на повикване към rdtsc. Данните могат да бъдат показани графично на монитора чрез библиотеката X11. За да компилирате използване ССЗ -lm -lX11 atwoodxpar.c

Log in with your credentials

Forgot your details?

ARE YOU READY? GET IT NOW!
Increase more than 500% of Email Subscribers!
Your Information will never be shared with any third party.
Get a Free Quote Now
Success! We'll be in touch.
Get a Quick Quote
Get a Free Quote Now
Get a new copy of this list each time it's updated.
(Don't worry, we hate spam too)
We'll Let You Know When We Update This List.
Wait! We update this list regularly.
Subscribe to get notified when we add new shippers.
Don't worry, we hate spam too.
Get a new copy of this list each time it's updated.
(Don't worry, we hate spam too)
We'll Let You Know When We Update This List.
GET THE LATEST UPDATES
Wait a minute! Before you go, complete this form so we can let you know when this list is updated.
Don't worry, we hate spam too.
Success! We'll Let You Know When We Update This List.
Get Notified When This List Is Updated
Wait a minute! We update this list on a regular basis. Do you want to get notified as soon as changes are made?
* Don't worry, we hate spam too.
Form submitted, we'll let you know.