C
c36041254
Guest
, what I want to do is that LED # 1 lights continiously as power is switched on and as interrupt occur (RB4 goes HIGH ) LED # 1 gets off and LED # 2 lights on and this remains so untill interrupt is not removed.
Yritän käyttää Kansainvälisen olympiakomitean (interr. koskeva muutos) on 628, tässä on koodi, joka toimii hyvin simmulator mutta ei laitteistoa,
mitä haluan tehdä on, että LED # 1 valot continiously kuin virta kytketään päälle ja keskeyttää esiintyy (RB4 kasvaa suureksi) LED # 1 saa pois päältä ja LED # 2 valot päälle ja tämä on niin kunnes keskeytys ei poisteta.
Mutta, mitä todella tapahtuu, on, että kesk.esiintyy (RB4 menee korkea) LED # 1 sammuu, mutta LED # 2 ei palaa, ei voi ymmärtää Whats väärin, auttakaa!
Koodi:
Luettelo p = 16f628
# include <p16f628.inc>
__CONFIG _MCLRE_ON & _CP_OFF & _WDT_OFF & _INTRC_OSC_NOCLKOUT
Errorlevel -302
cblock 0x20
Temp
temp_s
endc
;************************************************* *****************
Orgista 0x00
goto tärkeimmät
;*********************************** KESKEYTTÄÄ LOOP ************ *****
Orgista 0x04
Inter:
movwf Temp
swapf STATUS, w
clrf TILA
movwf temp_s
movlw b'10000000 "
movwf PORTA
btfsc PORTB, 0x04
goto muun
biologinen kertymistekijä BCF INTCON, 0x00
swapf temp_s, w
movwf STATUS
swapf Temp, w
retfieVastaava:
BSF INTCON, 0x07, Globel keskeyttää avulla (käytämme kesk.)BSF INTCON, 0x03, RB4-RB7 keskeyttää koskeva muutos on käytössä / Toisin sanoen nämä neulat myös toimia
, keskeyttää ja keskeyttää tapahtuu aina jotakin näistä pin muutokset valtion
, Eli korkeista mataliin tai pienestä suureen, emme voi asettaa sen olla eather yksi valtio muutos
BCF INTCON, 0x00, Vapaa RB4-RB7 keskeyttää lipun niin, että toinen kesk.
voi esiintyä.
;********************************** Perustettiin PORTS *********** ******
BSF STATUS, RP0, vaihtaa Pankille 1
movlw b'00010001 "
movwf TRISB; asettaa RB0 & RB4 lähtötietoina
movlw b'00000000 "
movwf Trisa; setPORT kaikki tuotannon
BCF OPTION_REG, 0x07, jotta heikko vetää UPS portin b / pull ups tarkoitetaan sisäisiä vastuksia
BSF OPTION_REG, 0x06, interuupt noususta ikä / tämä on defoult asetettu
BCF STATUS, RP0; takaisin pankkiin 0
movlw 0x07; puolestaan Comparators pois, niin suuri on yksinkertainen
, Korkea kuin 5 V (verrattuna tarjonta) niin alhaiseen
movwf CMCONLoop:movlw b'00000001 "
movwf PORTA, PIN-0 sataman HIGH
goto Loop
Asiantuntija
Yritän käyttää Kansainvälisen olympiakomitean (interr. koskeva muutos) on 628, tässä on koodi, joka toimii hyvin simmulator mutta ei laitteistoa,
mitä haluan tehdä on, että LED # 1 valot continiously kuin virta kytketään päälle ja keskeyttää esiintyy (RB4 kasvaa suureksi) LED # 1 saa pois päältä ja LED # 2 valot päälle ja tämä on niin kunnes keskeytys ei poisteta.
Mutta, mitä todella tapahtuu, on, että kesk.esiintyy (RB4 menee korkea) LED # 1 sammuu, mutta LED # 2 ei palaa, ei voi ymmärtää Whats väärin, auttakaa!
Koodi:
Luettelo p = 16f628
# include <p16f628.inc>
__CONFIG _MCLRE_ON & _CP_OFF & _WDT_OFF & _INTRC_OSC_NOCLKOUT
Errorlevel -302
cblock 0x20
Temp
temp_s
endc
;************************************************* *****************
Orgista 0x00
goto tärkeimmät
;*********************************** KESKEYTTÄÄ LOOP ************ *****
Orgista 0x04
Inter:
movwf Temp
swapf STATUS, w
clrf TILA
movwf temp_s
movlw b'10000000 "
movwf PORTA
btfsc PORTB, 0x04
goto muun
biologinen kertymistekijä BCF INTCON, 0x00
swapf temp_s, w
movwf STATUS
swapf Temp, w
retfieVastaava:
BSF INTCON, 0x07, Globel keskeyttää avulla (käytämme kesk.)BSF INTCON, 0x03, RB4-RB7 keskeyttää koskeva muutos on käytössä / Toisin sanoen nämä neulat myös toimia
, keskeyttää ja keskeyttää tapahtuu aina jotakin näistä pin muutokset valtion
, Eli korkeista mataliin tai pienestä suureen, emme voi asettaa sen olla eather yksi valtio muutos
BCF INTCON, 0x00, Vapaa RB4-RB7 keskeyttää lipun niin, että toinen kesk.
voi esiintyä.
;********************************** Perustettiin PORTS *********** ******
BSF STATUS, RP0, vaihtaa Pankille 1
movlw b'00010001 "
movwf TRISB; asettaa RB0 & RB4 lähtötietoina
movlw b'00000000 "
movwf Trisa; setPORT kaikki tuotannon
BCF OPTION_REG, 0x07, jotta heikko vetää UPS portin b / pull ups tarkoitetaan sisäisiä vastuksia
BSF OPTION_REG, 0x06, interuupt noususta ikä / tämä on defoult asetettu
BCF STATUS, RP0; takaisin pankkiin 0
movlw 0x07; puolestaan Comparators pois, niin suuri on yksinkertainen
, Korkea kuin 5 V (verrattuna tarjonta) niin alhaiseen
movwf CMCONLoop:movlw b'00000001 "
movwf PORTA, PIN-0 sataman HIGH
goto Loop
Asiantuntija