I
ieda
Guest
hei!Voiko joku auttaa minua ...Haluan näyttää sydämen syke 7 segmentin näyttö käyttämällä PIC 16F877 .. vastatakaus palauttaa 60 sekunnin välein.ja jos määrä ylittää esimerkiksi 80, että Alam tahtoa ...kunkin 7segment näyttö 0-9
Kysymykseni ovat:
1) I hv ongelma siitä, miten näyttö 3 numeroa .. unit -> kymmeniä -> satoja (minun näyttö osa)
2) kuten u näe,
en voi järjestää minun koodausstandardien hyvin ...i karhuta todella ymmärtää c-koodin muodossa.i karhuta osaat soittaa minun näytön tärkeimmistä ohjelma .. i yrittää mutta ..
muissa sana, i karhuta osaat kirjoittaa esittää ohjelmien virtauksen oikein.
3) tunnistaa minun anturi:
if (PORTA.F4 == 1) / / liitä sataman A-anturi
(
counter = 0;
while (1) (
/ / Sitten i karhuta tiedä miten "kytkeä" tämä osa minun näyttö osittain ja minun suurin osa3) i asettaa ajastimen nollata laskuri 60 sekunnin välein, mutta lec pyydä minua juuri laske 15 sekuntia ja sitten moninkertaistaa sen 4 .. miten voin vaihtaa ohjelmien** i jo määritelty kaikki 7segment interface **
)Code:
mitätön main (void) (TRISA = 0xFF; / / PORT A input
TRISB = 0; / / PORT B ja PORT D tuotokseksi
TRISD = 0;
TMR1H = 0xFB;
TMR1L = 0x1D;
TICON = 0b00101001 / / enable Timer 1
PIR1.TMR1IF = 0; / / Vapaa ajastin 1 keskeyttää lippu
PIE1.TMR1IE = 1; / / Ota ajastin 1 keskeyttää
INTCON.GIE = 1; / / Ota peripheril keskeyttää
/ / näytön osamitätön näyttö () (
if (laskuri <10);
(
case0;
display_port = 0b00000011;
break;case1;
display_port = 0b10011111;
tauko:
.
.
.
. / / Asti case9
)
)mitätön keskeyttää () (
if (PIR1.TMR1IF)
(
counter ;
TMR1H = 0xFB;
TMR1L = 0x1D;
PIR1.TMR1IF = 0
)mitätön hälytys () (
if (laskuri> 80);
PORTD.F2 = 1;
delay_ms (1000);
PORTD.F2 = 0;
)
Kysymykseni ovat:
1) I hv ongelma siitä, miten näyttö 3 numeroa .. unit -> kymmeniä -> satoja (minun näyttö osa)
2) kuten u näe,
en voi järjestää minun koodausstandardien hyvin ...i karhuta todella ymmärtää c-koodin muodossa.i karhuta osaat soittaa minun näytön tärkeimmistä ohjelma .. i yrittää mutta ..
muissa sana, i karhuta osaat kirjoittaa esittää ohjelmien virtauksen oikein.
3) tunnistaa minun anturi:
if (PORTA.F4 == 1) / / liitä sataman A-anturi
(
counter = 0;
while (1) (
/ / Sitten i karhuta tiedä miten "kytkeä" tämä osa minun näyttö osittain ja minun suurin osa3) i asettaa ajastimen nollata laskuri 60 sekunnin välein, mutta lec pyydä minua juuri laske 15 sekuntia ja sitten moninkertaistaa sen 4 .. miten voin vaihtaa ohjelmien** i jo määritelty kaikki 7segment interface **
)Code:
mitätön main (void) (TRISA = 0xFF; / / PORT A input
TRISB = 0; / / PORT B ja PORT D tuotokseksi
TRISD = 0;
TMR1H = 0xFB;
TMR1L = 0x1D;
TICON = 0b00101001 / / enable Timer 1
PIR1.TMR1IF = 0; / / Vapaa ajastin 1 keskeyttää lippu
PIE1.TMR1IE = 1; / / Ota ajastin 1 keskeyttää
INTCON.GIE = 1; / / Ota peripheril keskeyttää
/ / näytön osamitätön näyttö () (
if (laskuri <10);
(
case0;
display_port = 0b00000011;
break;case1;
display_port = 0b10011111;
tauko:
.
.
.
. / / Asti case9
)
)mitätön keskeyttää () (
if (PIR1.TMR1IF)
(
counter ;
TMR1H = 0xFB;
TMR1L = 0x1D;
PIR1.TMR1IF = 0
)mitätön hälytys () (
if (laskuri> 80);
PORTD.F2 = 1;
delay_ms (1000);
PORTD.F2 = 0;
)