Отговори на тема  [ 7 мнения ] 
Странен проблем с два ПИК-а ?!?! 
Автор Съобщение
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Чет Мар 19, 2009 8:33 pm
Мнения: 804
Мнение Странен проблем с два ПИК-а ?!?!
Здравейте , от доста време не мога да си открия грешката , Моля за малко помощ :)

Проблема е следния : Става въпрос за симулация с Протеус-а .
Опитвам се да използвам CCP модула на 16Ф877 , но не иска и не иска да тругне нормално.
Накрая сведох сорса на CCS до минимум , за проба на CCP -то , но пак НЕ !
Направих същата схема със 18Ф458 и сходен сорс код , за да видя аз ли бъркам или що ,
но при него си работи без проблем :o .
Смених компилатора с новаверсия , смених протеуса , но без резулат.
Явно аз бъркам някъде но не знам къде . :(
Пробвах и със друга 16Ф-ка но пак не работи .
Пускам програмите за двата пика , ако някой може да даде идея , Ще съм много благодарен :)

Не работещата :
Код:
#include <16F877.H>
#fuses XT, NOWDT, NOPROTECT, BROWNOUT, PUT, NOLVP
#use delay(clock=16000000)
#include <flex_lcd.c>   
//**************************************************
#byte pA   =5   //port a   //
#byte pB   =6   //b         //
#byte pC   =7   //c         //
#byte pD   =8   //d         // usb port 8 bits parallel
#byte pE   =9   //port e   //
// *********************************

//*********  Caaaaaia ia eiioeao?aoey ia ieiiaaoa ia ii?oiaaoa  ************
#Define  SetConfigPortA     0//100011  //33  100001
#Define  SetConfigPortB     16
#Define  SetConfigPortC     0//bx 00000011
#Define  SetConfigPortD     0
#Define  SetConfigPortE     0
//**************************************************


#bit led=pC.4
#define TEST_LED pin_c5


#int_ccp1
void ccp1_isr(void)
{
int16 current_ccp;
static int16 old_ccp = 0;

current_ccp = CCP_1;

Output_high(TEST_LED);
delay_ms(1);
Output_low(TEST_LED);
delay_ms(1);

}

//==========================
void main()
{
lcd_init();
SETUP_TIMER_1(T1_INTERNAL|T1_DIV_BY_1);
enable_interrupts(INT_TIMER1);
CLEAR_INTERRUPT(INT_CCP1);
SETUP_CCP1(CCP_CAPTURE_RE);
enable_interrupts(INT_CCP1);
enable_interrupts(GLOBAL);

while(1)

{

}
}






Работещата :

Код:
#include <18f458.h>   
#device *=16                 
#Fuses HS,NOWDT,NOPROTECT,NOLVP, NOBROWNOUT, NOPUT

#use delay(clock=16000000)        // Crystal Oscillator Frequency
#use rs232(baud=15625,parity=N,xmit=PIN_C6,   rcv=PIN_C7   ,bits=8,FORCE_SW /* INVERT*/,TIMEOUT=400)
#include <flex_lcd.c>                //i?aaaaa /i?eaia

//**************************************************
#byte pA   =0xF80   //port a   //
#byte pB   =0xF81   //b         //
#byte pC   =0xF82   //c         //
#byte pD   =0xF83   //d         // usb port 8 bits parallel
#byte pE   =0xF84   //port e   //
// *********************************

//
//*********  Caaaaaia ia eiioeao?aoey ia ieiiaaoa ia ii?oiaaoa  ************
#Define  SetConfigPortA     0//100011  //33  100001
#Define  SetConfigPortB     16
#Define  SetConfigPortC     0//bx 00000011
#Define  SetConfigPortD     0
#Define  SetConfigPortE     0
//**************************************************


#bit led=pC.4
#define TEST_LED pin_c5


#int_ccp1
void ccp1_isr(void)
{
int16 current_ccp;
static int16 old_ccp = 0;

current_ccp = CCP_1;

Output_high(TEST_LED);
delay_ms(1);
Output_low(TEST_LED);
  delay_ms(1);

}

//==========================
void main()
{
lcd_init();
SETUP_TIMER_1(T1_INTERNAL|T1_DIV_BY_1);
enable_interrupts(INT_TIMER1);
CLEAR_INTERRUPT(INT_CCP1);
SETUP_CCP1(CCP_CAPTURE_RE);
enable_interrupts(INT_CCP1);
enable_interrupts(GLOBAL);

while(1)

{

}
}



Тук има двата проекта на протеус , ако някои може да пробва при него дали тръгват .


Прикачени файлове:
CCP1_test.rar [114.11 KiB]
68 пъти
Чет Мар 18, 2010 1:32 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юли 24, 2005 10:28 am
Мнения: 2658
Мнение 
а да си пробвал с истински чип? :D


Чет Мар 18, 2010 8:34 am
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Чет Мар 19, 2009 8:33 pm
Мнения: 804
Мнение 
Работата е че не съм .
Тъй като съм начинаещ , а протеуса доста улеснява работата , а за това което съм замислил ще ми е много трудно без симуласия в него .
Най вероятно ще работи в/у истински чип , но това за сега не ме грее много :)
То по принцип не дава грешка при работата , но изобщо не влиза в прекъсване от CCP , все едно че го няма !

Ще помоля някой ако има време и желание да пробва в неговия протеус , дали ще работят моите файлове с проекта . Версията е 7.6 SP0 !


Чет Мар 18, 2010 8:53 pm
Профил
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Нед Апр 26, 2009 2:24 pm
Мнения: 398
Мнение 
ето за 877 и 485


Прикачени файлове:
485.JPG
485.JPG [ 234.62 KiB | Прегледано 720 пъти ]
877.JPG
877.JPG [ 228.26 KiB | Прегледано 711 пъти ]
Чет Мар 18, 2010 9:00 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Чет Мар 19, 2009 8:33 pm
Мнения: 804
Мнение 
:D

МНОГО ТИ БЛАГОДАРЯ ,
за труда !

Явно не само при мен е така , и при теб не влиза в прекъсване .


Чет Мар 18, 2010 9:11 pm
Профил
Ранг: Минаващ
Ранг: Минаващ
Аватар

Регистриран на: Пет Окт 05, 2007 8:34 pm
Мнения: 76
Местоположение: Русе
Мнение 
За симулация е нормално нещо да не се получава както би се получило в действителност, поради простата причина, че се използват разни математически модели, които уж описват физическия процес... ето защо не съм привърженик на симулациите и още нещо, за мен симулациите са като да учиш първокласник да събира и изважда с калкулатор..., а за конкретната програма ако я изпробваш на истински чип, може и да се изненадаш, че работи :D


Чет Мар 18, 2010 10:49 pm
Профил ICQ
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Чет Мар 19, 2009 8:33 pm
Мнения: 804
Мнение 
Да съгласен съм за симулациите , добре са ми известни начина им на работа . То всяка верига се описва с N на брой диференциялни уравнения с много неизвестни , особено пък ако се моделират и преходни процеси - става една ....:lol:

Но това спестява много време и излишни програмирания на чипа .
Но някой път се получават много добре симулираните и реалните неща. Както при мен предишния проект които правих , от към поведение почти едно към едно с реалността :)
А за моята програма , както писах по горе , даже съм убеден че ще работи в действителност :)
, но както и да е .... ще се опитам по друг начин .
Благодаря ви за вниманието :)


Пет Мар 19, 2010 12:15 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 7 мнения ] 

Кой е на линия

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


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

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