Отговори на тема  [ 21 мнения ]  Отиди на страница 1, 2  Следваща
PIC18F6722 как? 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Яну 20, 2015 11:26 pm
Мнения: 23
Местоположение: Габрово/Любимец
Мнение PIC18F6722 как?
Здравейте.
Начинаещ съм с микро контролерите но имам голямо желание да се науча. Имам малко опит в програмирането на C++.
Имам следния микро контролер и не мога да се справя с конфигурирането му. Иначе искам да си пусна 4 , 7-сегмента индикация.
Опитвам се да го програмирам на MPLAB.Много ви миля да ударите едно рамо. :)


Пет Май 29, 2015 2:27 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Май 29, 2007 2:23 pm
Мнения: 3714
Местоположение: Високо в планината
Мнение Re: PIC18F6722 как?
Добре дошъл!
Темата ти е за раздел "Академия".
Разкажи малко за схемата ти. Имаш ли кварц, на каква честота е, ресет имаш ли...

_________________
Хайде де!


Пет Май 29, 2015 3:38 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Яну 20, 2015 11:26 pm
Мнения: 23
Местоположение: Габрово/Любимец
Мнение Re: PIC18F6722 как?
Добре заварил. :)
Извинявам се за това че съм я пуснал в този раздел на форума. :oops:
Схемата е проста представлява един 7 сегментен индикатор с 4 цифри вътре обаче съм пръснал от A до G на 3 порти не питай защо :oops: . Схемата си има кварц и той е със честота 18,432MHz. Няма бутон за ресета, но ще му трябва за да си качвам кода през PICKIT2 clone. Също така ще имам 3 бутона за да се изменят параметри, примерно :)


Пет Май 29, 2015 3:59 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Май 29, 2007 2:23 pm
Мнения: 3714
Местоположение: Високо в планината
Мнение Re: PIC18F6722 как?
На какво си пишеш програмата? С или Асемблер?

_________________
Хайде де!


Пет Май 29, 2015 5:24 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение Re: PIC18F6722 как?
Пусни схемата, за да видим дали е наред. След това и кода. Какъв програматор използваш? Опитай първо с прости неща. Примерно блинк тест - настройваш само един диод от 7 сегментния да мига през определен интервал (пр: 1 с), за да провериш дали честотата отговаря!
Поздрави!

_________________
www.elkran.com


Пет Май 29, 2015 6:55 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9119
Местоположение: Разград
Мнение Re: PIC18F6722 как?
Тя честотата ще му е най-малкия проблем. Периферията му е достатъчно, че да има още 10 неща, заради които да не му се получи. Та за да се разбере нещо трябва да се види конфига (фузовете поне до CONFIG4L), да се види как е инициализирана периферията и тогава да се мигат светодиоди. Чудя се защо още има хора дето си купуват пиккит2 клонинг? С пиккит3 можеш съвсем приличен дебъг да си направиш.


Пет Май 29, 2015 8:05 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение Re: PIC18F6722 как?
Що бе?! Аз имам и 2 и 3 клонинги и си работят отлично! Никакви проблеми с MPlab и MPLabX. До колкото си спомням поне 3ката правеше някакви парчета и първия път трябва да се зареди фърмуеар-а ръчно. Трябва да е много измислено копие, че да прави проблеми...

_________________
www.elkran.com


Пет Май 29, 2015 9:42 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 9:59 pm
Мнения: 6019
Местоположение: София
Мнение Re: PIC18F6722 как?
dgeorgiev92 написа:
Здравейте.
Начинаещ съм с микро контролерите но имам голямо желание да се науча....


Купи си ардуино за 5$ от ебей.

_________________
Warriors of the Night, ASSEMBLER!!!


Пет Май 29, 2015 9:46 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Яну 20, 2015 11:26 pm
Мнения: 23
Местоположение: Габрово/Любимец
Мнение Re: PIC18F6722 как?
Извинявам се че чак сега отговарям.
Опитвам се да програмирам на MPLAB с XC8 компилатор който е за C/C++. Програматора е PICKIT2 и е този защото вече имам такъв :). A за Arduino вече съм правил разни неща и искам да кача малко нивото но все още съм в началото с PIC и ми е малко трудно.

Кода за мигане на един пин мисля че е такъв. Но Не мога да се справя с самата конфигурация :(

Код:
#include <pic18f6722.h>


void main()
{
    GIE = 1; // global interrupt enable
    //config PORTD
    PORTD = 0;
    TRISD = 0;
    //Config timer0
    T0CON = 0x87; // Timer ON PSS1:256
    //Timer 0 Set to 4S
    TMR0L = 0xFF;
    TMR0H = 0xFF;
    TMR0IE = TRUE;
}

void interrupt MainIsr (void)
{
    if(TMR0IF)
    {
        TMR0IF = 0;
        RD0 = ~RD0;
    }
}


Прикачени файлове:
shema.png
shema.png [ 100.47 KiB | Прегледано 3540 пъти ]
Пет Май 29, 2015 10:37 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 9:59 pm
Мнения: 6019
Местоположение: София
Мнение Re: PIC18F6722 как?
Като за начало ОК свързването на транзисторите не е ОК за тази схема.
След това какво следва след този ред:
TMR0IE = TRUE;
}
какво се случва тогава?
Купи си ардуино.

_________________
Warriors of the Night, ASSEMBLER!!!


Пет Май 29, 2015 10:54 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Ное 27, 2012 9:27 pm
Мнения: 2011
Мнение Re: PIC18F6722 как?
На C/C++ не мога да ти помогна много но не е само до конфигурацията а ти трябва таблица за управление. Ако някой колега се навие да ти напише кода ще ти се изясни.(или ти даде примерен проект) Инак за сега си много далеч, трябва ти много търпение.


Пет Май 29, 2015 10:57 pm
Профил
Ранг: Напреднал
Ранг: Напреднал
Аватар

Регистриран на: Пет Фев 14, 2014 4:45 pm
Мнения: 439
Местоположение: Монтана
Мнение Re: PIC18F6722 как?
dgeorgiev92 написа:
... Но Не мога да се справя с самата конфигурация ...


Конфигурацията за всеки процесор може да е различна, в зависимост от хардуера, но за най-основните неща ти е необходимо да прегледаш документацията за него, и нещата, които ще ползваш - регистрите OPTION_REG, OSCCON, T0CON, INTCON, TRISx, и евентуално ANSELx, ако процесора има АЦП-та на въпросните пинове, които ще ползваш. В развойната среда може да има и още настройки на разни конфигурационни регистри, т.нар. "config words", в които може да се включва или изключва MCLR пина, стражевия таймер, заключване на паметта и прочие. Но не съм запознат с въпросната развойна среда къде се правят тези настройки.

Оттук можеш да изтеглиш документацията за чипа в PDF формат, търси и чети за въпросните регистри кой бит какво включва и изключва.

Схемата, която си начертал не знам дали е в софтуер за симулация, но още по-малко знам дали този софтуер ще "събуди" процесора без товарни кондензатори от двете страни на кварца. Възможно е за симулацията да не са необходими, но по принцип трябва да ги има.

За програмата - по принцип не трябва да оставяш програмата да "свърши". Още по-малко пък е удачно да занимаваш проца в Interrupt да мига светодиода. Направи си безкраен цикъл с While...WEnd, вътре си "мигаш" светодиода, правиш си закъснение колкото трябва, и това е.

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

Засега толкова, пиши нещо конкретно като проблем, и пак ще мислим.

_________________
Не карай по-бързо от своя ангел-пазител!


Пет Май 29, 2015 11:30 pm
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Яну 20, 2015 11:26 pm
Мнения: 23
Местоположение: Габрово/Любимец
Мнение Re: PIC18F6722 как?
@ike: Транзисторите са така защото на физическия индикатор са с общ анод. Arduino имам 3 броя.....
TMR0IE = TRUE;
for(;;){}
}
така трябва да е

@timt: Принципа на действие горе долу го знам направил съм си масив с битовете който ми правят цифра в един сегмент. но това малко по нататък ще е за сега да подкарам диода. :)

@pechkov: Благодаря за документацията ще почета :)
иначе схемата е начертана в proteus за симулация иначе си има кондензатори. Може би и затова не ми тръгва симулацията.....


Съб Май 30, 2015 12:03 am
Профил
Ранг: Напреднал
Ранг: Напреднал
Аватар

Регистриран на: Пет Фев 14, 2014 4:45 pm
Мнения: 439
Местоположение: Монтана
Мнение Re: PIC18F6722 как?
dgeorgiev92 написа:
... иначе схемата е начертана в proteus за симулация иначе си има кондензатори. Може би и затова не ми тръгва симулацията.....


Може, но междувременно (и малко със закъснение) забелязах, че няма pull up резистор на MCLR пина. Аз най-често го изключвам, за да го ползвам като IO пин, но ако чипа няма вътрешен pull up на MCLR, и не е изключен - също може да не тръгва.

Абе, ше стане лека полека. :)

_________________
Не карай по-бързо от своя ангел-пазител!


Съб Май 30, 2015 12:13 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 9:59 pm
Мнения: 6019
Местоположение: София
Мнение Re: PIC18F6722 как?
dgeorgiev92 написа:
@ike: Транзисторите са така защото на физическия индикатор са с общ анод. Arduino имам 3 броя.....

Прав си. Аз се обърках транзисторите не са свързани с общ колектор. Свикнал съм с NPN танзисторите не с PNP. Трябват ти резистори на ABCDEF входовете. Трябва ти и резистор за зеления светодиод, то всъщност него можеш да го управляваш направо от крак на процесора без транзистор. Като за начало можеш да свържиш само един сегмент без транзистор да елеминираш тази част от управлението в началото.

Най-добре е направи мигащ светодиод на ардуиното и след това прехвърли програмата за PIC18

_________________
Warriors of the Night, ASSEMBLER!!!


Съб Май 30, 2015 8:38 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 21 мнения ]  Отиди на страница 1, 2  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 7 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни