| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| въпрос за port b http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=261 |
Страница 1 от 2 |
| Автор: | elektronchika [ Чет Дек 30, 2004 10:01 pm ] |
| Заглавие: | въпрос за port b |
мъча се да пиша програми на CCS и искам да направя бягаща всетлиина с 16ф84а, но не знам как да дадинирам port b, в смисъм, искам да завъртя съдържанието му например надясно с функцията rotate_roght(?, ?) - та въпросът ми е какво трябва да се напише на "?, ?". написах го така rotate_right(port_b, #include<16f84a.h> #use delay(clock=4000000) main() { set_tris_b(0x00); output_high(PIN_B0); while(TRUE) { rotate_right(port_b, } } може би имам грешка някъде. може ли да ми помогнете? |
|
| Автор: | Dimitar [ Чет Дек 30, 2004 10:05 pm ] |
| Заглавие: | |
Виж как е дефиниран в 16f84a.h. И сложи някъкво закъснение след това rotate, щото трудно ще видиш как бягат светлините. |
|
| Автор: | elektronchika [ Чет Дек 30, 2004 11:10 pm ] |
| Заглавие: | |
гледах, пак гледах, не виждам да е написано някъде. пробвах с portb, port_b, port b, ама никое не става. ти как би го направил. сигурен съм че го знаеш, но се правиш на разсеян. |
|
| Автор: | Dimitar [ Чет Дек 30, 2004 11:30 pm ] |
| Заглавие: | |
Не се правя на разсеян, предполагам (не съм ползвал тоя компилатор), че трябва да е дефиниран в h файла. Ако не е - си го дифенирай, или пък във функцията му напиши адреса направо (ако не се лъжа 0x06). |
|
| Автор: | Predator_MF [ Пет Дек 31, 2004 1:14 pm ] | |||||||||||||||||||||||||||
| Заглавие: | ||||||||||||||||||||||||||||
Във дефинициите на програмата добави следното:
Оттук нататък всяка стойност която даваш на port_b ще се записва директно във регистър 0x06 (това е физическия адрес на port B)... Примерно:
Инструкциите rotate_left/rotate_right имат следния синтаксис:
Така де, 'address is a pointer to memory' го пише в хелпа на CCS-а...това значи че там трябва да поставиш показател към адрес (т.е 0x06, или както вече е дефинирано "port_b")... Това е начина....А ако искаш по-лесно и бързо да научиш CCS-а ти препоръчвам да си изтеглиш plug-in-а за MPLAB, за да можеш да симулираш работата на контролера докато си пишеш...Аз така почнах, щото имах проблеми.....той CCS-а понякога не прави това което трябва.... |
||||||||||||||||||||||||||||
| Автор: | elektronchika [ Пет Дек 31, 2004 2:30 pm ] |
| Заглавие: | |
rotate_left(address, bytes) - на мястото на bytes какво трабва да напиша, защото ми искарва някаква грешка. пробвах с 0, 1 ,8, ама не става. можеш ли да ми обясниш малко по-подробно. то се видяло че от мен програмист няма да стане, но поне искам да имам обща представа. от къде може да си изтегля plug-in-а за MPLAB. аз MPLAB я имам. версията и е 6.20, нали ще ми свърши работа? ако може дай линк към plug-in-а. а как да дефинирам portA. какъв му е адресът? |
|
| Автор: | Dimitar [ Пет Дек 31, 2004 2:39 pm ] | |||||||||
| Заглавие: | ||||||||||
Трябва да е колко пъти искаш да въртиш в съответната посока, т.е. при 1 - RB0 отива на RB1 или RB7 в зависимост от посоката, при 2 - на RB2 или RB6 и т.н. |
||||||||||
| Автор: | Predator_MF [ Пет Дек 31, 2004 2:44 pm ] |
| Заглавие: | |
Простичко: rotate_left(port_b,x) - завърта port_b 1-път на ляво в рамките на x байта.....Трудно ми е точно в момента да го обясня (31 декември е |
|
| Автор: | elektronchika [ Пет Дек 31, 2004 3:36 pm ] |
| Заглавие: | |
а може ли да ми дадеш само едно линк-че към plug-in-а за MPLAB 6.20, дето стана на дума по-горе, че имам доста свободен трафик, а днес е последният ден от месеца, а съм си платил вече интернета и не искам да си губя байтовете. и какъв е адреса на porbA? само това искам. мерси! |
|
| Автор: | Dimitar [ Пет Дек 31, 2004 3:41 pm ] | |||||||||
| Заглавие: | ||||||||||
0x05. Ти Acrobat Reader знаеш ли случайно какво е |
||||||||||
| Автор: | elektronchika [ Пет Дек 31, 2004 4:02 pm ] |
| Заглавие: | |
в смисъл? знам какво е. защо? |
|
| Автор: | ToHu [ Пет Дек 31, 2004 4:24 pm ] |
| Заглавие: | |
Ами изтегли и прочети pdf-а за съответниа процесор, ам си пие всичко относно адреси ..... и разни други неща които е задължително да знаеш за да работиш с микроконтролера |
|
| Автор: | elektronchika [ Пет Дек 31, 2004 4:52 pm ] |
| Заглавие: | |
аз го имам datasheet-а, но се чудех какви са тези адреси. е, вече знам. информацията ви ми беше много полезна. благодаря! |
|
| Автор: | elektronchika [ Съб Яну 01, 2005 8:15 pm ] |
| Заглавие: | |
аз вече plug-in си изтеглих, но след като го инсталирах и направих отметката на mlpab-а за ccs какво трабва да направя, за да мога да го ползвам. малко не мога да се оправям с тези програми, така че ако някой може да ми помогне, няма да е зле. благодаря! |
|
| Автор: | Mozfet [ Нед Яну 02, 2005 9:47 pm ] |
| Заглавие: | |
Електрончика, ще ти кажа, че CCS не е кой знае колко, удобен за работа компилатор. Ок мощен е, но повечето му екстри просто не се ползват. В някои отношения ми се вижда недодялан. Много по-удобен за работа е mikroPascal. Безплатната версия компилира до 2 KB HEX, което ще ти е достатъчно според мен. Там няма да ти се налага да пишеш излишни редове като: #byte PortB = 0x06; защото компилатора много добре си знае какво е PortB. |
|
| Страница 1 от 2 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|