16F628 onderbreken op verandering helpen

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.

Ik probeer IOC gebruiken (interr. op verandering) in 628, hier is de code die goed werkt op simmulator maar niet op hardware,
wat ik wil doen is dat de # 1 LED-lampen als de continu stroom wordt ingeschakeld en als onderbreken optreden (RB4 gaat HIGH) LED # 1 krijgt af en LED-lampjes op # 2 en dit blijft zo totdat onderbreken wordt niet verwijderd.
Maar, is wat er feitelijk gebeurt is dat als interr.optreden (RB4 gaat hoog) LED # 1 dooft, maar, LED # 2 niet oplicht, niet kan begrijpen Whats wrong, please help!
Code:

list p = 16F628

# include <p16f628.inc>

__CONFIG _MCLRE_ON & _CP_OFF & _WDT_OFF & _INTRC_OSC_NOCLKOUT

ERRORLEVEL -302

cblock 0x20

temp

temp_s

endc

;************************************************* *****************

org 0x00

goto main

;*********************************** INTERRUPT LOOP ************ *****

org 0x04

onder:

movwf temp

swapf STATUS, w

clrf STATUS

movwf temp_s

MOVLW b'10000000 '

movwf PORTA

btfsc PORTB, 0x04

goto onder

BCF INTCON, 0x00

swapf temp_s, w

movwf STATUS

swapf temp, w

retfiemain:

bsf INTCON, 0x07; Globel onderbreken mogelijk te maken (wij gebruiken interr.)bsf INTCON, 0x03; RB4-RB7 onderbreken op verandering is ingeschakeld / met andere woorden deze pinnen zal ook werken als

, interrupts en onderbreken zal optreden elke keer dat een van deze veranderingen staat pin

, Dwz: hoog naar laag of laag naar hoog, we kunnen niet instellen om op eather een staat veranderen

BCF INTCON, 0x00; Clear RB4-RB7 onderbreken vlag zo, dat een andere interr.
optreden.

;********************************** SET UP DE HAVENS *********** ******

bsf STATUS, RP0; schakelaar aan Bank 1

MOVLW b'00010001 '

movwf TRISB; set RB0 & RB4 als input

MOVLW b'00000000 '

movwf TRISA; setPORT A alle output

BCF OPTION_REG, 0x07; staat zwak pull ups op poort b / pull ups verstaan interne weerstanden

bsf OPTION_REG, 0x06; interuupt over de stijgende leeftijd / dit is defoult ingesteld

BCF STATUS, RP0; terug naar bank 0

movlw 0x07; comparatoren uitschakelen, zo hoog zal eenvoudig zijn

; HOGE dan 5 V (ten opzichte van levering), zodat met de lage

movwf CMCONLoop:MOVLW b'00000001 '

movwf PORTA; set pin 0 van de haven een HOGE

goto Loop

END
 
Hoi,
Controleer de spanning op pin D7 van de haven A. Controleer voor een slechte LED, verkeerde bedrading enz.

Groeten,
Laktronics

 
De hetzelfde circuit werkt voor RB0 externe interr.zo is, is alles aan de pinnen OK
Zijn andere suggestie?Alle LED's zijn OKToegevoegd na 33 minuten:Sorry!lastig te vallen mijn brood boord is beschadigd ckt de werken op de andere.

 

Welcome to EDABoard.com

Sponsor

Back
Top