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

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


Съб Авг 29, 2015 9:14 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

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

_________________
http://www.szrefekt.com


Нед Авг 30, 2015 11:33 am
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9119
Местоположение: Разград
Мнение Re: Въпрос за някои особености на PIC16F527
пк3 + mplab X IPE 3.10. Не е както си свикнал с пк2 или пк3 ама се работи...


Нед Авг 30, 2015 11:36 am
Профил ICQ
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пет Юни 25, 2010 3:18 pm
Мнения: 363
Местоположение: Varna
Мнение Re: Въпрос за някои особености на PIC16F527
Пробвай с това. Пише че има поддръжка за този пик.


Прикачени файлове:
pk2dft.zip [25.99 KiB]
251 пъти
Нед Авг 30, 2015 11:50 am
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пет Юни 25, 2010 3:18 pm
Мнения: 363
Местоположение: Varna
Мнение Re: Въпрос за някои особености на PIC16F527
Ето и линк към редактора http://www.microchip.com/forums/m473925.aspx


Нед Авг 30, 2015 12:06 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Сря Фев 04, 2015 8:11 pm
Мнения: 610
Мнение Re: Въпрос за някои особености на PIC16F527
Cekins написа:
.. С него можеш да си добавиш какъвто искаш чип, обаче няма да е никак лесно - аз го погледнах и видях че има 100 параметъра от които в даташитовете са описани 10-тина. ...

Много често новите чипове съвпадат с по-стари модели. Ако се знае от кое "семейство е" само се копират данните за по-стар модел и се правят някои корекции, най-често за паметта. Но си е хакерстване и има винаги риск.
Решението е пк3. В али-то е 25лв и си е 1:1. Наскоро Микрочип проведоха кампания за обратно изкупуване на пк2, явно са решили тотално да го убият и анихилират. Така ,че не чакайте официална поддръжка. А нови пикове излизат всеки месец.


Нед Авг 30, 2015 12:32 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Нед Юли 22, 2007 8:57 pm
Мнения: 607
Местоположение: Белград
Мнение Re: Въпрос за някои особености на PIC16F527
Stoimen, в този ъпдейт наистина го има.
Ще пробвам да видя как програмира.
Благодаря!

_________________
http://www.szrefekt.com


Нед Авг 30, 2015 2:29 pm
Профил WWW
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Нед Юли 22, 2007 8:57 pm
Мнения: 607
Местоположение: Белград
Мнение Re: Въпрос за някои особености на PIC16F527
Да. Програмира се без проблем! Сега да видим колко време ще ми трябва,за да си преработя кода...

_________________
http://www.szrefekt.com


Пон Авг 31, 2015 10:28 pm
Профил WWW
Ранг: Почетен член
Ранг: Почетен член

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

Код:
#include <Ultrasonic_P16F527.h>

int16 distance;          // Defining variables

// Defining the pins

#define trig pin_b4     // Change as you wish, can use any pin in the MCU
#define echo pin_b5     // Change as you wish, can use any pin in the MCU
#define ALL_OUT 0
#define ALL_IN 0xff


void main()
{

setup_adc(ADC_OFF); 
set_tris_b( 0x32 );    //PIN 5-INPUT  0b00100000
 

delay_ms(1000);                              // Boot-up delay, for troubleshooting

setup_timer_0(T0_INTERNAL);     // initiating timer



while(true)
{

output_high(trig);                         // ping the sonar
delay_us(20);                            // sending 20us pulse
output_low(trig);


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

set_timer0(0);                           // setting timer zero

while(input(ECHO))                       // Wait for high state of echo pin
{}

// time=get_timer0();                       // Getting the time

distance=get_timer0();

//distance=distance*0.028 + 1.093 ;             // Calculating the distance
                           

if(distance<300)
{
OUTPUT_LOW(PIN_B6);
OUTPUT_LOW(PIN_B7);
}

if(distance>299 && distance<500)
{
OUTPUT_HIGH(PIN_B6);
OUTPUT_LOW(PIN_B7);
}

if(distance>499 && distance<600)
{
OUTPUT_LOW(PIN_B6);
OUTPUT_HIGH(PIN_B7);
}



if(distance>600 )
{
OUTPUT_HIGH(PIN_B6);
OUTPUT_HIGH(PIN_B7);
}
                                     
                                         
delay_ms(500);


}
}


Така стои на 50%. В момента, в който върна реда distance=distance*0.028 + 1.093 ; // Calculating the distance и пълни РАМ паметта...

_________________
http://www.szrefekt.com


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

Регистриран на: Сря Юли 11, 2007 10:16 am
Мнения: 1730
Мнение Re: Въпрос за някои особености на PIC16F527
Ами умножи си константите по 1000 или пък по голямо число, степен на двойката..


Вто Сеп 01, 2015 9:42 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

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


Вто Сеп 01, 2015 10:06 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Съб Сеп 17, 2005 5:07 pm
Мнения: 813
Местоположение: Сливен
Мнение Re: Въпрос за някои особености на PIC16F527
При условие ,че долу if-oвете са ти меко казано "грубо" мерене не знам защо на тая въшка пъниш float-ове ,че и до 3 ти знак.
Тая формула в комбинация с долните if-oве горе долу се равнява на distance/=36; ( така яде 60% РАм :) ).
Умножени константи х1000 ще иска int32 променлива което пак пълни рама май ... :)
Между другото на тоя пикльо таймер 0 е 8 бита ... после имаш делене .... а долу в If-oовете ще сработи само първия евентуално .
Не ти знам опитната постановка но не виждам и код за overflow на таймера .

_________________
Код:
while(true);


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

Регистриран на: Сря Юли 11, 2007 10:16 am
Мнения: 1730
Мнение Re: Въпрос за някои особености на PIC16F527
Всъщност, ако това ти е цялата програма - изобщо няма смисъл да умножаваш каквото и да е в самия пик.
Изкарай си границите на няколко константи, които са стойностите на таймер-а и само ги сравни..
Например 300 (каквото и да е) е 10675 от таймер-а ти -
Код:
#define RANGE_300 10675
и така нататъка с отаналите.


Вто Сеп 01, 2015 10:47 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9119
Местоположение: Разград
Мнение Re: Въпрос за някои особености на PIC16F527
А какъв е смисъла да умножаваш 8 битова променлива по каквото и да било и после да проверяваш дали е в някакви граници, когато можеш да си сметнеш каква ще ти е самата 8 битова стойност за тези граници които проверяваш. Въобще цялата сметка е безсмислена. И освен това тази програма теоретично може да се направи с ползване на 0 байта памет - какви са тия 50% - 100%. Пък били те и само 68 байта...

edit : с michev сме писали заедно и едно и също :)


Вто Сеп 01, 2015 10:53 pm
Профил ICQ
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Нед Юли 22, 2007 8:57 pm
Мнения: 607
Местоположение: Белград
Мнение Re: Въпрос за някои особености на PIC16F527
Не поясних...
If-овете са сложени само, за да видя дали работи(е, не работи... ако трябва да съм по-точен, дава някои признаци, че нещо се случва, но да кажа, че е измерване, ще е смешно). После ще се махнат. Не създават проблем с паметта. Реално само въпросният ред я изяжда. Тествано. Аналоговата част на самия контролер ще се ползва, за да се реализира измервателната част и да няма външни устройства, но като гледам, това е мнооого далеч. Няма прекалено големи изисквания за точността. Засега най-важното е някак да тръгне.
Наистина няма overflow на таймера. Този примерен код свалих отнякъде и вместо LCD(само той ми липсваше) сложих два диода, за да следя приблизително какво се случва - съвсем грубо, а после ще се прави друга визуализация.
Намерението ми беше да използвам алгоритъм с аналогово измерване, при който се определят екстремните стойности и така дава много добра точност, но с тази памет... Засега задачата е да накарам външният сензор да работи с този контролер.

PS: Сега се сетих, че е напълно възможно, заради 8-битовия таймер, той да се препълва бързо и няма да има възможност за директно измерване на по-големи разстояния. Мисля да въведа променлива, която да брои препълванията и така да увелича обхвата. Когато отчета данните, ще я нулирам заедно с таймера. Моле ли някой пример за следене препълването на таймера. На практика това е първото нещо, което правя на CCS и ми е доста непознато.

_________________
http://www.szrefekt.com


Последна промяна E1 на Сря Сеп 02, 2015 8:14 am, променена общо 1 път



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

Кой е на линия

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


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

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