Отговори на тема  [ 132 мнения ]  Отиди на страница Предишна  1 ... 5, 6, 7, 8, 9  Следваща
Въпрос за някои особености на PIC16F527 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9119
Местоположение: Разград
Мнение Re: Въпрос за някои особености на PIC16F527
Стига ве човек. На 10F200 съм правил по-сложна програма...


Чет Сеп 03, 2015 9:32 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30684
Местоположение: София
Мнение Re: Въпрос за някои особености на PIC16F527
Абе на него рам му отива заради прекъсванията .. и там имаше директива ама сега не се сещам, начина по който ги обработват яде много рам по спомен

п.с. мда, само прекъсването яде 10% от рамта


Чет Сеп 03, 2015 9:57 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9119
Местоположение: Разград
Мнение Re: Въпрос за някои особености на PIC16F527
Ахааа - и като ползва флоат сигурно съхранява и флоат служебните регистри ... Тва е мноо тъпо при тия въшки. Май ще е най добре да се напише на чист асемблер тая програма. То не че е много 10% рам ама при положение, че пущината си записва всички важни регистри сама, за къв чеп трябва и прекъсването да съхранява. Да не би случайно да сложи флоат сметки в прекъсването... Не че не съм виждал и такова изпълнение де...


Чет Сеп 03, 2015 10:25 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30684
Местоположение: София
Мнение Re: Въпрос за някои особености на PIC16F527
не флоата сигурно го няма, релано 10% от 64 са има няма 6 байта, тъкмо колкото да запази някои регистри. Просто му е малко мозъка. Така или иначе за задачата за която ще го изпозлва ми се струва че изобщо няма да му стигне ресурса. Ако я кара на най-простия TOF алгоритъм може и да стане, но ако си мисли някаква обработка на сигнала да прави тия 64 байта не стигат за нищо. Може някакъв мнооого изпилен алгоритъм да се мисли с използване на ADC-то ама съмнителна работа. Иначе това което е намислил физически е невъзможно :) Няма как да драйва пиезото на 3 В и да очаква ехо което да се хване от компараторите на пикльо. Сигнала си иска усилване, пък после ако иска човек може само на компаратори да го кара.

п.с. не знам това давах ли го по горе, ето референт дизайн на AD http://www.analog.com/en/design-center/ ... d-overview със сигурност ако можеха да изпозлват директно някой техен чип нямаше да слагат толкова чаркуляк, ама и те нямат, само Cypress май имат ето това http://www.cypress.com/file/140911/download


Чет Сеп 03, 2015 10:35 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Нед Юли 22, 2007 8:57 pm
Мнения: 607
Местоположение: Белград
Мнение Re: Въпрос за някои особености на PIC16F527
ToHu написа:
E1 написа:
PIC16F527.
Ще се откажа от ПОРТА, защото като конфигурирам и него и РАМ-ът отива на 90% зает


Порт А няма нищо общо с рама, изобщо няма вариант порт А да влияе на РАМ нещо друго става при теб, при мен и рам и ром са под 20%, на 84-ката, тя има мозък колкото 527. А аз на порт А съм вързал един пин за хардуерен брекпойнт.


Ами факт е, че щом отворя още един порт и паметта се задръства. Има нещо и в самото управление на портовете.
Тази задача върви към пълен провал. Но ще се помъча до момента на краха.

_________________
http://www.szrefekt.com


Съб Сеп 05, 2015 5:05 am
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 11:22 pm
Мнения: 3084
Мнение Re: Въпрос за някои особености на PIC16F527
Цитат:
set_tris_b( 0x32 ); //PIN 5-INPUT 0b00100000


Съб Сеп 05, 2015 7:05 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30684
Местоположение: София
Мнение Re: Въпрос за някои особености на PIC16F527
Не няма връзка с порта, това не заема рам.


Съб Сеп 05, 2015 4:47 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 11:22 pm
Мнения: 3084
Мнение Re: Въпрос за някои особености на PIC16F527
Рам не взема , ама е грешка.
Колко ли още има?


Съб Сеп 05, 2015 5:09 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Нед Юли 22, 2007 8:57 pm
Мнения: 607
Местоположение: Белград
Мнение Re: Въпрос за някои особености на PIC16F527
Ето докъде стигнах: Реализирах схемата и в интерес на истината, ме изненада, че това чудо изобщо тръгна. Не работи кой знае как, но поне се опитва нещо.Проблем е, че кодът е така написан, че ако не получи сигнал, влиза в безкраен loop.
Друга особеност е, че реално, на входа на контролера е лог.1, докато не се получи сигнал. По-долу помествам какво имам на входа на микроконтролера. Трябва ми идея как да накарам чудото да работи, а да не похарча останалите 15% РАМ. Дали ще е по-удачно да се ползва аналогов вход, за да се детектира пикът? В момента, постоянно си чете някакви входни сигнали, дори и при свален капсул. Т.е. доста далеч е все още от истината. Ето какво имам на осцилоскопа:
Изображение

И кодът в момента.
Код:
#include <16F527.h>
#device ADC=8
#use delay(internal=8000000)

int16 distance;          // Defining variables

// Defining the pins

#define trig1 pin_c4     // Change as you wish, can use any pin in the MCU
#define trig2 pin_c5     // Change as you wish, can use any pin in the MCU

#define ECHO pin_c1     // Change as you wish, can use any pin in the MCU
#define ALL_OUT 0
#define ALL_IN 0xff
#FUSES NOWDT

#INT_TIMER0
void timer0_isr()
{
   distance+=0xff;

}

void blink1()
{
OUTPUT_HIGH(PIN_c0);
delay_ms(100);
OUTPUT_LOW(PIN_c0);
}

void blink2()
{
OUTPUT_HIGH(PIN_c0);
delay_ms(100);
OUTPUT_LOW(PIN_c0);
delay_ms(100);
OUTPUT_HIGH(PIN_c0);
delay_ms(100);
OUTPUT_LOW(PIN_c0);
}

void blink3()
{
OUTPUT_HIGH(PIN_c0);
delay_ms(100);
OUTPUT_LOW(PIN_c0);
delay_ms(100);
OUTPUT_HIGH(PIN_c0);
delay_ms(100);
OUTPUT_LOW(PIN_c0);
delay_ms(100);
OUTPUT_HIGH(PIN_c0);
delay_ms(100);
OUTPUT_LOW(PIN_c0);
}
void blink4()
{
OUTPUT_HIGH(PIN_c0);
delay_ms(100);
OUTPUT_LOW(PIN_c0);
delay_ms(100);
OUTPUT_HIGH(PIN_c0);
delay_ms(100);
OUTPUT_LOW(PIN_c0);
delay_ms(100);
OUTPUT_HIGH(PIN_c0);
delay_ms(100);
OUTPUT_LOW(PIN_c0);
delay_ms(100);
OUTPUT_HIGH(PIN_c0);
delay_ms(100);
OUTPUT_LOW(PIN_c0);
}
void blink5()
{
OUTPUT_HIGH(PIN_c0);
delay_ms(100);
OUTPUT_LOW(PIN_c0);
delay_ms(100);
OUTPUT_HIGH(PIN_c0);
delay_ms(100);
OUTPUT_LOW(PIN_c0);
delay_ms(100);
OUTPUT_HIGH(PIN_c0);
delay_ms(100);
OUTPUT_LOW(PIN_c0);
delay_ms(100);
OUTPUT_HIGH(PIN_c0);
delay_ms(100);
OUTPUT_LOW(PIN_c0);
delay_ms(100);
OUTPUT_HIGH(PIN_c0);
delay_ms(100);
OUTPUT_LOW(PIN_c0);
}

void main()
{

setup_adc(ADC_OFF); 
//set_tris_b( 0x32 );    //PIN 5-INPUT  0b00000010
//et_tris_a( 0x02 );
//set_tris_c( 0x32 );

#byte CM1CON0 = 0x27;
#byte CM2CON0 = 0x28;
#byte VRCON = 0x29;
#byte ANSEL = 0x2A;
#byte OPACON = 0x69;

VRCON = 0x00;
ANSEL = 0x00;
CM1CON0 =0x00;
CM2CON0 =0x00;
OPACON = 0x03;    //ENABLE OPAMP1 & OPAMP2

set_tris_c( 0x02 );

OUTPUT_LOW(PIN_c0);
OUTPUT_LOW(PIN_c4);
OUTPUT_LOW(PIN_c5);
 
delay_ms(1000);               // Boot-up delay, for troubleshooting

setup_timer_0(T0_INTERNAL);   // initiating timer

enable_interrupts(GLOBAL);    // enable GLOBAL INTERRUPTS


while(true)
{

set_tris_c( 0x02 );

output_c(0x10);
delay_us(12);              // sending 10us pulse
#asm
   nop
#endasm
output_c(0x20);
delay_us(12);
#asm
   nop
#endasm
//----------------

output_c(0x10);
delay_us(12);              // sending 10us pulse
#asm
   nop
#endasm
output_c(0x20);
delay_us(12);
#asm
   nop
#endasm

output_c(0x00);

set_tris_c( 0x22 );    //0b00100010

//delay_us(50);

//==============================
while(!input(ECHO))                       // wait for HIGH state of echo pin
{}

set_timer0(0);                           // setting timer zero
distance=0;
enable_interrupts(INT_TIMER0);         //ENABLE TIMER0 INTERRUPTS;
while(input(ECHO))                       // Wait for LOW state of echo pin
{}
disable_interrupts(INT_TIMER0);          // DISABLE t0 INTERRUPTS

distance+=get_timer0();

                         
if(distance<500)
{
blink5();
}

if(distance>499 && distance<1000)
{
blink4();
}

if(distance>999 && distance<1500)
{
blink3();
}


if(distance>1499 && distance<2000 )
{
blink2();
}

if(distance>1999 && distance<2500)
{
blink1();
}
                                     
                                         
delay_ms(1000);


}
}

_________________
http://www.szrefekt.com


Съб Сеп 26, 2015 10:50 pm
Профил WWW
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Нед Юли 22, 2007 8:57 pm
Мнения: 607
Местоположение: Белград
Мнение Re: Въпрос за някои особености на PIC16F527
Мда.... Тони се оказа прав за някои неща... Като цяло, входът се самовъзбужда от остатъчното трептене и на практика с този код няма да стане... От друга страна, това от което най-много се плашех - че входът няма да е достатъчно чувствителен, не е така. Направих опит и оставих програмата само с индикация при приемане, като подадох сигнал с HC-SR04 директно срещу капсулата. Улавя го от голямо разстояние - 1,50 - 2 метра(ясно, че при отразяване ще ми остане може би 1/3 от това). Като измерих импулсите на предавателната капсула на HC-SR04, виждам, че няма разлика в това, което излиза на изхода на моята капсула при 5V захранванее (засега постановката ще е само да постигна възможностите на HC-SR04 при еднакви условия. После ще мисля за 3-3,7V захранване). Сега остава въпросът как да елиминирам треперенето на контактите. Интересно как работи ТОВА. В момента се сещам само да се откажа от цифровия вход и да търся пика чрез АЦП. Как става аналоговото измерване в CCS? Този компилатор хич не мога да го схвана...

_________________
http://www.szrefekt.com


Вто Сеп 29, 2015 3:51 am
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Мар 31, 2009 10:25 am
Мнения: 1391
Мнение Re: Въпрос за някои особености на PIC16F527
Ето електрическата схема:

Изображение


Вто Сеп 29, 2015 9:04 am
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Нед Юли 22, 2007 8:57 pm
Мнения: 607
Местоположение: Белград
Мнение Re: Въпрос за някои особености на PIC16F527
Имам подобна схема, изпълнена само с 2 ОУ. И усилването е достатъчно.

_________________
http://www.szrefekt.com


Вто Сеп 29, 2015 9:43 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Яну 20, 2009 11:54 pm
Мнения: 11338
Местоположение: "Занзибар"
Мнение Re: Въпрос за някои особености на PIC16F527
Бай ви Бонго реши да си направи гимнастика на мозъка колкото да не забрави съвсем електрониката и анализира схемата на Момчето зад щанда (майтап бе, ilkor).
Мии то и тук усилвателните стъпала са две, следва пасивен пиков детектор (макар и сложно нарисуван с този грец) и нещо като интегратор или НЧФ без усилване.
Аналоговата част е доста изсмукана от пръстите и е натъманявана по метода проби-грешки: зададеното усилване се постига при честоти над 100кХц, ама там LM324 вече издъхва - явно това е лентов филтър по китайски. Другото ще да е софтуерни чалъми за скалъпване на омазания хардуер.
Не знам цената на капсулата, но другият чаркалак е $2-3 на дребно и $25 ми се виждат множко за такъв боклук.


Пет Окт 09, 2015 8:52 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Мар 31, 2009 10:25 am
Мнения: 1391
Мнение Re: Въпрос за някои особености на PIC16F527
Схемата не е моя - взета е от дейташита на модула. Очевидно е достатъчно добре направена, защото този модул се продава почти 10 години - аз съм си купувал мостра за тест от Фарнел преди горе долу толкова време.
Ако ги разбираш по-добре нещата - направи по хубав и по евтин.
Bongo Knows Everything


Нед Окт 11, 2015 7:30 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Яну 20, 2009 11:54 pm
Мнения: 11338
Местоположение: "Занзибар"
Мнение Re: Въпрос за някои особености на PIC16F527
А ти нали уж беше спрял да се обиждаш от "продавач"?! :)


Пон Окт 12, 2015 12:34 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 132 мнения ]  Отиди на страница Предишна  1 ... 5, 6, 7, 8, 9  Следваща

Кой е на линия

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


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

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