en nixieklocka alltså...
jag har inte kommit så jätte långt i utväcklingen av den just nu men det går sakta men säkert frammåt.
nåväl, lite har man allt hunnit med, jag har funderat mycket på hur den ska se ut, och har kommit fram till att den ska se ut i något i den här stilen,

Rören kommer troligen att bli in-2 eller in-4...
chassit ska byggas i ek tror jag... så det blir inte rikgit lika ljust som på bilden...
men, innan jag börjar att beställa massor med saker osv så vill jag bli färdig med koden. detta för att jag inte vill spendera massor med pengar utan att det blir något.
Hade tänkt att bygga den runt en ATMega32:a med en extärn klock-kristall och Timer2 för klockan...
har filat på koden nu ett tag men, jag är inte sådär jättebra på att programera så det går väldigt sakta frammåt, nåväl så här ser koden ut just nu.
Kod: Markera allt
#include <avr/io.h>
#include <avr/signal.h>
#include <avr/interrupt.h>
void strobe(void);
void strobe(void)
{
DDRC = _BV(PA0);
PORTC |= _BV(PA0);
_delay_loop_1(10);
PORTC &= ~_BV(PA0);
}
void clock(void);
void clock(void)
{
DDRC = _BV(PA2);
PORTC |= _BV(PA2);
_delay_loop_1(10);
PORTC &= ~_BV(PA2);
}
void data_ok(void);
void data_ok(void)
{
DDRC = _BV(PA1);
PORTC |= _BV(PA1);
_delay_loop_1(10);
PORTC &= ~_BV(PA1);
}
void data_nej(void);
void data_nej(void)
{
_delay_loop_1(10);
}
void enable(void);
void enable(void)
{
DDRC = _BV(PA3);
PORTC |= _BV(PA3);
_delay_loop_1(10);
PORTC &= ~_BV(PA3);
}
SREG = 0x80; //Global interrupt enable
TCCR0 = 0x05; //Aktivera "Normal mode"
ASSR = 0x08 ; //Asynchronous Timer/Counter2 Enable
TIMSK = 0x80; //Timer/Counter2 Overflow Interrupt Enable
int main(){
uint8_t Htio = 0;
uint8_t Hen = 0;
uint8_t Mtio = 0;
uint8_t Men = 0;
uint8_t Stio = 0;
uint8_t Sen = 0;
uint8_t data;
uint8_t clock;
uint8_t cl;
uint8_t strobe;
uint8_t f=9;
uint8_t a;
uint8_t b;
uint8_t c;
uint8_t d;
uint8_t e;
SIGNAL (SIG_OVERFLOW2)//interuppt triggas på owerflow
{
strobe(void);
clock(void);
}
asm volatile("sei"); //enable interrupt
while(1)
{ enable(void);
if(cl==1){Sen++}
if(Sen>10)
{ Sen=1;
Stio++;
}
if(Stio==6)
{
Stio=0;
Men++;
}
if(Men>10)
{
Men=0;
Mtio++;
}
if(Mtio==6)
{
Mtio=0;
Hen++;
}
if(Hen==10)
{
Hen=0;
Htio++
}
if(Htio==2){Htio=0;}
}
if(f==9)
{
for(a=0;a>9;n++)
{
if(Htio==n)
{
data();
}
else
{
data_nej();
clock();
}
}
}
if(a==9)
{
for(b=0;b>9;n++)
{
f=0;
if(Hen==n)
{data_ok();}
else
{
data_nej();
clock();
}
}
}
if(b==9)
{
for(c=0;n>9;c++)
{
if(Mtio==n)
{data_ok();}
else
{
data_nej();
clock();
}
}
}
if(c==0)
{
for(d=0;n>9;d++)
{
if(Men==n){data_ok();}
else
{
data_nej();
clock();
}
}
}
if(d==9)
{
for(e=0;n>9;e++)
{
if(Stio==n){data_ok();}
else
{
data_nej();
clock();
}
}
}
if(e==9)
{
for(f=0;n>9;f++)
{
if(Sen==n){data_ok();}
else
{
data_nej();
clock();
}
}
}
någon som vet hur jag löser detta och eventuellt andra fel i koden...
Ha de trevligt:) skulle vara jättesnällt ifall någon kunde ta sig en titt på koden...
Edit: lite tillagt. mest i koden...