NotesWhat is notes.io?

Notes brand slogan

Notes - notes.io

//*************SAAT****************************************************************
#include <main.h>
void goster(int8 saat, int8 dakika, int1 k)
{ int8 sbirler , sonlar , dbirler , donlar;
static int8 sayac;
sayac++;
sbirler=saat%10;
sonlar=saat/10;
dbirler=dakika%10;
donlar=dakika/10;
output_b(0b00001000);
output_d(dbirler);
delay_ms(5);
output_b(0b00000100);
output_d(donlar);
delay_ms(5);
output_b(0b00000010);
if(k==1 && sayac<=25) sbirler=sbirler | 0b00010000;
if(sayac>=50) sayac=0;
output_d(sbirler);
delay_ms(5);
output_b(0b00000001);
output_d(sonlar);
delay_ms(5);

}
void main()
{ int8 s , d;
int16 i;

while(TRUE)
{
for(s=0;s<=23;s++)
for(d=0;d<=59;d++)
for(i=1;i<=3000;i++)//birdakika 60000 msdir 60000/20=3000(budögü 20 ms sürer)
goster (s,d,1);
}

}
//************AYARLANABİLİR SAAT***************************************************
#include <main.h>
signed int8 s,d; // -1 kullandığımız için signed ile 8 bitlik negetif tanımladık
int16 i;
int8 j;

int8 tusalgila()
{
int8 key=0;
//*********************************************
output_d(0b11110111);//RD3=0 oldu 1. satır seçildi
delay_ms(1);
if(input(PIN_D4)==0)
{
delay_ms(20);//tus sekmesi gidermek için
if(input(PIN_D4)==0) key=1;
}
if(input(PIN_D5)==0)
{
delay_ms(20);//tus sekmesi gidermek için
if(input(PIN_D5)==0) key=2;
}
if(input(PIN_D6)==0)
{
delay_ms(20);//tus sekmesi gidermek için
if(input(PIN_D6)==0) key=3;
}
if(input(PIN_D7)==0)
{
delay_ms(20);//tus sekmesi gidermek için
if(input(PIN_D7)==0) key=4;
}
//*********************************************
output_d(0b11111011);//RD2=0 oldu 2. satır seçildi
delay_ms(1);
if(input(PIN_D4)==0)
{
delay_ms(20);//tus sekmesi gidermek için
if(input(PIN_D4)==0) key=5;
}
if(input(PIN_D5)==0)
{
delay_ms(20);//tus sekmesi gidermek için
if(input(PIN_D5)==0) key=6;
}
if(input(PIN_D6)==0)
{
delay_ms(20);//tus sekmesi gidermek için
if(input(PIN_D6)==0) key=7;
}
if(input(PIN_D7)==0)
{
delay_ms(20);//tus sekmesi gidermek için
if(input(PIN_D7)==0) key=8;
}
//*********************************************
output_d(0b11111101);//RD1=0 oldu 3. satır seçildi
delay_ms(1);
if(input(PIN_D4)==0)
{
delay_ms(20);//tus sekmesi gidermek için
if(input(PIN_D4)==0) key=9;
}
if(input(PIN_D5)==0)
{
delay_ms(20);//tus sekmesi gidermek için
if(input(PIN_D5)==0) key=10;
}
if(input(PIN_D6)==0)
{
delay_ms(20);//tus sekmesi gidermek için
if(input(PIN_D6)==0) key=11;
}
if(input(PIN_D7)==0)
{
delay_ms(20);//tus sekmesi gidermek için
if(input(PIN_D7)==0) key=12;
}
//*********************************************
output_d(0b11111110);//RD0=0 oldu 4. satır seçildi
delay_ms(1);
if(input(PIN_D4)==0)
{
delay_ms(20);//tus sekmesi gidermek için
if(input(PIN_D4)==0) key=13;
}
if(input(PIN_D5)==0)
{
delay_ms(20);//tus sekmesi gidermek için
if(input(PIN_D5)==0) key=14;
}
if(input(PIN_D6)==0)
{
delay_ms(20);//tus sekmesi gidermek için
if(input(PIN_D6)==0) key=15;
}
if(input(PIN_D7)==0)
{
delay_ms(20);//tus sekmesi gidermek için
if(input(PIN_D7)==0) key=16;
}
return key;
}


void goster(int8 saat, int8 dakika, int1 k)
{ int8 sbirler , sonlar , dbirler , donlar;
static int8 sayac;
sayac++;
sbirler=saat%10;
sonlar=saat/10;
dbirler=dakika%10;
donlar=dakika/10;
output_b(0b00001000);
output_d(dbirler);
delay_ms(5);
output_b(0b00000100);
output_d(donlar);
delay_ms(5);
output_b(0b00000010);
if(k==1 && sayac<=25) sbirler=sbirler | 0b00010000;
if(sayac>=50) sayac=0;
output_d(sbirler);
delay_ms(5);
output_b(0b00000001);
output_d(sonlar);
delay_ms(5);
output_b(0);//displayler pasif halde

}

void main()
{

while(TRUE)
{
for(s=0;s<=23;s++)
for(d=0;d<=59;d++)
for(i=1;i<=300;i++)
{ switch(tusalgila())
{ case 2: //saati arttır
s++;
if(s>=24) s=0; //saat büyük eşit 24 olduğunda saat sıfıra gelsin
break;
case 6: //saati azalt
s--;
if(s<=-1) s=23; //eğer saat küçük eşit -1 ise saat sıfıra gelsin

break;
case 3: //dakika arttır
d++;
if(d>=60) d=0; //eğer dakika büyük eşit 59 ise sıfır olsun

break;
case 7: //dakika azalt
d--;
if(d<=-1) d=59; //eğer dakika küçük eşit -1 ise 59 olsun yani 59 a gelsin
break;

}
for (j=1;j<=10; j++)//göster 10 döngü oldu

goster (s,d,1);//20 ms alır
}
}


}

//********************JOYSTİKKONTROL********************
#include <joistik.h>
#define LCD_ENABLE_PIN PIN_A4
#define LCD_RS_PIN PIN_A5
#define LCD_RW_PIN PIN_C6
#define LCD_DATA4 PIN_B4
#define LCD_DATA5 PIN_B5
#define LCD_DATA6 PIN_B6
#define LCD_DATA7 PIN_B7

#include <lcd.c>
int8 i;
int16 data;
void main()
{
setup_adc_ports(ALL_ANALOG); //bütün analog girişler aktif oldu
setup_adc(ADC_CLOCK_DIV_2); //fadc=fosc/2 olmuş;bunu ayarlar
set_adc_channel(5); //AN5 KANALI ETKİN (JOİSTİĞİN DİKEY EKSENİ)
//setup_adc_ports(NO_ANALOGS); //RA5 dijital i/o olması için
//data=read_adc(); //analog dijital işlemini başlatıp sonlandıyor, aktarıyor

lcd_init();

while(TRUE)
{
data=read_adc(); //adc yi oku
if(data==512)
{
i=0;//512 oldugunda sıfır yazacak
setup_adc_ports(NO_ANALOGS);
printf(lcd_putc,"f ORTA=%u",i); //i yi ekrana yaz
delay_ms(50);
}
if(data>512)
{
i=(data%512)/2;
setup_adc_ports(NO_ANALOGS);
printf(lcd_putc,"f ILERI=%u",i); //i yi ekrana yaz
delay_ms(50);
}
if(data<512)
{
i=(512-data)/2-1;
setup_adc_ports(NO_ANALOGS);
printf(lcd_putc,"f GERI=%u",i); //i yi ekrana yaz
delay_ms(50);
}

setup_adc_ports(NO_ANALOGS); //dijital pine çevirdik
printf(lcd_putc,"fKONUM=%Lu",data);//lcd ye yazdırma Lu(long unsigned) ayrıca f herseferinde
ekranı siler
delay_ms(50);
setup_adc_ports(ALL_ANALOG);


}

}
//**********************LCDSAGASOLA***************************
#include <joistik.h>
#define LCD_ENABLE_PIN PIN_A4
#define LCD_RS_PIN PIN_A5
#define LCD_RW_PIN PIN_C6
#define LCD_DATA4 PIN_B4
#define LCD_DATA5 PIN_B5
#define LCD_DATA6 PIN_B6
#define LCD_DATA7 PIN_B7

#include <lcd.c>
int8 i;
void main()
{
lcd_init();

while(TRUE)
{
for(i=1; i<=7; i++)
{
printf(lcd_putc,"fELEKTRIKn");
lcd_gotoxy(i,2);
printf(lcd_putc,"ELEKTRONIK");
delay_ms(500);
}
for(i=6; i>=1; i--)
{
printf(lcd_putc,"fELEKTRIKn");
lcd_gotoxy(i,2);
printf(lcd_putc,"ELEKTRONIK");
delay_ms(500);
}
}

}

//*****************************DCMOTOR*************************
#include <dcmotor.h>
#define LCD_ENABLE_PIN PIN_A4
#define LCD_RS_PIN PIN_A5
#define LCD_RW_PIN PIN_C6
#define LCD_DATA4 PIN_B4
#define LCD_DATA5 PIN_B5
#define LCD_DATA6 PIN_B6
#define LCD_DATA7 PIN_B7

#include <lcd.c>
int8 i;
int16 data;
void main()
{
//void mainden while true ya kadar setup kısmıdır bir kes çalışır
setup_adc_ports(ALL_ANALOG); //bütün analog girişler aktif oldu
setup_adc(ADC_CLOCK_DIV_2); //fadc=fosc/2 olmuş; adc nin çalışma frekansı ayarlandı
set_adc_channel(5); //AN5 KANALI ETKİN (JOİSTİĞİN DİKEY EKSENİ)
//yani sensör hangi pine bağli ise o yazılır 5 in yerine
setup_ccp1(ccp_pwm);
setup_timer_2(T2_DIV_BY_4,255,1);
set_pwm1_duty(0);
//setup_adc_ports(NO_ANALOGS);//RA5 dijital i/o olması için
//data=read_adc();//analog dijital işlemini başlatıp sonlandıyor, aktarıyor

lcd_init(); //lcd init ile başlangıç

while(TRUE)
{
data=read_adc();//adc yi oku
if(data==512)
{
i=0;//512 oldugunda sıfır yazacak
output_low(PIN_C0);
set_pwm1_duty(i);
setup_adc_ports(NO_ANALOGS);
printf(lcd_putc,"f ORTA=%u",i);//i yi ekrana yaz
delay_ms(50);
}
if(data>512)
{
i=(data%512)/2;
output_low(PIN_C0); //İLERİ YÖN AKTİF
set_pwm1_duty(i);
setup_adc_ports(NO_ANALOGS);
printf(lcd_putc,"f ILERI=%u",i);//i yi ekrana yaz
delay_ms(50);
}
if(data<512)
{
i=(512-data)/2-1;
output_high(PIN_C0); //geri yön aktif
set_pwm1_duty(i);
setup_adc_ports(NO_ANALOGS);
printf(lcd_putc,"f GERI=%u",i);//i yi ekrana yaz
delay_ms(50);
}

setup_adc_ports(NO_ANALOGS);//dijital pine çevirdik
printf(lcd_putc,"fKONUM=%Lu",data);//lcd ye yazdırma Lu(long unsigned) ayrıca f herseferinde ekranı siler
delay_ms(50);
setup_adc_ports(ALL_ANALOG);


}

}
//***************STEPMOTOR*************************************
//A0 VE A1 PİNLERİ AYNI BOBİNE BAĞLI A0 1 VE A1 0 İKEN AKIM A0 DAN A1 E AKAR
//A2 VE A3 AYNI BOBİNE BAĞLI. DEVRE KARTINDA L293D ENTEGRESİNE BAKIN
//AŞĞIDAKİ DEĞERLERİ KULLANARAK STEP MOTORA YÖN VERİRİZ
// A0 A1 A2 A3
// 1 0 1 0 45 DERECE YUKARI SAĞA
// 0 1 1 0 45 DERECE AŞAĞI SAĞA
// 0 1 0 1 45 DERECE AŞAĞI SOLA
// 1 0 0 1 45 DERECE YUKARI SOLA
//delay_ms(x) hesaplamak;ÖRNEĞİ BİR ADIMDA 1.8 DERECELİK DÖNEN STEP MOTOR
//İÇİN 360 DERECE/1.8 DERECE=200 ADIMDA BİR TUR TAMAMLAR
//DİYELİMKİ MOTORUMUZUN MAX HIZI 100 dev/dk OLSUN
//delay_ms(x) 4 defakullanılacağından7
// 4X*100*200=60000mSn(1dk)
// X=0.75 mSn OLUR(BU SONUÇ BU ÖRNEK İÇİN KULLANILMAYACAK)
#include <stepmotor.h>
#define LCD_ENABLE_PIN PIN_A4
#define LCD_RS_PIN PIN_A5
#define LCD_RW_PIN PIN_C6
#define LCD_DATA4 PIN_B4
#define LCD_DATA5 PIN_B5
#define LCD_DATA6 PIN_B6
#define LCD_DATA7 PIN_B7

#include <lcd.c>

void saga(int8 a) // a değişkeni kaç adım sağa demek
{
int8 i;
for(i=1;i<=a;i++ )// a ya vereceğimiz değere göre döngü tekrar eder
{
output_a(0b00001010);// 1 0 1 0 45 DERECE YUKARI SAĞA
delay_ms(10);
output_a(0b00000110);// 0 1 1 0 45 DERECE AŞAĞI SAĞA
delay_ms(10);
output_a(0b00000101);// 0 1 0 1 45 DERECE AŞAĞI SOLA
delay_ms(10);
output_a(0b00001001);// 1 0 0 1 45 DERECE YUKARI SOLA
delay_ms(10); //görüldüğü üzere buraya kadar delay 4 defa kullanıldı
}
output_a(0);//sağa dönüş tmm ama bobinde gerilim hala var bu gerilimi sıfırladık

}
void sola(int8 a) // a değişkeni kaç adım sağa demek
{
int8 i;
for(i=1;i<=a;i++ )// a ya vereceğimiz değere göre döngü tekrar eder
{
output_a(0b00001001);// 1 0 0 1 45 DERECE YUKARI SOLA
delay_ms(10);
output_a(0b00000101);// 0 1 0 1 45 DERECE AŞAĞI SOLA
delay_ms(10);
output_a(0b00000110);// 0 1 1 0 45 DERECE AŞAĞI SAĞA
delay_ms(10);
output_a(0b00001010);// 1 0 1 0 45 DERECE YUKARI SAĞA
delay_ms(10); //görüldüğü üzere buraya kadar delay 4 defa kullanıldı
}
output_a(0);//sağa dönüş tmm ama bobinde gerilim hala var bu gerilimi sıfırladık

}


void main()
{ int8 i;//not her void in içinde ki "i" diğeri bir önceki ile karışmaz
setup_adc_ports(NO_ANALOGS);
lcd_init();//lcd_init ile lcd çalışmaya başladı

while(TRUE)
{
// 100 KEZ SAGA SONRA 100 KEZ SOLA DÖNDÜRMEK İÇİN AŞAĞIDAKİ DÖNGÜ YAPILMALI
for(i=1;i<=100;i++)
{
saga(1);//saga bir kez dön
printf(lcd_putc,"fSTEP MOTOR n SAGA%u.ADIM ",i);// "f" ekranı siler
}
for(i=1;i<=100;i++)
{
sola(1);//saga bir kez dön
printf(lcd_putc,"fSTEP MOTOR n SOLA%u.ADIM ",i);
}
}
}
//*****************SAATTAKVİM***********************************
#include <dijitalclock.h>
#include <DS1307.c>
#define LCD_ENABLE_PIN PIN_A4
#define LCD_RS_PIN PIN_A5
#define LCD_RW_PIN PIN_C6
#define LCD_DATA4 PIN_B4
#define LCD_DATA5 PIN_B5
#define LCD_DATA6 PIN_B6
#define LCD_DATA7 PIN_B7
#include <lcd.c>
void main()
{
int8 day,mth,year,dow,hour,min,sec;
lcd_init();
ds1307_init();//ds1307 entegresini çaliştır
ds1307_set_date_time(10,05,17,3,11,30,30);//day,mth,year,dow,hour,min,sec
while(TRUE)
{
ds1307_get_date(day,mth,year,dow);
ds1307_get_time(hour,min,sec);
printf(lcd_putc,"f %02u/%02u/20%02un%02u:%02u:%02u",day,mth,year,hour,min,sec);
// u nun önüdeki 02 ler lcdi de iki basamaklı göstermek için
delay_ms(500);
}
}
     
 
what is notes.io
 

Notes.io is a web-based application for taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000 notes created and continuing...

With notes.io;

  • * You can take a note from anywhere and any device with internet connection.
  • * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
  • * You can quickly share your contents without website, blog and e-mail.
  • * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
  • * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.

Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.

Easy: Notes.io doesn’t require installation. Just write and share note!

Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )

Free: Notes.io works for 12 years and has been free since the day it was started.


You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;


Email: [email protected]

Twitter: http://twitter.com/notesio

Instagram: http://instagram.com/notes.io

Facebook: http://facebook.com/notesio



Regards;
Notes.io Team

     
 
Shortened Note Link
 
 
Looding Image
 
     
 
Long File
 
 

For written notes was greater than 18KB Unable to shorten.

To be smaller than 18KB, please organize your notes, or sign in.