Čekajíci program na PIC10F206

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
markoni
Příspěvky: 2312
Registrován: 30 říj 2006, 00:00
Bydliště: Poblíž Zlína
Kontaktovat uživatele:

Čekajíci program na PIC10F206

#1 Příspěvek od markoni »

Zdravím
Tak už jsem vzdal něco vytvořit sám to bych taky nad tím mohl strávit celé mládí :D .Potřebuji program (zdroják)aby pokaždé hodině změnil stav na GP1 a GP0 na 2 až 3 sekundy může to být v HI-TECH C nebo ASM díky
Čím víc dál se snažím se učit tím poznávám že nic nevím .Poslední 2 roky mám kvadruparézu
Uživatelský avatar
feliz_navidad
Příspěvky: 959
Registrován: 15 říj 2009, 00:00

#2 Příspěvek od feliz_navidad »

Co je na tom tak složitýho? Nastav si Timer0 na 50ms, jednou za 20 přetečení inkrementuješ sekundy, jednou za 60sec inkrementuješ minuty a jednou za 60 min pošleš pulz délky 40-60 přetečení Timeru0 na GP0,1. A znova od začátku. Stačí na to 4 registry.
Uživatelský avatar
markoni
Příspěvky: 2312
Registrován: 30 říj 2006, 00:00
Bydliště: Poblíž Zlína
Kontaktovat uživatele:

#3 Příspěvek od markoni »

Pro tebe možná není ale pro mně moc :oops: kdyby tě to moc neobtěžovalo tak mrskni sem ten zdroják ty to určitě zvládneš za malou chvíli mě by to trvalo dlouho díky
Čím víc dál se snažím se učit tím poznávám že nic nevím .Poslední 2 roky mám kvadruparézu
Uživatelský avatar
frpr666
Příspěvky: 1051
Registrován: 28 pro 2009, 00:00

#4 Příspěvek od frpr666 »

zkus zmodifikovat toto (neodzkoušeno)

Kód: Vybrat vše

void delay_some_time (void);

main()
{
    unsigned char i;

    CMCON0 = 0xf7; //0b11110111 default settings+comparator off
    TRIS = 0x00;    // all I/O are outputs


    do
    {
        GPIO = 0x05;  // set I/O
        i = 0;
        do
        {
            delay_some_time();
        }
        while((--i)!=0);

        GPIO = 0x0A;  // set I/O
        i = 0;
        do
        {
            delay_some_time();
        }
        while((--i)!=0);

    }
    while(1);
}

void delay_some_time (void)
{
    unsigned char i;
    i = 0;
    do
    {
        asm volatile ("nop");
    }
    while((--i)!=0);
}

pozn. jakou máš verzi MPLAB a verzi HI-TECH C?
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“