Gå til innhold

Atmega8515 internale clock problemer


Anbefalte innlegg

Jeg har en ATMEGA8515L som jeg har programmert til å fungere i en test boks jeg lager. programmet er laget og testet på STK500 kortet men med en gang jeg legger IC`en på kretskortet fungerer den ikke, jeg tror det er på grunn av mangel av klokke pulser.

 

Hvordan legger jeg inn kommando at den skal bruke den interne klokke frekvensen til å styre programmet med, trenger ikke så stor fart på kretsen til mitt arbeid.

 

 

Her er kopi av komplette koden.

 

 

Dette systemet funker som følger PortA er inngangen, inngangen til ICen er alltid høy når den blir lav reagerer ICen

PortB er utgangen, utgangen til ICen er alltid høy, når noen trykker en bryter på PortA så blir utganger på PortB lav etter hvilken knapp du trykker

 

 

.include "m8515def.inc" ; denne inkluderer Atmega8515L

.def temp =r16 ; no heter r16 temp

.def value0 =r17 ; no heter r17 value0

.def value1 =r18 ; osv

.def value2 =r19 ; osv

.def value3 =r20 ; osv

.def value4 =r21 ; osv

.def value5 =r22 ; osv

.def value6 =r23 ; osv

.def value7 =r24 ; osv

.def value8 =r25 ; osv

.cseg ; alt blir no lagret i .cseg i memory

 

boot:

ldi temp,0x00 ; setter r16 til 0

out DDRA,temp ; overfører fra temp registeret til DDRA

ldi temp,0xff ; setter r16 til 255

out PORTB,temp ; setter PortB til 255

out DDRB,temp ; setter PortB til 255

out PORTA,temp ; setter PortA til 255

 

ldi value0,0b11111111 ; Ikke brukt

ldi value1,0b11111110 ; Setter bryter i OFF posisjon

ldi value2,0b11111101 ; Setter bryter i No Load posisjon

ldi value3,0b11111011 ; Setter bryter i 200VA posisjon

ldi value4,0b11110111 ; Setter bryter i 400VA posisjon

ldi value5,0b11101111 ; Setter bryter i 600VA posisjon

ldi value6,0b11011111 ; Setter bryter i 400VA LAG posisjon

ldi value7,0b10111111 ; Setter bryter i 400VA LEAD posisjon

ldi value8,0b01111111 ; Setter bryter i SHORT posisjon

 

main:

 

sbis PINA,0x00 ; OFF

out PORTB,value1 ;

 

sbis PINA,0x01 ; No load

out PORTB,value2 ;

 

sbis PINA,0x02 ; 200VA

out PORTB,value3 ;

 

sbis PINA,0x03 ; 400VA

out PORTB,value4 ;

 

sbis PINA,0x04 ; 600VA

out PORTB,value5 ;

 

sbis PINA,0x05 ; 400VA LAG

out PORTB,value6 ;

 

sbis PINA,0x06 ; 400VA LEAD

out PORTB,value7 ;

 

sbis PINA,0x07 ; SHORT

out PORTB,value8 ;

 

rjmp main ; den hopper tilbake til main: igjen

Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...