Pagalba:) PIC18F4525 nutraukti PROBLEMA

N

narcon

Guest
Sveiki visi, Turiu tokia problema:
Turiu daug mygtukų kaip pirkimo prijungtas prie PIN RB0 RB1 RB2 RB3 RB4 RB5 RB6 RB7
ir paskatino PIN RD0 RD1
kaip pakeisti nutraukti narė negali aptikti?# define PIC_CLK 4000000
# include <pic18.h>
__CONFIG (1, SS); / / for freq> 8MHz ir <20MHz, naudokite XT vietoj SS už <8MHz
__CONFIG (2, BORDIS & WDTDIS) / / BORDIS = brown out reset neįgaliesiems, WDTDIS = Watch Dog laikmatis neįgaliesiems
__CONFIG (4 DEBUGDIS & LVPDIS & STVRDIS) / / DEBUGDIS = debug neįgaliesiems, LVPDIS = žemos įtampos programmin neįgaliesiems
__CONFIG (5, Unprotect) / / Nesaugu
__CONFIG (6, 0xffff);
__CONFIG (7, 0xffff);# pragma interrupt_level 0 / * Oops - tik 0 arba 1 * /

tuščia nutraukti inter1 (tuščia)
(
if ((RBIF) & & (RBIE))
(
if (RB0 == 1)
(
RD0 =! RD0;
RD1 =! RD1;
)
RBIF = 0;
)

)

tuščia init_Buttons ()
(
TRISB0 = 1; / / input

RB0 = 0;
TRISB1 = 1; / / input
RB1 = 0;
TRISB2 = 1; / / input
RB2 = 0;
TRISB3 = 1; / / input
RB3 = 0;
TRISB4 = 1; / / input
RB4 = 0;

TRISD3 = 1;
RD3 = 1;
)

tuščia init_Rele ()
(
TRISD0 = 0; / / Output
RD0 = 0;
TRISD1 = 0; / / Output
RD1 = 0;
)

void main (void) (
init_Rele ();
init_Buttons ();
init_interrupt ();
while (1)
(
;))
void init_interrupt (void);tuščia init_interrupt (tuščia)
(

di ();
IPEN = 0; / / Interrupt prioritetus įjungta
PEIE = 1;
GIEL = 1;
GIE = 1;
GIEH = 1;

TMR0IE = 0; / / TMR0 Perpildyta Pertraukties bitų
INT0IE = 1; / / INT0 Išorės Pertraukties bitų

RBIE = 1; / / RB Port Keisti Pertraukties bitų

TMR0IF = 0; / / TMR0 Perpildyta Interrupt Flag bitų

INT0IF = 0; / * INT0 Išorės Interrupt Flag bitų
1 = INT0 išorės nutraukti įvyko (turi būti pašalinta iš programinės įrangos)
0 = INT0 išorės nutraukti neįvyko * /

RBIF = 0; / * RB Port Keisti Interrupt Flag bitų
1 = Bent viena RB7: RB4 Pins pasikeitė valstybės (turi būti pašalinta iš programinės įrangos)
0 = nė vienas RB7: RB4 smeigtukai pasikeitė valstybinės * /RBPU = 0; / * PORTB Pull-up Įjungti bitų
1 = Visos PORTB pull-ups are disabled
0 = PORTB pull-ups yra įjungta pagal atskiras uostas skląsčiu vertybes * /

INTEDG0 = 1; / * Išorės Interrupt 0 kraštas Pasirinkite bitų
1 = Nutraukti dėl didėjančių kraštas
0 = Nutraukti dėl kurių kraštas * /

INTEDG1 = 1; / * Išorės Interrupt 1 kraštu Pasirinkite bitų
1 = Nutraukti dėl didėjančių kraštas
0 = Nutraukti dėl kurių kraštas * /

INTEDG2 = 1; / * Išorės Interrupt 2 Edge Pasirinkite bitų
1 = Nutraukti dėl didėjančių kraštas
0 = Nutraukti dėl kurių kraštas * /TMR0IP = 0; / * TMR0 Perpildyta Prioritetas Pertraukties bitų
1 = aukšto prioriteto
0 = Žemas prioritetas * /

RBIP = 0; / * RB Port Keisti Prioritetas Pertraukties bitų
1 = aukšto prioriteto
0 = Žemas prioritetas * /INT2IP = 1; / * INT2 Išorės Prioritetas Pertraukties bitų
1 = aukšto prioriteto
0 = Žemas prioritetas * /

INT1IP = 1; / * INT1 Išorės Prioritetas Pertraukties bitų
1 = aukšto prioriteto
0 = Žemas prioritetas * /INT2IE = 1; / * INT2 Išorės Pertraukties bitų
1 = Leidžia INT2 išorės pertraukti
0 = Išjungia INT2 išorės pertraukti * /

INT1IE = 1; / * INT1 Išorės Pertraukties bitų
1 = Leidžia INT1 išorės pertraukti
0 = Išjungia INT1 išorės pertraukti * /INT2IF = 0; / * INT2 Išorės Interrupt Flag bitų
1 = INT2 išorės nutraukti įvyko (turi būti pašalinta iš programinės įrangos)
0 = INT2 išorės nutraukti neįvyko * /

INT1IF = 0; / * INT1 Išorės Interrupt Flag bitų
1 = INT1 išorės nutraukti įvyko (turi būti pašalinta iš programinės įrangos)
0 = INT1 išorės nutraukti neįvyko * /ei () / / start pertraukia

)

 

Welcome to EDABoard.com

Sponsor

Back
Top