semih_s
Hobici
- Katılım
- 16 Aralık 2020
- Mesajlar
- 1,922
süre:
unsigned char _7seg[] =
{ //nGFEDCBA
0b11000000,//sıfır/0
0b11111001,//bir/1
0b10100100,//iki/2
0b10110000,//üç/3
0b10011001,//dört/4
//nGFEDCBA
0b10010010,//beş/5
0b10000010,//altı/6
0b11111000,//yedi7
0b10000000,//sekiz8
0b10010000,//dokuz9
0b00000000,//lamba TEST10
0b11111111,//lamba OF11
};
int a = 0;
void setup() {
Serial.begin(115200);
DDRD = B11111111; //büTÜN D PORTI ÇIKIŞ
DDRB = DDRB | B00001100;
a = 25;
pinMode(12,OUTPUT);
TCCR1A=0;
TCCR1B=0;
TCCR1B|=0b1;//prescaler1 ile 16 bit timer mcu cycle sayacı için
}
void loop() {
//digitalWrite(12,HIGH);//süre test
unsigned int t0;
TCNT1=0;
int onlar = a / 10;
int birler = a % 10;
PORTB = 0B00000100;
PORTD = _7seg[onlar];
//delay(4);//tarama ayar
PORTB = 0B00001000;
PORTD = _7seg[birler];
t0=TCNT1;
Serial.println(t0); // seriala timer1'i yazdır. mcunun tik sayısını verir bazen araya interruptlar karışıp değişken sonuç çıkabilir
delay(4);//tarama ayar
//digitalWrite(12,LOW);//süre test
}
edit: setupa "Serial.begin(115200);" eklendi