Македонски форум за електроника

Дигитална електроника => Микроконтролери => Topic started by: Devil on 05.03.2011, Saturday, 16:50:24

Title: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 05.03.2011, Saturday, 16:50:24
Туторијали за програмирање во mikroBasic PRO for PIC

1. Проста програма за трепкање (вклучување и исклучување на LED)
 http://elektronika-mk.net/index.php?topic=4289.new#new (http://elektronika-mk.net/index.php?topic=4289.new#new)

2. Употреба на Тастери
http://elektronika-mk.net/index.php?topic=4305.msg39493#msg39493 (http://elektronika-mk.net/index.php?topic=4305.msg39493#msg39493)

3. Употреба на 7 сегментни дисплеи
http://elektronika-mk.net/index.php?topic=4315.new#new (http://elektronika-mk.net/index.php?topic=4315.new#new)

4. Употреба на LCD дисплеј
http://elektronika-mk.net/index.php?topic=5990.new#new (http://elektronika-mk.net/index.php?topic=5990.new#new)

5. Туторијал за поврзување на пакетите од микроелектроника со пакетите на микрочип
http://elektronika-mk.net/index.php?topic=6246.msg54725;topicseen#new (http://elektronika-mk.net/index.php?topic=6246.msg54725;topicseen#new)

6.Туторијал за работа со ADC
http://elektronika-mk.net/index.php?topic=6381.msg55654#msg55654 (http://elektronika-mk.net/index.php?topic=6381.msg55654#msg55654)

7.Туторијал за работа со временски библиотеки
http://elektronika-mk.net/index.php?topic=8687.0 (http://elektronika-mk.net/index.php?topic=8687.0)

Сите туторијали се наоѓаат во под секцијата на Стручна литература -> Туторијали

Тема за дискусија поврзана со туторијалите
Ве молам не одете офф топик пошто ќе ги бришам мислењата, се што е поврзано со туторијалите е дозволено.

Околу видеата кој се во туторијалите, значи во некои видеа ќе се гледа сецкање при работа или пак спонтано забрзување, тоа е поради софтверот кој го користам за снимање и поради квалитетот на видеата кој сега за сега е мал (мала резолуција за снимање се користи)
Проверувајте го првото мислење редовно заради надополнувања !
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: gladiator on 06.03.2011, Sunday, 13:12:10
' program LED

' moze da se upotrebi za bilo koj PIC 16F...
'pisuvana vo mikroBasic PRO for PIC
'  1 znaci ligicko 1 na izlezot a 0 znaci nema izlez  ke vidite vo kodot
' ponadolu
main:
'   Main program  od tuka  pa nadolu se pocnuva so podesuvanje na registrite

 ANSEL = 0      ' so ANSEL i ANSEH se odbiraat site izlezi da se digitalni
 ANSELH = 0
 TRISB = 0      'PORTAB se progkasuva za izlezna
 PORTB = 0      'se brise PORTB da nema izlezi
 Delay_ms (500)  'pauza od pola seknda
 
START:           'pocetok na programata

     PORTB = %10000001     'so "%" se definira deka se raboti za binaren broj
     Delay_ms (80)         ' znaci se uklucuvaat 1 i 8 izlez pauza od 80ms

     PORTB = %01000010     'potoa se isklucuvaat i se uklucuvaat 2 i 7
     Delay_ms (80)         'pa pak pauza i taka nataka istata procedura
                           'no razlicni izlezi ;-)
     PORTB = %00100100
     Delay_ms (80)
     
     PORTB = %00011000
     Delay_ms (80)
     
     PORTB = %00100100
     Delay_ms (80)
     
     PORTB = %01000010
     Delay_ms (80)
     
     PORTB = %10000001
     Delay_ms (80)
   
   goto START     ' odi na pocetok "START"
end.              'kraj na programata
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: DX-er on 06.03.2011, Sunday, 13:26:44
gladiator што претставува твојот код? нема ни шема ни објаснување.
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 06.03.2011, Sunday, 13:45:34
Неговиот код е сличен со мојот од 3-тото видео за лед дидои, кај што паралелно се уклучуваат и исклучуваат лед диодите, тој има испрограмирано бинарно знакчето % ни покажува дека кодот кој следи е во бинарен облик, 8-те битови се портовите 1 бит е порта RB0 а 8-от порта RB7
(само што тој го има напишано најверојатно за PIC16F887 )
кај што има 1 е на високо ниво портата, кај шо има 0 е на ниско ниво портата
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: DX-er on 06.03.2011, Sunday, 13:52:17
само што неговиот код не работи, се со црвено ми кажува за грешки
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: gladiator on 06.03.2011, Sunday, 13:57:36
еве извинете ставив и коментари а зошто не работи кај тебе DX-er незнам кај мене е се ок
и е за 16Ф887 ама мислам дака треба да работи на сите микроконтролери па ке ни каже девил
дали сум во право или не  :D
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: DX-er on 06.03.2011, Sunday, 14:08:17
а шема ? Вака џабе е >:(
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 06.03.2011, Sunday, 14:10:47
нема да работи на сите контролери
полето
 ANSEL = 0     
 ANSELH = 0
се наменети само за некој пинови на контролери, не сите ги имаат, затоа на пр. кај PIC16F628
ќе ви прави проблем, ама па на PIC16F877/887 нема проблем :)

шемата е едноставна сите дидои се поврзани на порта Б, 8 диоди ..
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: gladiator on 06.03.2011, Sunday, 14:19:28
зошто овој код ТАСТЕР кај мене не работи на 16Ф887 цело време свети 8-та лед а кога ке го потисман тастерот не работи нисто нема никаква промена пак свети истата лед
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: SKOLS_OLD on 06.03.2011, Sunday, 14:24:11
провери pull up отпорниците,дали ти се горе или доле,дека ако забележиш од шемата Девил за тастерите користи PUll UP отпорници.Односно тие се поврзани преку отпорници на +5 волти.Исто така провери ги и диодите дали се на минус или плус,ако се на минус треба да се активираат со "1" а на "0" обратно.
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 06.03.2011, Sunday, 14:25:27
затоа што конфигурацијата е за PIC16F628
треба да си го промениш за твојата потреба, јас наведив дека е за тој пик, а и поубаво е вака
ако сакаш да научиш ќе мора да го измениш
со самата измена ти ќе научиш како работи :)
намести некој тастер да ти биди на некоја порта на влез
пр на порта А некој пин е влез
порта б ти се излези и додади му го тоа
ANSEL = 0      
ANSELH = 0

за да ги наместиш дигитални пиновите
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: gladiator on 06.03.2011, Sunday, 14:28:36
да така и постапив креирав нов проект за 16Ф887 но пак не работи а не ми јавува никаква грешка ???
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: SKOLS_OLD on 06.03.2011, Sunday, 14:30:15
па значи софтверот е готов,успешно чим е програмиран и компајлиран тогаш е до хардверот.Провери тоа со пул ап отпорниците.Дека и јас сум имал проблеми не Easy PIC6 од брзање.
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: gladiator on 06.03.2011, Sunday, 14:50:23
ок е сега но немие јасно што се случи едноставно само го рестартирав конпјутерот и  ???

Споено мислење: 06.03.2011, Sunday, 15:29:17
devil дали можеш да ни преставиш програм со услови на тастери како би изгледал тој и како е најдобро да се условива  ::)
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: DX-er on 06.03.2011, Sunday, 16:34:32
Еве модификација на првата програма од Девил. Со оваа програма ке трепка само една ЛЕД. Пикот и шемата се исти, само ке ги отстраните другите ЛЕД што не требаат ;)


Code: [Select]
 'Proekt Tutorijal za Makedonski Forum za Elektronika
'************ http://elektronika-mk.net
'*****************Devil Tutorijali****************
'Hardver razvoen sistem MFE_01, softver mikroBasic PRO for PIC v.4
'Simulacija ISIS7
'Procesor 16F628A na 4MHz
program led   'Program led e imeto na proektot (programata)

main:                    'Glaven del na programata
TRISB = 0                'Postavi porta B kako izlez
 PORTB = 0               'Pocetna sostojba (digitalna sostojba 1-visoko nivo, 0- nisko nivo) na porta B e 0
Delay_ms(500)            'Pauza od 500mS

'Od tuka nadolu ja pisuvame programata za trepkanje na LED diodite

PORTB.0 = 1              'Pinot RB0 e na visoko nivo
Delay_ms(500)          'Pauza od 100mS  ovaa naredba nadolu se povtoruva poveke pati
Delay_ms(50)          'Pauza od 100mS  ovaa naredba nadolu se povtoruva poveke pati
 goto main                 'Odi na pocetok, ova e beskonecna komanda, ovaa programa
                                  ' ke se izvrzuva beskonecno dolgo
end.          'Kraj na programata


И уште нешто, како вие програмирате, мисла дали рачно ги пишувате овие кодови или пишете нешто друго а после микро бејзикот ги генерира овие кодови ?
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 06.03.2011, Sunday, 16:52:57
јас рачно пишувам, за другиве не знам можеби копираат од негде :)
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: DX-er on 06.03.2011, Sunday, 16:59:44
ама во главно овие кодови или се пишуваат или се копираат од некаде. Прво мислев дека влегуваш во некаква програма и одбираш пик и си избираш кои ноги на пикот да ги користиш и која нога каква функција да има, и после во некакво мени избираш што функции сакаш да извршува пикот и после самата програма ги генерира овие кодови. Но сум бил грешка, не било толку едноставно. Ама ако се се учи па и ова :)
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 06.03.2011, Sunday, 17:03:57
прво треба да знаеш што функција сакаш да има пикот, составуваш хардвер па после према тој хардвер го дизајнираш софтверот
може да правиш и блок диаграми каде што во квадратчиња ќе ти биде испишана функцијата
има и за тоа програма и се вика Flowcode for PIC mcu
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: DX-er on 06.03.2011, Sunday, 17:08:56
прво треба да знаеш што функција сакаш да има пикот, составуваш хардвер па после према тој хардвер го дизајнираш софтверот
Како го составуваш тој хардвер?

може да правиш и блок диаграми каде што во квадратчиња ќе ти биде испишана функцијата
има и за тоа програма и се вика Flowcode for PIC mcu
Па нели вака е многу полесно одколку па пишеш кодови?
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 06.03.2011, Sunday, 17:12:07
пробај пакажи ми дали е полесно :)

па така прво треба да знаеш аналогна електроника, затоа во туторијалите се почна со изучување на најпрости елементи па се до микрокнтролери, треба да ја знаеш кој елемент која функција ја има
после треба да знаеш типот на микроконтролер кој го користиш кои можности ги има
и според ними си составуваш твоја шема односно хардвер
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: SKOLS_OLD on 06.03.2011, Sunday, 17:30:49
прво треба да знаеш што функција сакаш да има пикот, составуваш хардвер па после према тој хардвер го дизајнираш софтверот
Како го составуваш тој хардвер?

Хардвер ти е електрониката.Значи микроконтролерот,ЛЦД екран,диоди,отпорници т.е. цел склоп се вика хардвер.Одличен е туторијалов Девил,само така. ;D ;D
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 06.03.2011, Sunday, 17:35:02
а како поинаку да го наречам ?
јас знам дека тоа е хардвер ако е нешто друго исправи ме
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: SKOLS_OLD on 06.03.2011, Sunday, 17:36:19
не,не сакав да дополнам,односно да му објаснам да Дексер.
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: DX-er on 06.03.2011, Sunday, 17:41:42
не,не сакав да дополнам,односно да му објаснам да Дексер.
е фала во ред е, сватив :) Јас прво под хардвер помислив само на микроконтролерот и си викам што има тука да составуваш ама не е само тоа, има и други попратни делови како што рековте. :)
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: gladiator on 06.03.2011, Sunday, 18:08:26
секако рачно се пишува овој код а програмата тој код го прави во машински код разбирлив за микроконтролерот
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: DX-er on 08.03.2011, Tuesday, 01:02:02
ме интересира дали има нешто меѓу ниско и високо ниво ? мислам ЛЕД да свети ама послабо.
дали порта А е за минусот а порта Б е за плусот ?

Нешто оф топик, дали може да се користи само процесорот од микроконтролерот ? Мислам да се користи само како микропроцесор ? Се разбира би имал екстерни рам, ром, флеш и се останато
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: SKOLS_OLD on 08.03.2011, Tuesday, 13:02:10
ме интересира дали има нешто меѓу ниско и високо ниво ? мислам ЛЕД да свети ама послабо.
Да може да се контролираат,тоа се вика PWM или PUlse widith modulation.Со оваа команда може да контролираш диоди,една диода,а преку транзистор или тријак мотор може да се контролира.Или пак некоја сијалица.
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 08.03.2011, Tuesday, 15:00:10
ме интересира дали има нешто меѓу ниско и високо ниво ? мислам ЛЕД да свети ама послабо.
дали порта А е за минусот а порта Б е за плусот ?

Нешто оф топик, дали може да се користи само процесорот од микроконтролерот ? Мислам да се користи само како микропроцесор ? Се разбира би имал екстерни рам, ром, флеш и се останато

Склос ти објасни за PWM- от
инаку портите се сите исти ( добро +- исти)
секоја порта се користи и за позитивни и за негативни „импулси“ (команди како сакате наречете ги ), зависно од тоа како во програмата се зададени
кај ним нема + -, имаш само високо ниво(1) и ниско ниво(0) и уште едно ниво кое е неопределено кога пинот е конфигуриран како влез
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: DX-er on 08.03.2011, Tuesday, 20:27:05
Еве уште една модификација на програмот на Devil


Code: [Select]
              'Proekt Tutorijal za Makedonski Forum za Elektronika
'************ http://elektronika-mk.net
'*****************Modifikacija  na Devil Tutorijal****************
'Hardver razvoen sistem MFE_01, softver mikroBasic PRO for PIC v.4
'Simulacija ISIS7
'Procesor 16F628A na 4MHz
program led   'Program led e imeto na proektot (programata)

main:                    'Glaven del na programata
TRISB = 0                'Postavi porta B kako izlez
 PORTB = 1               'Pocetna sostojba (digitalna sostojba 1-visoko nivo, 0- nisko nivo) na porta B e 0
Delay_ms(2)            'Pauza od 500mS
'Od tuka nadolu ja pisuvame programata za trepkanje na LED diodite
 PORTB.0 = 1
 Delay_ms(1)
 PORTB.0 = 0
 PORTB.1 = 1
 Delay_ms(80)
 PORTB.1 = 0
 PORTB.2 = 1
 Delay_ms(80)
 PORTB.2 = 0
 PORTB.3 = 1
 Delay_ms(80)
 PORTB.3 = 0
 PORTB.4 = 1
 Delay_ms(80)
 PORTB.4 = 0
 PORTB.5 = 1
 Delay_ms(80)
 PORTB.5 = 0
 PORTB.6 = 1
 Delay_ms(80)
 PORTB.6 = 0
 PORTB.7 = 1
 Delay_ms(80)
 PORTB.7 = 0
 PORTB.6 = 1
 Delay_ms(80)
 PORTB.6 = 0
 PORTB.5 = 1
 Delay_ms(80)
 PORTB.5 = 0
 PORTB.4 = 1
 Delay_ms(80)
 PORTB.4 = 0
 PORTB.3 = 1
 Delay_ms(80)
 PORTB.3 = 0
 PORTB.2 = 1
 Delay_ms(80)
 PORTB.2 = 0
 PORTB.1 = 1
 Delay_ms(80)
 PORTB.1 = 0
 PORTB.0 = 1
 Delay_ms(80)

 goto main               'Odi na pocetok, ova e beskonecna komanda, ovaa programa
                         ' ke se izvrzuva beskonecno dolgo
end.          'Kraj na programata
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 08.03.2011, Tuesday, 20:28:52
кога ќе го едитираш програмот, менувај го и коментарот од самиот програм за да не ти е чудно после што како од каде доаѓа
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: DX-er on 08.03.2011, Tuesday, 20:33:16
имаш право. Сега пробав со порта А, ама ништо,  не сака да светне додатната ЛЕД што ја ставив  на PORTA.0 = 1
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 08.03.2011, Tuesday, 20:37:55
во оваа програмата кој ја наведе ти нема нигде зададено дека и порта А ќе се користи
треба со командите TRISA = 0 да наместиш прво порта А да биде излез
после тоа во кодот треба да пишиш тоа PORTA.0 =1
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: DX-er on 08.03.2011, Tuesday, 20:41:13
во оваа програмата кој ја наведе ти нема нигде зададено дека и порта А ќе се користи
треба со командите TRISA = 0 да наместиш прво порта А да биде излез
после тоа во кодот треба да пишиш тоа PORTA.0 =1
а дали може под TRISB да напишам и TRISA ? Бидејки ке ми требаат и двете порти
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 08.03.2011, Tuesday, 20:43:33
може не е проблем тоа
ако имаше пик со повеќе порти пр. 16Ф887 тој има PORTA PORTB PORTC PORTD и PORTE :)
5 порти кој мора да ги поставиш доколку сакаш да ги користиш
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: DX-er on 08.03.2011, Tuesday, 20:47:31
Успеа, фала друже. Сакам да направам круг од повеке ЛЕД и цело време да се "врти" (ефект на движење)
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 08.03.2011, Tuesday, 21:03:19
затоа што тие порти ти се поставени за осцилатор
треба да ја замениш конфигурацијата на осцилатор и да наместиш да се користи внатрешниот
а тие пинови да се влезно излезни
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: DX-er on 08.03.2011, Tuesday, 21:08:45
Да, го вклучив надворешниот и проработеа :) Него сакав да ја активирам и PORTA5 ама прегоре колото :( сега не сака да проработи и без PORTA5. Ке треба се наново да пишам
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 08.03.2011, Tuesday, 21:11:05
ама таа порта е само влез, не може да ја користиш за излез :)
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: DX-er on 08.03.2011, Tuesday, 22:01:20
ако правам програма за 12F675 на местото на TRISB или TRISA што треба да напишам ? На местото на PORTA или PORTB што да пишам ?
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 08.03.2011, Tuesday, 22:10:53
TRISIO ти е пошто има само една порта
а за портата да ја назначиш пишуваш GPIO.x кај местото на х гледаш која порта е или доколку сакаш цела порта да ја активираш тогаш само GPIO
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: DX-er on 08.03.2011, Tuesday, 22:17:51
а и вамо GP5 е таа влезна порта која неможам да ја искоритам за излез кон ЛЕД?
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 08.03.2011, Tuesday, 22:21:02
незнам тоа, мислам дека сите може да се наместат како излез тука
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: DX-er on 08.03.2011, Tuesday, 22:40:12
Направив да трепка една ЛЕД ама не сака да работи, не знам што му е

Code: [Select]
'Proekt Tutorijal za Makedonski Forum za Elektronika
'************ http://elektronika-mk.net
'*****************Trepkac so 12F675****************
'Hardver razvoen sistem MFE_01, softver mikroBasic PRO for PIC v.4
'Simulacija ISIS7
'Procesor 12F675 na 4MHz
program led   'Program led e imeto na proektot (programata)

main:                    'Glaven del na programata
 TRISIO = 0                'Postavi porta O kako izlez
 GPIO = 0               'Pocetna sostojba (digitalna sostojba 1-visoko nivo, 0- nisko nivo) na porta O e 0
Delay_ms(500)            'Pauza od 500mS

'Od tuka nadolu ja pisuvame programata za trepkanje na LED diodata

GPIO.0 = 1              'Pinot GP0 e na visoko nivo
Delay_ms(100)          'Pauza od 100mS  ovaa naredba nadolu se povtoruva poveke pati
GPIO.0 = 0              'Pinot GP0 e na nisko nivo
 goto main                 'Odi na pocetok, ova e beskonecna komanda, ovaa programa
                                  ' ke se izvrzuva beskonecno dolgo
end.          'Kraj na programata
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 08.03.2011, Tuesday, 23:02:18
додај ги овие над main: делот
 ANSEL = 0
 CMCON = 7
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: DX-er on 08.03.2011, Tuesday, 23:12:10
Мислиш вака ? Ама ми јавува грешки :(


Proekt Tutorijal za Makedonski Forum za Elektronika
'************ http://elektronika-mk.net (http://elektronika-mk.net)
'*****************Trepkac so 12F675****************
'Hardver razvoen sistem MFE_01, softver mikroBasic PRO for PIC v.4
'Simulacija ISIS7
'Procesor 12F675 na 4MHz
program led   'Program led e imeto na proektot (programata)

 ANSEL = 0
 CMCON = 7
main:                    'Glaven del na programata
 TRISIO = 0                'Postavi porta O kako izlez
 GPIO = 0               'Pocetna sostojba (digitalna sostojba 1-visoko nivo, 0- nisko nivo) na porta O e 0
Delay_ms(500)            'Pauza od 500mS

'Od tuka nadolu ja pisuvame programata za trepkanje na LED diodata

GPIO.0 = 1              'Pinot GP0 e na visoko nivo
Delay_ms(100)          'Pauza od 100mS  ovaa naredba nadolu se povtoruva poveke pati
GPIO.0 = 0              'Pinot GP0 e na nisko nivo
 goto main                 'Odi na pocetok, ova e beskonecna komanda, ovaa programa
                                  ' ke se izvrzuva beskonecno dolgo
end.          'Kraj na programata
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 08.03.2011, Tuesday, 23:21:34
стави ги во main делот (после него)
и најгоре ти фали тоа кодот Program led ( важно да има program и некое име после тоа, ама да не почнува со број)
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: DX-er on 08.03.2011, Tuesday, 23:34:01
Не иде ич. ако можеш види ги и симулаторот и програмот, кај мене не сака никако
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: SKOLS_OLD on 09.03.2011, Wednesday, 12:43:14
мене и без ANSEL = 0 и CMCON = 7 ми го компајлира.
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: DX-er on 09.03.2011, Wednesday, 12:52:57
мене и без ANSEL = 0 и CMCON = 7 ми го компајлира.
да, за тоа нема проблем, но стави го на симулаторот :)
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: SKOLS_OLD on 09.03.2011, Wednesday, 12:55:35
на развојниот систем го проверив,си работи се е ОК ;D
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: DX-er on 09.03.2011, Wednesday, 13:00:58
aaaaaaa па што му е на симулаторот тогаш :( изгледа ке треба да барам подобар. Ама практично си е практично
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: DX-er on 10.03.2011, Thursday, 15:50:28
на развојниот систем го проверив,си работи се е ОК ;D
хмм сега ја направив шемата и пробав и не сака
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Malecko on 25.04.2011, Monday, 22:15:45
Дечки ај кажете некои команди за пали-гаси за лед диода,некои основи да научам ;D.Имам за играње еден пик 887,па кажете нешто за старт :)

Споено мислење: 25.04.2011, Monday, 23:49:33
Eве што научив сега ;D.Пали гаси со две лед диоди и пик16ф887.

Code: [Select]
program led

main:
TRISB = 0
 PORTB = 0
TRISD = 0
 PORTD = 0
Delay_ms(100)



PORTB.0 = 1
Delay_ms(30)
PORTB.1 = 1

PORTD.0 = 1
Delay_ms(30)
PORTD.1 = 1

goto main

end.

Од пиновите 19 и 33 преку отпорници од 220оми врзете две лед диоди према маса и ќе трепкаат ;D
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 26.04.2011, Tuesday, 09:54:54
јас сум малку во криза со времето, имам некои други работи, да се ослободам малку и пак ќе почнам д апишувам тоа туторијалите ...
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 28.04.2011, Thursday, 23:58:00
Еве само дел од она што следи :)
инаку од сега па натаму ќе го сменам малку начинот на кој ги пишувам туторијалите оти неколку души ми се пожалија не разбирале баш :)

Code: [Select]
sub procedure tonC()
Sound_Play(97, 492)
end sub
sub procedure tonD()
Sound_Play(109, 492)
end sub............
Sound_Init(PORTD, 2)
while TRUE                            ' beskonecna proverka
      if (Button(PORTB,0,1,1)) then     'Ako se pritisni RB0 ton C
          TonC()
          while (RB0_bit <> 0)
            nop                         'Vreme za kopceto da se stabilizira
          wend
      end if.........

значи за користење на под процедури и генерирање на звук :)
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Malecko on 29.04.2011, Friday, 17:29:51
A да не знаете некој конвертор(ако постои)кој конвертира од хекс во ц?
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 30.04.2011, Saturday, 22:30:21
непостое таква работа, бар јас не знам за тоа
еве ја новата шема на која ќе работиме на нарадните туторијали :)
се работи за мини синтисајзер со 8 ноти, до, ре, ми, фа, сол, ла, си, до
фреквенцијата на нотите е сл.: до- 97.572Hz, ре- 109.68Hz, ми- 121.65Hz, фа-134.61Hz, сол- 146.357Хз, ла-73.179Hz, си - 85.375Hz, до- 97.572Hz
времетраење на една нота е 0.492sec.

овие податоци ги најдов на интернет незнам колку се точни ама таму имаше една скала со еден тон ноти и од ним ги извадов овие само :)
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: LordZi on 30.04.2011, Saturday, 22:34:36
Зошто си ставил 100n кондензатори кај кристалот наместо 22p?
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 30.04.2011, Saturday, 22:38:54
Презакачено со исправни и точни вредности на компонентите, сум заборавил да им ги пишам вредностите :)
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Malecko on 30.04.2011, Saturday, 23:33:39
Девил имаш готов хекс за проектов?
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 01.05.2011, Sunday, 09:11:35
имам нешто ама не е цело пошто како ќе ги пишувам туторијалите така ќе го надградувам

ЕДИТ
Во шемата има грешка кај поврзувањето на тастерите !!!

ЕДИТ2
во атачмент ја има новата исправна шема
со дел од кодот (кој не е баш исправен) мелодијата која е снимена не е таа таа што треба да биди
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 26.06.2011, Sunday, 21:45:49
Додадов ново туторијалче за LCD дисплеи, ова беше за на натпревар ама не стигнав тогаш да го довршам :)
еве сега го испробав работи добро е на симулација
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 25.07.2011, Monday, 22:22:03
Деновиве кога ќе го добијам програматорот и дебагерот од микроелектроника ќе продолжам со туторијалите, со тоа што ќе има и како тие работаат и практично, како се дебагира и сл.
------------------------------------------------------------------------------------------------------------------------------
напишав туторијал како да користите дебагери и програматори од микрочип (PicKit2 ICD2) со пакетите компајлери од микроелектроника, како се подесуваат програмите (MPLAB, mikroC, µBasic, µPascal) за да можите да дебагирате и да гледате чекор по чекор како оди сето тоа што го правите :)

линкот е на прва страна од оваа тема прво мислење под број 5
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: gladiator on 31.07.2011, Sunday, 20:34:17
здраво дали некој може да напише код за бројач со притискање на тастер но броевите да се покажуваат на LCD дисплај
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 31.07.2011, Sunday, 20:35:40
како мислиш бројач ?
ако се притисне 1 тастерот на дисплеј да пишува 1 и така понатаму 2 пати 2, 3 пати 3...
или имаш некоја друга замисла ?
со кој микроконтролер сакаш да биди ?
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: gladiator on 31.07.2011, Sunday, 20:41:06
дада така ако притиснаш еднаш да напише 1 и така натака со PIC 16F887
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 01.08.2011, Monday, 22:30:30
Вчера работевме на форумот до доцна не успеав да го досредам, пишував нешто ноќта ама некако не сака да работи, принципот е тоа треба да провериш само поставувањето на променливите и како да се склопат променливите со копчето друго работи, од прво работеш така да ако притиснеш на копчето брое до бесконечна вредност некоја и се ресетира, сега ако притиснеш на копчето не брое види тука е проблемот, денес не стигнав да го поправам пошто друго работев..

во атачмент ти е цел проект разгледај го
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: gladiator on 04.08.2011, Thursday, 12:54:00
Devil фала многу многу ми се најде одличен пример и чекаме да продолзиш со турторијалот поздрав
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 04.08.2011, Thursday, 16:15:01
ќе продолжам, наредна ми е се примерите за ADC :)
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: gladiator on 04.08.2011, Thursday, 22:41:15
ок чекаме секое мислење и секој пример е добродојден  ;D
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 10.08.2011, Wednesday, 19:18:52
Додаден туторијал за работа со A/D конверзија, се мери процентуална вредност на потецниометарот, кога е крајна положба према маса поставен прикажува 0 кога е крајна положба према Vcc прикажува 1023-1024, ТУКА само заборавив да додадам во програмата да става запирка па така да вредноста која ја прикажува е 100%= 102.3 (бинарна вредност но се совпаѓа со процентуалната на потенциометарот :)) така да последната десна цифра треба да се оддели само со запирка од останатите пр. за 50%= 503= 50.3
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: MarkoMK on 12.11.2011, Saturday, 12:07:59
Дечки кој компајлер го користите за mikroBasic PRO дајте некој линк од кај да го симнам?
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 12.11.2011, Saturday, 15:50:03
имаш од микроелектроника од нивната страна, демото им е ограничено на неколку килобајти код, кој е доволен за основни потреби, ако сакаш нешто поголемо да правиш треба лиценца или крак да најдиш за тоа ...
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: MarkoMK on 21.11.2011, Monday, 23:08:04
Ај уште нешто да ве прашам. Го симнав микро бејзик про и напишав една програма, е сега како да ја вметнам во пикот??
Му правам „build“, ми вика успешно и потоа можам да му направам save на асемблерскиот код.
И понатаму не знам..
Тој код го ставам во MPLAB IDE ама не сака да ми направи хекс ми наоѓа многу грешки..
Сега незнам што е проблемот. Дали јас грешам некаде или ???

Споено мислење: [time]22 Ноември 2011, 21:49:13[/time]
А дали кај вас во мирко бејзикот можат да се менуваат овие сетинзи??
(http://i43.tinypic.com/2pyrsqo.jpg)

Да не е нешто проблемот што го кракував програмот???

Code: [Select]
http://tinypic.com/view.php?pic=2pyrsqo&s=5
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: gladiator on 23.04.2012, Monday, 20:52:25
Devil фала многу се израдував но зошто неможам да ги читам коментарите од кодов ?  ::)
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 23.04.2012, Monday, 21:01:48
како хероглифи ти ги вади ?
пошто пишувани се со кирилична поддршка мене без проблем ми ги отвора :)
ај ќе видам што можам да направам за да го средам проблемот

го поставив во пдф кодот во темата, мислам дека тој нема да прави проблеми со јазикот во коментарите :)
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 01.12.2012, Saturday, 17:40:20
Има некој идеа околу кодов ?
ми вади проблем со знакчето < , а ми треба да споредам две ситуаци, ако едната постигне вредност помала од другата да се зголеми за да се изврши друга операција :D
(разгледај го кодот ќе ти стане јасно)

Code: [Select]
dim redica as char[10]
dim px as char
dim jx as char
dim sx as char
dim ix as char
dim still as char
dim n as byte
'***Движење***
sub structure skrol(dim a as char, dim b as char, dim c as char, dim d as char, dim e as char)
dim count as short
count=6
 while (count>0)
    redica[0]= not a
    a=b b=c c=d d=e e=255
    reset_shift()
   for (sx=0 to sx<still sx++)      <------------- Овде појаву проблем и сегде кај што е < знакот
     for (ix=0 to ix<0 ix++)
         px=1
          for (jx=0 to jx<9 jx++)
           PORTB= not (array[ix] and (px)
           delay_ms(.1)
           px<<=1
           end for
      clock()
      end for
   end for
  for (ix=9 to ix>0 ix--)
     array[ix]=array[ix-1]
   end for
  count--
 wend
end sub
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Zan on 01.12.2012, Saturday, 18:31:05
Кодот е многу лошо преведен од C. Можеби ако го поставиш оригиналниот код, некој ќе може да го преведе подобро.
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 01.12.2012, Saturday, 18:34:07
еве го оригиналниот :D
Code: [Select]
char array[10],p,j,s,i,still;
void clock(){ RB6=1;RB6=0;}
void reset(){ RB7=1;RB7=0;}
void scroll(char a,char b,char c,char d,char e)            //display function //
{
    short int count=6;
    while(count>0)
    {
        array[0]=~a;
        a=b;b=c;c=d;d=e;e=255;
        reset();
        for(s=0;s<still;s++)
        {
            for(i=0;i<10;i++)
            {
                p=1;
                for(j=0;j<9;j++)
                {
                    PORTD=~(array[i]&(p));__delay_ms(.1);p<<=1;
                }
                clock();
            }
        }
        for(i=9;i>0;i--)
        {
            array[i]=array[i-1];
        }
        count--;
    }
}
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Zan on 01.12.2012, Saturday, 18:58:57
Еве пробав да преведам иако не го познавам баш најдобро C јазикот. Вака како што е, кодот се компајлира , но не знам дали ќе работи. Можеби има грешки.

Code: [Select]
'char array[10],p,j,s,i,still;
dim MyArray as char[10]
dim p as char
dim j as char
dim s as char
dim i as char
dim still as char



'void clock(){ RB6=1;RB6=0;}
sub procedure clock
    PORTB.6 = 1
    PORTB.6 = 0
end sub



'void reset(){ RB7=1;RB7=0;}
sub procedure MyReset
    PORTB.7 = 1
    PORTB.7 = 0
end sub


'void scroll(char a,char b,char c,char d,char e)            '//display function //
sub procedure scroll(dim a, b, c, d, e as char)


'{
    'short int count=6;
    dim count as integer
    count = 6
   
    while(count > 0)
    '{
        'array[0]=~a;
        MyArray[0] = Not(a)
        'a=b;b=c;c=d;d=e;e=255;
        a = 255
        b = 255
        c = 255
        d = 255
        e = 255
       
        'reset();
        MyReset
       
       
        'for(s=0;s<still;s++)
        while s < still
        '{
            s = s + 1
       
            'for)i=0;i<10;i++)
            for i = 0 to 9
            '{
                p = 1
                'for(j=0;j<9;j++)
                for j = 0 to 8
                '{
                    'PORTD=~(array[i]&(p));__delay_ms(.1);p<<=1;
                    PORTA = Not(MyArray[i] and p)   ' <-- go kompajlirav za 16F628A kojsto nema PORTD
                    Delay_us(100)
                    p = p << 1
                '}
                next j
                'clock();
                clock
            '}
            next i
        '}
       
        wend
       
        'for(i=9;i>0;i--)
        for i = 9 to 0 step -1
        '{
            'array[i]=array[i-1];
            MyArray[i] = MyArray[i - 1]
        '}
        next i
        'count--;
        count = count -1
    '}
    wend
'}
end sub
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 01.12.2012, Saturday, 19:05:02
сега ќе го пробам, ако е ок, ќе има видео што поточно прави, ако не е ОК, ќе барам кај нечини да го едитирам :D
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Zan on 01.12.2012, Saturday, 19:18:30
Секаде каде што има дефинирано "char" во кодот, пробај да ствиш "byte". Мислам дека повеќе ќе одговара.
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 01.12.2012, Saturday, 19:27:22
не сака да работи тоа што треба, ми дава некој чудни скролања само :D

треба да си ја преиспитам малку конфигурацијата на склопов :D
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Zan on 01.12.2012, Saturday, 19:30:21
Може линк до проектот, да видиме за што се работи  ;D
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 01.12.2012, Saturday, 19:50:59
нема линк, составувам од повеќе делови мое
еве ако те интересира како изгледа мојот код, се составив уште за движењето, тоа го позајмувам од повеќе делови ама некако не може да се вклопи нај нај :D

морав во html формат да ја ставам, оти ми се губат коментарите инаку :D, не дека се важни нешто ама по средена изгледа вака :D
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Zan on 01.12.2012, Saturday, 20:50:49
Кој PIC го користиш и како го тестираш кодот, дали имаш хардвер или во симулатор? Не е лошо да поствиш и шема од уредот или објаснување што има поврзано на PIC-от. Претпоставувам дека има некое коло shift register и LED диоди.
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 01.12.2012, Saturday, 21:42:52
користам 16F887 со шифт регистар и лед матричен дисплеј во атачмент е од proteus симулацијата, само малку ми е измешана не ми е баш нај нај исцртана оти незнам точно како работи дисплејот, односно не знам која нога шо му е, знам како работи, ама некако чудно ми се поврзани диодиве :D
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Zan on 02.12.2012, Sunday, 17:19:25
Пробав да направам нешто, но не ми успеа  :'( Мислам дека симулаторот не може добро да ја прикаже матрицата. Подобро би било да се експериментира со вистински хардвер.
Title: Одг: Туторијал за програмирање во mikroBasic PRO for PIC
Post by: Devil on 02.12.2012, Sunday, 17:22:40
и јас на тоа се мислев, ќе видам ова кинезиве што ќе речат, барав некој матрици па да видиме што како, друго се имам :D