| Автор |
Съобщение |
|
E1
Ранг: Почетен член
Регистриран на: Нед Юли 22, 2007 8:57 pm Мнения: 607 Местоположение: Белград
|
 Re: Въпрос за някои особености на PIC16F527
Затова смених порта - от В на С. Но няма никаква разлика. Светодиодите реагират единствено, ако откача и закача модула. Което ме навежда на мисълта, че нещо с онези изчаквания ми прави номер.
|
| Сря Сеп 02, 2015 9:16 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
 Re: Въпрос за някои особености на PIC16F527
И на B и на С си работи, той пробелма с порта е принципен за всички портове при този процесор не само за В ако помня вярно какво четох. Значи на симулатора работи, като гледам асемблера също работи, просто няма какво да е. Виж като го прогрмаираш да не би конфигурационата дума нещо да не се записва грешно, от там зависи WDT .. .но ако съменнеито е WDT просто сложи restart_wdt(); във всеки while, и махни ония секунди по горе, въпреки че ако имаш fuses WDT то само трябва да добави това във функцията delay
Но един друг съвет, не си губи времето с този модул, измисли хардуерното решение и след това софтуера, двата софтуера няма да имат нищо общо. Аз все така горещо ти препоръчвам специализиран чип за да ти е мирна главата.
|
| Сря Сеп 02, 2015 9:19 pm |
|
 |
|
E1
Ранг: Почетен член
Регистриран на: Нед Юли 22, 2007 8:57 pm Мнения: 607 Местоположение: Белград
|
 Re: Въпрос за някои особености на PIC16F527
Можеш ли да направиш симулация за 16F84A или 16F88? Това имам в наличност от сходните. И после ще опитам. Вече започвам да се опасявам, че съм убил модула вчера. Не откъсва.
|
| Сря Сеп 02, 2015 11:37 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
 Re: Въпрос за някои особености на PIC16F527
ами правя е на 676 който не е мн по различен от 84, сега ще направя и на 84
|
| Чет Сеп 03, 2015 12:24 am |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
 Re: Въпрос за някои особености на PIC16F527
работи и на 84 .. не че има причина да не работи  //#include main 16.h #include <16F84A.h> //#device ADC=16 #use delay(crystal=8000000) #use FAST_IO(A) #use FAST_IO(B) #fuses NOWDT #BIT trig = 0x06.4 #BIT echo = 0x06.5 #BIT led_0 = 0x06.6 #BIT led_1 = 0x06.7 #BIT brk = 0x05.2 unsigned int16 distance; // Defining variables #define ALL_OUT 0 #define ALL_IN 0xff #INT_TIMER0 void timer0_isr() { distance+=0xff; } void main() { //setup_adc(ADC_OFF); set_tris_b( 0x2F ); //PIN 5-INPUT 0b00100000 set_tris_a( 0x00 ); delay_ms(1000); // Boot-up delay, for troubleshooting setup_timer_0(T0_INTERNAL); // initiating timer enable_interrupts(GLOBAL); // enable GLOBAL INTERRUPTS while(true) { led_0=0; led_1=0; trig=1; // ping the sonar delay_us(20); // sending 20us pulse trig=0; while(!echo) // wait for high state of echo pin { restart_wdt(); } set_timer0(0); // setting timer zero distance=0; enable_interrupts(INT_TIMER0); //ENABLE TIMER0 INTERRUPTS; while(echo) // Wait for high state of echo pin { restart_wdt(); } disable_interrupts(INT_TIMER0); // DISABLE t0 INTERRUPTS distance+=get_timer0(); brk=1; if(distance<300) { led_0=0; led_1=0; } if(distance>299 && distance<500) { led_0=1; led_1=0; } if(distance>499 && distance<600) { led_0=0; led_1=1; } if(distance>600 ) { led_0=1; led_1=1; } delay_ms(1000); brk=0; } }
Последна промяна ToHu на Чет Сеп 03, 2015 12:55 am, променена общо 1 път
|
| Чет Сеп 03, 2015 12:50 am |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
 Re: Въпрос за някои особености на PIC16F527
Малко съм ти променил кода но и с твоят си работи, разликата е само във fast_io и работата с изходите като с битове.
|
| Чет Сеп 03, 2015 12:52 am |
|
 |
|
E1
Ранг: Почетен член
Регистриран на: Нед Юли 22, 2007 8:57 pm Мнения: 607 Местоположение: Белград
|
 Re: Въпрос за някои особености на PIC16F527
Е, проблем с модула. Имаше студена спойка на краче от едната схема! Благодаря за помощта! Сега работи. За P16F527, как най-бързо може краче 4 от изход да бъде дефинирано като вход и обратно? Става дума, по време на програмата да сменя изход/вход. Понеже се опитвам да работя с приемо-предавателен капсул, налага се веднага след излъчването да освободи входа, за да може да се слуша какво се връща.
|
| Чет Сеп 03, 2015 5:33 am |
|
 |
|
valioman
Ранг: Почетен член
Регистриран на: Съб Сеп 17, 2005 5:07 pm Мнения: 813 Местоположение: Сливен
|
 Re: Въпрос за някои особености на PIC16F527
Ако НЕ ползваш fast_io(X) от кода на Тони когато пишеш input(pin_X) CCS автоматично ти прави това съответно и когато пишеш output_x(pin_x); го обръща на изход. Иначе "легалния" начин е : set_tris_x(y) където y е 8 битово число на което всеки бит отговаря на пин от съответния портХ и когато в 0 значи пина е Изход а когато е 1 съответно вход. Това са вградени функции на компилатора но ако се придържаш в стила на Тони трябва да си дефинираш някъде TRIS регистъра като #byte и после побитово да си го превключваш . Въпрос на стил на писане 
|
| Чет Сеп 03, 2015 8:34 am |
|
 |
|
E1
Ранг: Почетен член
Регистриран на: Нед Юли 22, 2007 8:57 pm Мнения: 607 Местоположение: Белград
|
 Re: Въпрос за някои особености на PIC16F527
А как се сетва PORTA като DIGITAL INPUT/OUTPUT? И как се въвеждат FUSES - например да се активират компараторите на PORTB и PORTC(регистър OPACON с адрес 0x0069, да получи стойност 0x03(OP1ON=1 и OP2ON=1)?
|
| Чет Сеп 03, 2015 10:06 am |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
 Re: Въпрос за някои особености на PIC16F527
Това което пробваш е още по трудно директно от пика.А за времето на превключване не го мисли, пиезото ще трепти поне едни 10 периода след като му спреш пинга, т.е. поне 250 мкс, а I/O се обръща за ns ди, със всички инструкции да отиде 1 us.
|
| Чет Сеп 03, 2015 1:51 pm |
|
 |
|
E1
Ранг: Почетен член
Регистриран на: Нед Юли 22, 2007 8:57 pm Мнения: 607 Местоположение: Белград
|
 Re: Въпрос за някои особености на PIC16F527
Какво греша при опита да направя PORTA digital?
Последна промяна E1 на Чет Сеп 03, 2015 8:13 pm, променена общо 1 път
|
| Чет Сеп 03, 2015 7:41 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
 Re: Въпрос за някои особености на PIC16F527
Това кой процесор визираш, защото тпй порт А си е такъв по дифолт.
|
| Чет Сеп 03, 2015 8:02 pm |
|
 |
|
E1
Ранг: Почетен член
Регистриран на: Нед Юли 22, 2007 8:57 pm Мнения: 607 Местоположение: Белград
|
 Re: Въпрос за някои особености на PIC16F527
PIC16F527. Според документацията(стр.31), приоритетът е следният:
За PORTA,0: AN0, CIN+, TRISA0 За PORTA,1: CVREF, AN1, CIN-, TRISA1
Като конфигурирам тригер и ехо на PORTA (0,1), не работи. Предполагам, че не е активен DIGITAL I/O, а друг някой режим.
Ще се откажа от ПОРТА, защото като конфигурирам и него и РАМ-ът отива на 90% зает
|
| Чет Сеп 03, 2015 8:09 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
 Re: Въпрос за някои особености на PIC16F527
Вместо да четеш какво пише подобре гледай схемите, все още ги дават. Ако се загледаш има еидн тристейт който е вързан както към трис регистъра така и към едно или не което пък обединява ADC enable и comp enable. Тоест ако една от тия периферии ти е активна порта е в тристейт и работи като аналогов, и пулъпа му се изключва.
|
| Чет Сеп 03, 2015 8:40 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
 Re: Въпрос за някои особености на PIC16F527
Порт А няма нищо общо с рама, изобщо няма вариант порт А да влияе на РАМ нещо друго става при теб, при мен и рам и ром са под 20%, на 84-ката, тя има мозък колкото 527. А аз на порт А съм вързал един пин за хардуерен брекпойнт.
|
| Чет Сеп 03, 2015 8:42 pm |
|
|