Timer. Suhap SAHIN {\} /\

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Timer. Suhap SAHIN {\} /\"

Transkript

1 Timer Suhap SAHIN 0 {\ /\

2 clock

3 clock

4 Phase-Lock-Loop (Faz-Kilit-Döngü) 400 MHz Faz-Kilit-Döngü ARM mikrodenetleyiciler Faz-Kilit-Döngüleri (PLL'ler) ile donatılmıstır. Tiva kartı, dahili bir 400 MHz PLL ile birlikte gelmektedir. Tiva nın PLL i, giris saati kaynagını çarpmak yerine, istenen saat hızlarını elde etmek için Sistem Bölümü tarafından bölünür. Dahili PLL ile MHz'den 80 MHz'e kadar saat frekansları üretebiliriz, Tiva için en yüksek çalısma saat hızı 80 MHz'dir.

5 clock kaynakları Precision Internal Oscillator (PIOSC) Main Oscillator (MOSC) Low-Frequency Internal Oscillator (LFIOSC) Hibernation Module Clock Source

6 clock Ayarlanması Saklayıcıların etkin oldugu islemler: Uyku ve modunda saat kaynak seçimi PLL veya diger kaynaklardan türetilmis sistem saati seçimi Osilatörlerin ve PLL'nin etkinlestirilmesi / devre dısı bırakılması Saat bölme Kristal giris seçimi

7 SYSDIV ve SYSDIV2 alanları RCC de bulunan SYSDIV ve SYSDIV2 alanları Sistem saati ; PLL çıkısı??? osilatör kaynagı BYPASS biti = 0??? 1

8 Sistem Saati Frekansları SysCtlClockSet() S DI Div Fre c (B AS =0) Fre c (B AS =1) Ste r Wa 0x0 /1 re v Clo s ef en /1 S C _S DI _1 0x1 /2 re v Clo s ef en /2 S C _S DI _ x4 /5 40 M z x9 /10 20 M z xF / x3F / M z 12.5 M z (de... Clo s ef... en /5... Clo s ef... en /10... t) Clo s ef ef S C _S DI _10... en /16... Clo s S C _S DI _5 S C _S DI _16... en /164 S C _S DI _64

9 Sistem Saati Frekansları SysCtlClockSet() S DI 2 0x00 S DI 2L re v Div Fre c (B AS =0) /2 re v re v Ste r Wa 0x01 0 / x02 0 /5 80 M z S C _S DI _2_ /10 40 M z S C _S DI _ / M z S C _S DI _ x x3F 1

10 islemci hızının ayarlanması

11 islemci hızının ayarlanması

12 islemci hızının ayarlanması

13 Port F Kesmesi Cortex M4 8 32k RAM GPIO Port B GPIO Port A 8 Eight UARTs Four I2Cs Four SSIs CAN 2.0 GPIO Port D GPIO Port C 4 Twelve Timers Six 64-bit wide USB 2.0 JTAG 6 GPIO Port F GPIO Port E Two Analog Comparators ADC 2 channels 12 inputs 12 bits Two PWM Modules System Bus 8 5

14 islemci hızının ayarlanması #include <stdint.h> #include <stdbool.h> #include "inc/tm4c123gh6pm.h" // stellaris icin: #include "inc/lm4f120h5qr.h" #include "inc/hw_types.h" // SysCtl ile baslayan fonksiyonlarda gerekli #include "driverlib/sysctl.h" void init_port_f() { volatile unsigned long delay; SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOF; delay = SYSCTL_RCGC2_R; GPIO_PORTF_DIR_R = 0b01110; GPIO_PORTF_AFSEL_R &= ~0b01110; GPIO_PORTF_DEN_R = 0b01110;

15 islemci hızının ayarlanması #include <stdint.h> #include <stdbool.h> #include "inc/tm4c123gh6pm.h" // stellaris icin: #include "inc/lm4f120h5qr.h" #include "inc/hw_types.h" // SysCtl ile baslayan fonksiyonlarda gerekli #include "driverlib/sysctl.h" void init_port_f() { volatile unsigned long delay; SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOF; delay = SYSCTL_RCGC2_R; GPIO_PORTF_DIR_R = 0b01110; GPIO_PORTF_AFSEL_R &= ~0b01110; GPIO_PORTF_DEN_R = 0b01110;

16 islemci hızının ayarlanması #include <stdint.h> #include <stdbool.h> #include "inc/tm4c123gh6pm.h" // stellaris icin: #include "inc/lm4f120h5qr.h" #include "inc/hw_types.h" // SysCtl ile baslayan fonksiyonlarda gerekli #include "driverlib/sysctl.h" void init_port_f() { volatile unsigned long delay; SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOF; delay = SYSCTL_RCGC2_R; GPIO_PORTF_DIR_R = 0b01110; GPIO_PORTF_AFSEL_R &= ~0b01110; GPIO_PORTF_DEN_R = 0b01110;

17 islemci hızının ayarlanması int main() { volatile unsigned long delay; // USE_PLL -> 200 / SYSDIV_X // USE_OSC -> 16 / SYSDIV_X // 200 / 2.5 = 80 Mhz (clock source crystal oscilator) SysCtlClockSet(SYSCTL_SYSDIV_2_5 SYSCTL_USE_PLL SYSCTL_OSC_MAIN SYSCTL_XTAL_16MHZ); volatile unsigned long clock_period_1 = SysCtlClockGet(); init_port_f(); while (1) { GPIO_PORTF_DATA_R ^= 0b00100; for (delay = 0 ; delay < ; delay++) /* */;

18 islemci hızının ayarlanması int main() { volatile unsigned long delay; // USE_PLL -> 200 / SYSDIV_X // USE_OSC -> 16 / SYSDIV_X // 200 / 2.5 = 80 Mhz (clock source crystal oscilator) SysCtlClockSet(SYSCTL_SYSDIV_2_5 SYSCTL_USE_PLL SYSCTL_OSC_MAIN SYSCTL_XTAL_16MHZ); volatile unsigned long clock_period_1 = SysCtlClockGet(); init_port_f(); while (1) { GPIO_PORTF_DATA_R ^= 0b00100; for (delay = 0 ; delay < ; delay++) /* */;

19 islemci hızının ayarlanması int main() { volatile unsigned long delay; // USE_PLL -> 200 / SYSDIV_X // USE_OSC -> 16 / SYSDIV_X // 200 / 2.5 = 80 Mhz (clock source crystal oscilator) SysCtlClockSet(SYSCTL_SYSDIV_2_5 SYSCTL_USE_PLL SYSCTL_OSC_MAIN SYSCTL_XTAL_16MHZ); volatile unsigned long clock_period_1 = SysCtlClockGet(); init_port_f(); while (1) { GPIO_PORTF_DATA_R ^= 0b00100; for (delay = 0 ; delay < ; delay++) /* */;

20 islemci hızının ayarlanması int main() { volatile unsigned long delay; // USE_PLL -> 200 / SYSDIV_X // USE_OSC -> 16 / SYSDIV_X // 200 / 2.5 = 80 Mhz (clock source crystal oscilator) SysCtlClockSet(SYSCTL_SYSDIV_2_5 SYSCTL_USE_PLL SYSCTL_OSC_MAIN SYSCTL_XTAL_16MHZ); volatile unsigned long clock_period_1 = SysCtlClockGet(); init_port_f(); while (1) { GPIO_PORTF_DATA_R ^= 0b00100; for (delay = 0 ; delay < ; delay++) /* */;

21 islemci hızının ayarlanması int main() { volatile unsigned long delay; // USE_PLL -> 200 / SYSDIV_X // USE_OSC -> 16 / SYSDIV_X // 200 / 2.5 = 80 Mhz (clock source crystal oscilator) SysCtlClockSet(SYSCTL_SYSDIV_2_5 SYSCTL_USE_PLL SYSCTL_OSC_MAIN SYSCTL_XTAL_16MHZ); volatile unsigned long clock_period_1 = SysCtlClockGet(); init_port_f(); while (1) { GPIO_PORTF_DATA_R ^= 0b00100; for (delay = 0 ; delay < ; delay++) /* */;

22 islemci hızının ayarlanması int main() { volatile unsigned long delay; // USE_PLL -> 200 / SYSDIV_X // USE_OSC -> 16 / SYSDIV_X // 200 / 2.5 = 80 Mhz (clock source crystal oscilator) SysCtlClockSet(SYSCTL_SYSDIV_2_5 SYSCTL_USE_PLL SYSCTL_OSC_MAIN SYSCTL_XTAL_16MHZ); volatile unsigned long clock_period_1 = SysCtlClockGet(); init_port_f(); while (1) { GPIO_PORTF_DATA_R ^= 0b00100; for (delay = 0 ; delay < ; delay++) /* */;

23 islemci hızının ayarlanması int main() { volatile unsigned long delay; // USE_PLL -> 200 / SYSDIV_X // USE_OSC -> 16 / SYSDIV_X // 200 / 5 = 40 Mhz (clock source crystal oscilator) SysCtlClockSet(SYSCTL_SYSDIV_5 SYSCTL_USE_PLL SYSCTL_OSC_MAIN SYSCTL_XTAL_16MHZ); volatile unsigned long clock_period_2 = SysCtlClockGet(); init_port_f(); while (1) { GPIO_PORTF_DATA_R ^= 0b00100; for (delay = 0 ; delay < ; delay++) /* */;

24 islemci hızının ayarlanması int main() { volatile unsigned long delay; // USE_PLL -> 200 / SYSDIV_X // USE_OSC -> 16 / SYSDIV_X // 200 / 10 = 20 Mhz (clock source crystal oscilator) SysCtlClockSet(SYSCTL_SYSDIV_10 SYSCTL_USE_PLL SYSCTL_OSC_MAIN SYSCTL_XTAL_16MHZ); volatile unsigned long clock_period_3 = SysCtlClockGet(); init_port_f(); while (1) { GPIO_PORTF_DATA_R ^= 0b00100; for (delay = 0 ; delay < ; delay++) /* */;

25 islemci hızının ayarlanması int main() { volatile unsigned long delay; // USE_PLL -> 200 / SYSDIV_X // USE_OSC -> 16 / SYSDIV_X // 16 / 1 = 16 Mhz (clock source crystal oscilator) SysCtlClockSet(SYSCTL_SYSDIV_1 SYSCTL_USE_OSC SYSCTL_OSC_MAIN SYSCTL_XTAL_16MHZ); volatile unsigned long clock_period_4 = SysCtlClockGet(); init_port_f(); while (1) { GPIO_PORTF_DATA_R ^= 0b00100; for (delay = 0 ; delay < ; delay++) /* */;

26 islemci hızının ayarlanması int main() { volatile unsigned long delay; // USE_PLL -> 200 / SYSDIV_X // USE_OSC -> 16 / SYSDIV_X // 16 / 2 = 8 Mhz (clock source crystal oscilator) SysCtlClockSet(SYSCTL_SYSDIV_2 SYSCTL_USE_OSC SYSCTL_OSC_MAIN SYSCTL_XTAL_16MHZ); volatile unsigned long clock_period_5 = SysCtlClockGet(); init_port_f(); while (1) { GPIO_PORTF_DATA_R ^= 0b00100; for (delay = 0 ; delay < ; delay++) /* */;

27 Port F Kesmesi

28 Port F Kesmesi Cortex M4 8 32k RAM GPIO Port B GPIO Port A 8 Eight UARTs Four I2Cs Four SSIs CAN 2.0 GPIO Port D GPIO Port C 4 Twelve Timers Six 64-bit wide USB 2.0 JTAG 6 GPIO Port F GPIO Port E Two Analog Comparators ADC 2 channels 12 inputs 12 bits Two PWM Modules System Bus 8 5

29 Port F Kesmesi

30 Tiva & Stellaris Port Baglantıları

31 Nested Vector Interrup Controller (NVIC) extern void PortF_interrupt_handler();

32 Interrupt Service Rutine (ISR) // The vector table alanı içindeki IntDefaultHandler, // GPIO Port F satırı aşağıdaki gibi değiştirilmeli PortF_interrupt_handler, // GPIO Port F

33 Kütüphane tanımlamaları #include <stdint.h> #include <stdbool.h> #include "inc/tm4c123gh6pm.h" // stellaris icin: #include "inc/lm4f120h5qr.h"

34 Kesme Fonksiyonları static inline void disable_interrupts() { //Kesmeleri pasif yap asm("cpsid I"); static inline void enable_interrupts() { // Kesmeleri aktifleştir asm("cpsie I"); static inline void wait_for_interrupt() { // Kesme olana kadar bekle asm("wfi");

35 PortF Kurulumu void init_port_f() { volatile unsigned long tmp; SYSCTL_RCGCGPIO_R = 0x ; tmp = SYSCTL_RCGCGPIO_R; GPIO_PORTF_LOCK_R = 0x4C4F434B; GPIO_PORTF_CR_R = 0x1F; GPIO_PORTF_AMSEL_R = 0x00; GPIO_PORTF_PCTL_R = 0x ; GPIO_PORTF_DIR_R = 0x0E; GPIO_PORTF_AFSEL_R = 0x00; GPIO_PORTF_PUR_R = 0x11; GPIO_PORTF_DEN_R = 0x1F; // Port F nin saatini aktifleştir // Saatin başlaması için gecikme // Port F GPIO kilidini aç // PF4-0 kilidini aç // PF anlog I/O kapat // PF4-0 GPIO olarak ayarla // PF4,PF0 giriş, PF3-1 çıkış // PF7-0 Alternatif fonksiyonları kapat // PF0 ve PF4 üzerindeki pull-up direncini // aktifleştir // PF4-0 digital I/O aktifleştir

36 PortF Kesme Kurulumu void PF4_interrupt_init() { GPIO_PORTF_IS_R &= ~0b10000; // PC4 is kenar hassas GPIO_PORTF_IBE_R &= ~0b10000; // PC4 iki kenara hassas değil GPIO_PORTF_IEV_R &= ~0b10000; // PC4 düşen kenar hassasiyeti GPIO_PORTF_ICR_R = 0b10000; // flag4 kesmesini temizle GPIO_PORTF_IM_R = 0b10000; // PC4 kesmesi aktifleştir NVIC_PRI7_R = (NVIC_PRI7_R & 0xFF00FFFF) 0x00A00000; // NVIC_SYS_PRI3_R kaydında TICK alanını kullanarak SysTick kesmelerinin önceliğini // oluşturulur NVIC_EN0_R = (1<<30); // NVIC_ST_CTRL_R kontrol saklayıcısına istenen modu yazılır

37 Kesme Esnasında Çalısacak Fonksiyon volatile uint32_t kesme_sayisi = 0; void PortF_interrupt_handler() { disable_interrupts(); GPIO_PORTF_ICR_R = 0b10000; // flag4 kesmesini temizle kesme_sayisi++; // yesil ledi ters cevir GPIO_PORTF_DATA_R ^= 0b01000; enable_interrupts();

38 Kesme Esnasında Çalısacak Fonksiyon volatile uint32_t kesme_sayisi = 0; void PortF_interrupt_handler() { disable_interrupts(); GPIO_PORTF_ICR_R = 0b10000; // flag4 kesmesini temizle kesme_sayisi++; // yesil ledi ters cevir GPIO_PORTF_DATA_R ^= 0b01000; enable_interrupts();

39 Kesme Esnasında Çalısacak Fonksiyon volatile uint32_t kesme_sayisi = 0; void PortF_interrupt_handler() { disable_interrupts(); GPIO_PORTF_ICR_R = 0b10000; // flag4 kesmesini temizle kesme_sayisi++; // ledi ters cevir GPIO_PORTF_DATA_R ^= 0b01000; enable_interrupts();

40 Kesme Esnasında Çalısacak Fonksiyon volatile uint32_t kesme_sayisi = 0; void PortF_interrupt_handler() { disable_interrupts(); GPIO_PORTF_ICR_R = 0b10000; // flag4 kesmesini temizle kesme_sayisi++; // ledi ters cevir GPIO_PORTF_DATA_R ^= 0b01000; enable_interrupts();

41 Kesme islemi int main() { init_port_f(); PF4_interrupt_init(); enable_interrupts(); while (1) { wait_for_interrupt();

42 Kesme islemi int main() { init_port_f(); PF4_interrupt_init(); enable_interrupts(); while (1) { wait_for_interrupt();

43 Kesme islemi int main() { init_port_f(); PF4_interrupt_init(); enable_interrupts(); while (1) { wait_for_interrupt();

44 Timer islemleri

45 Timer islemleri

46 Timer islemleri Cortex M4 8 32k RAM GPIO Port B GPIO Port A 8 Eight UARTs Four I2Cs Four SSIs CAN 2.0 GPIO Port D GPIO Port C 4 Twelve Timers Six 64-bit wide USB 2.0 JTAG 6 GPIO Port F GPIO Port E Two Analog Comparators ADC 2 channels 12 inputs 12 bits Two PWM Modules System Bus 8 5

47 Timer islemleri

48 Timer islemleri

49 Timer islemleri 1 saniye Timer0A 1/10 saniyede Timer1A

50 Timer islemleri extern void timer_0a_handler(); extern void timer_1a_handler();

51 Timer islemleri // The vector table alanı içindeki // The vector table alanı içindeki IntDefaultHandler,... IntDefaultHandler, timer_0a_handler,... IntDefaultHandler, // Timer 0 subtimer A // Timer 1 subtimer A // Timer 0 subtimer A // Timer 1 subtimer A

52 Timer islemleri #include <stdint.h> #include <stdbool.h> #include "inc/tm4c123gh6pm.h" #include "inc/hw_types.h" #include "inc/hw_memmap.h" #include "driverlib/sysctl.h" #include "driverlib/timer.h"

53 Timer islemleri static inline void disable_interrupts() {asm("cpsid I"); static inline void enable_interrupts() {asm("cpsie I"); static inline void wait_for_interrupt() {asm("wfi");

54 Timer islemleri void init_port_b() { volatile unsigned long delay; SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOB; delay = SYSCTL_RCGC2_R; GPIO_PORTB_DIR_R = 0xFF; GPIO_PORTB_AFSEL_R &= ~0xFF; GPIO_PORTB_DEN_R = 0xFF;

55 Timer islemleri void init_port_f() { volatile unsigned long delay; SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOF; delay = SYSCTL_RCGC2_R; GPIO_PORTF_DIR_R = 0b01110; GPIO_PORTF_AFSEL_R &= ~0b01110; GPIO_PORTF_DEN_R = 0b01110;

56 Timer islemleri void init_timer_0a(int period) { // timer_0 modulunu aktiflestir SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0); // timer_0 i periyodik olarak ayarla TimerConfigure(TIMER0_BASE, TIMER_CFG_PERIODIC); // timer_0a modulunu "period" sayisindan geri sayacak sekilde ayarla TimerLoadSet(TIMER0_BASE, TIMER_A, period); // timer_0a kesmesini aktiflesitr IntEnable(INT_TIMER0A); TimerIntEnable(TIMER0_BASE, TIMER_TIMA_TIMEOUT); // timer_0a'yi baslat TimerEnable(TIMER0_BASE, TIMER_A);

57 Timer islemleri void init_timer_1a(int period) { // timer_1 modulunu aktiflestir SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER1); // timer_1 i periyodik olarak ayarla TimerConfigure(TIMER1_BASE, TIMER_CFG_PERIODIC); // timer_1a modulunu "period" sayisindan geri sayacak sekilde ayarla TimerLoadSet(TIMER1_BASE, TIMER_A, period); // timer_1a kesmesini aktiflesitr IntEnable(INT_TIMER1A); TimerIntEnable(TIMER1_BASE, TIMER_TIMA_TIMEOUT); // timer_1a'yi baslat TimerEnable(TIMER1_BASE, TIMER_A);

58 Timer islemleri const uint8_t kodlar[] = { 0b , 0b , 0b , 0b , 0b , 0b , 0b , 0b , 0b , 0b ;

59 Timer islemleri int sayi = 0; void timer_0a_handler() { // timer interrupt clear (timer kesmesini algiladigimizi bildiriyoruz) TimerIntClear(TIMER0_BASE, TIMER_TIMA_TIMEOUT); // sayiyi arttirip 7-segmentte gosterc sayi = (sayi + 1) % 10; GPIO_PORTB_DATA_R = kodlar[sayi];

60 Timer islemleri void timer_1a_handler() { // timer interrupt clear (timer kesmesini algiladigimizi bildiriyoruz) TimerIntClear(TIMER1_BASE, TIMER_TIMA_TIMEOUT); GPIO_PORTF_DATA_R ^= 0b00010;

61 Timer islemleri int main() { volatile unsigned long delay; disable_interrupts(); // timer_0a kesmesini saniyede 1 kere calisacak sekilde kur init_timer_0a(sysctlclockget()); // timer_1a kesmesini saniyede 10 kere calisacak sekilde kur init_timer_1a( ()/10); init_port_b(); init_port_f(); enable_interrupts(); GPIO_PORTB_DATA_R = kodlar[sayi]; while (1) { wait_for_interrupt();

62 SysTick, Timer, 4 seven segment a b c d e f g Gnd Gnd Gnd Gnd

63 Timer islemleri extern void ekran_guncelleme_timer(); extern void systick_handler();

64 SysTick, Timer, 4 seven segment // The vector table alanı içindeki // The vector table alanı içindeki IntDefaultHandler,... IntDefaultHandler, systick_handler,... ekran_guncelleme_timer, // The SysTick handle // Timer 1 subtimer A // The SysTick handler // Timer 1 subtimer A

65 SysTick, Timer, 4 seven segment /** * ornekte systick kesmesi zamani olcmek icin, * timer kesmesi ekrani guncellemek icin kullaniliyor. */ #include <stdint.h> #include <stdbool.h> #include "inc/tm4c123gh6pm.h" // stellaris icin: #include "inc/lm4f120h5qr.h" // stellaris icin: #include "inc/hw_ints.h" #include "inc/hw_types.h" #include "inc/hw_memmap.h" #include "driverlib/sysctl.h" #include "driverlib/timer.h"

66 SysTick, Timer, 4 seven segment static inline void disable_interrupts() { asm("cpsid I"); static inline void enable_interrupts() { asm("cpsie I"); static inline void wait_for_interrupt() { asm("wfi");

67 SysTick, Timer, 4 seven segment void init_port_b() { volatile unsigned long delay; SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOB; delay = SYSCTL_RCGC2_R; GPIO_PORTB_DIR_R = 0xFF; GPIO_PORTB_AFSEL_R &= ~0xFF; GPIO_PORTB_DEN_R = 0xFF;

68 SysTick, Timer, 4 seven segment void init_port_e() { volatile unsigned long delay; SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOE; delay = SYSCTL_RCGC2_R; GPIO_PORTE_DIR_R = 0x0f; GPIO_PORTE_AFSEL_R &= ~0x0f; GPIO_PORTE_DEN_R = 0x0f;

69 SysTick, Timer, 4 seven segment void init_timer_0a(int period) { // timer_0 modulunu aktiflestir SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0); // timer_0 i periyodik olarak ayarla TimerConfigure(TIMER0_BASE, TIMER_CFG_PERIODIC); // timer_0a modulunu "period" sayisindan geri sayacak sekilde ayarla TimerLoadSet(TIMER0_BASE, TIMER_A, period); // timer_0a kesmesini aktiflesitr IntEnable(INT_TIMER0A); TimerIntEnable(TIMER0_BASE, TIMER_TIMA_TIMEOUT); // timer_0a'yi baslat TimerEnable(TIMER0_BASE, TIMER_A);

70 SysTick, Timer, 4 seven segment void SysTick_Init(unsigned long period) { NVIC_ST_CTRL_R = 0; // disable SysTick during setup NVIC_ST_RELOAD_R = period - 1; // reload value NVIC_ST_CURRENT_R = 0; // any write to current clears it NVIC_SYS_PRI3_R = (NVIC_SYS_PRI3_R & 0x00FFFFFF) 0x ; // priority 2 NVIC_ST_CTRL_R = 0x07; // enable SysTick with core clock and interrupts // enable interrupts after all initialization is finished

71 SysTick, Timer, 4 seven segment // 0'dan 9'a kadar olan sayilarin seven segment kodlari // bit sirasi: g f e d c b a uint8_t kodlar[10] = { 0b , 0b , 0b , 0b , 0b , 0b , 0b , 0b , 0b , 0b ;

72 SysTick, Timer, 4 seven segment // 1 saniyedeki systick kesmesi sayisi #define SYSTICK_HZ 10 // 1 saniyede kac kere ekran guncelleme kesmesi olacagi #define EKRAN_KESME_HZ 400 // ekranda gosterilen sayi int sayi = 1234; // baslangictan itibaren olusan systick kesmesi sayisi uint32_t systick_count = 0; // ekran guncelleme kesmesinin sayaci int ekran_guncelle_sayac = 0;

73 SysTick, Timer, 4 seven segment /** systick kesmesinde calistirilan fonksiyon */ void systick_handler() { systick_count++; // 5 saniyede bir sayiyi arttir if (systick_count % (SYSTICK_HZ * 5) == 0) sayi++;

74 SysTick, Timer, 4 seven segment void ekran_guncelleme_timer() { /** Timer0A kesmesinde calistirilan fonksiyon */ // timer interrupt clear (timer kesmesini algiladigimizi bildiriyoruz) TimerIntClear(TIMER0_BASE, TIMER_TIMA_TIMEOUT); ekran_guncelle_sayac++; if (ekran_guncelle_sayac % 4 == 1) { int birler = sayi % 10; GPIO_PORTE_DATA_R = 0b1111; // hepsini kapat GPIO_PORTB_DATA_R = kodlar[birler]; GPIO_PORTE_DATA_R &= ~0b0001; // birler basamagini aktiflestir else if (ekran_guncelle_sayac % 4 == 2) { int onlar = (sayi / 10) % 10; GPIO_PORTE_DATA_R = 0b1111; // hepsini kapat GPIO_PORTB_DATA_R = kodlar[onlar]; GPIO_PORTE_DATA_R &= ~0b0010; // onlar basamagini aktiflestir else if (ekran_guncelle_sayac % 4 == 3) { int yuzler = (sayi / 100) % 10; GPIO_PORTE_DATA_R = 0b1111; // hepsini kapat GPIO_PORTB_DATA_R = kodlar[yuzler]; GPIO_PORTE_DATA_R &= ~0b0100; // yuzler basamagini aktiflestir else if (ekran_guncelle_sayac % 4 == 0) { int binler = (sayi / 1000) % 10; GPIO_PORTE_DATA_R = 0b1111; // hepsini kapat GPIO_PORTB_DATA_R = kodlar[binler]; GPIO_PORTE_DATA_R &= ~0b1000; // binler basamagini aktiflestir

75 SysTick, Timer, 4 seven segment int main() { init_port_b(); init_port_e(); // Ekran guncelleme islemi icin saniyede EKRAN_KESME_HZ tane kesme uretilecek init_timer_0a(sysctlclockget() / EKRAN_KESME_HZ); // Zaman olcmek icin saniyede SYSTICK_HZ tane kesme uretilecek SysTick_Init(SysCtlClockGet() / SYSTICK_HZ); enable_interrupts(); // kesmeleri aktiflestir while (1) { wait_for_interrupt();

76 Sorular

77 Es zamanlı islem yapma Frekansı 100 olarak ayarlanmıs systick kesmesi ile zaman ölçümü yapmak Seven segment kullanarak SANiYEDE BiR sayma Ledi 2.5 SANiYE yak, 2.5 SANiYE söndür

78 Tiva/Stellaris 7 Segment & Buton & Led Bağlantısı PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PD0 PD1 PD2 PD3 PD4 PD5 PD6 PD7 PE0 PE1 PE2 PE3 PE4 PE5 PF0 PF1 PF2 PF3 PF4 Vcc Seven Segment

79 Tiva/Stellaris 7 Segment & Buton & Led Bağlantısı PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PD0 PD1 PD2 PD3 PD4 PD5 PD6 PD7 PE0 PE1 PE2 PE3 PE4 PE5 PF0 PF1 PF2 PF3 PF4 Vcc Seven Segment Led

80 Nested Vector Interrup Controller (NVIC)

81 Interrupt Service Rutine ISR

82 Interrupt Service Rutine ISR // The vector table alanı içindeki IntDefaultHandler, // The SysTick handler satırı aşağıdaki gibi değiştirilmeli systick_handler, // The SysTick handler

83 Kütüphane Tanımlamaları #include <stdint.h> #include <stdbool.h> #include "inc/tm4c123gh6pm.h" // stellaris icin: #include "inc/lm4f120h5qr.h" #include "inc/hw_types.h" #include "driverlib/sysctl.h" // SysCtl ile baslayan fonksiyonlarda gerekli // 1 saniyede SYSTICK Kadar kesme üret #define SYSTICK_HZ 100

84 Kütüphane Tanımlamaları #include <stdint.h> #include <stdbool.h> #include "inc/tm4c123gh6pm.h" // stellaris icin: #include "inc/lm4f120h5qr.h" #include "inc/hw_types.h" #include "driverlib/sysctl.h" // SysCtl ile baslayan fonksiyonlarda gerekli // 1 saniyede SYSTICK Kadar kesme üret #define SYSTICK_HZ 100

85 Kütüphane Tanımlamaları #include <stdint.h> #include <stdbool.h> #include "inc/tm4c123gh6pm.h" // stellaris icin: #include "inc/lm4f120h5qr.h" #include "inc/hw_types.h" #include "driverlib/sysctl.h" // SysCtl ile baslayan fonksiyonlarda gerekli // 1 saniyede SYSTICK Kadar kesme üret #define SYSTICK_HZ 100

86 Kesme Fonksiyonları static inline void disable_interrupts() { //Kesmeleri pasif yap asm("cpsid I"); static inline void enable_interrupts() { // Kesmeleri aktifleştir asm("cpsie I"); static inline void wait_for_interrupt() { // Kesme olana kadar bekle asm("wfi");

87 Port F İlklendirme void init_port_f() { volatile unsigned long tmp; SYSCTL_RCGCGPIO_R = 0x ; tmp = SYSCTL_RCGCGPIO_R; GPIO_PORTF_LOCK_R = 0x4C4F434B; GPIO_PORTF_CR_R = 0x1F; GPIO_PORTF_AMSEL_R = 0x00; GPIO_PORTF_PCTL_R = 0x ; GPIO_PORTF_DIR_R = 0x0E; GPIO_PORTF_AFSEL_R = 0x00; GPIO_PORTF_PUR_R = 0x11; GPIO_PORTF_DEN_R = 0x1F; // Port F nin saatini aktifleştir // Saatin başlaması için gecikme // Port F GPIO kilidini aç // PF4-0 kilidini aç // PF anlog I/O kapat // PF4-0 GPIO olarak ayarla // PF4,PF0 giriş, PF3-1 çıkış // PF7-0 Alternatif fonksiyonları kapat // PF0 ve PF4 üzerindeki pull-up direncini // aktifleştir // PF4-0 digital I/O aktifleştir

88 Port B İlklendirme void init_port_b() { volatile unsigned long delay; SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOB; delay = SYSCTL_RCGC2_R; GPIO_PORTB_DIR_R = 0xFF; GPIO_PORTB_AFSEL_R &= ~0xFF; GPIO_PORTB_DEN_R = 0xFF;

89 Seven Segment Tablosu uint8_t kodlar[] = { 0b , 0b , 0b , 0b , 0b , 0b , 0b , 0b , 0b , 0b ;

90 Kesme İlklendirme /** SysTick_Init() fonksiyonu systick kesmesini aktifleştiriyor. Kaç saniyede bir kesme üretileceğini verilen period parametresine göre ayarlanıyor. */ void SysTick_Init(unsigned long period){ NVIC_ST_CTRL_R = 0; // SysTick'i kapatmak için ENABLE bitini temizlenir NVIC_ST_RELOAD_R = period-1; // RELOAD saklayıcısı ayarlanır NVIC_ST_CURRENT_R = 0; // Sayacı silmek için NVIC_ST_CURRENT_R'ye // herhangi bir değer yazılır NVIC_SYS_PRI3_R = (NVIC_SYS_PRI3_R & 0x00FFFFFF) 0x ; // NVIC_SYS_PRI3_R kaydında TICK alanını kullanarak SysTick kesmelerinin // önceliğini oluşturulur NVIC_ST_CTRL_R = 0x07; // NVIC_ST_CTRL_R kontrol saklayıcısına istenen modu yazılır

91 // baslangictan itibaren olusan systick kesmesi sayisi uint32_t systick_count = 0; Kesmede Çalışacak Fonksiyon // 7-segmentte gosterilen sayi volatile int sayi = 0; volatile int flag_sayi_arttir = 0; volatile int flag_ledi_ters_cevir = 0; void systick_handler() { // systick kesmesi oldugunda bu fonksiyon calisacak systick_count++; // kac tane systick kesmesi oldugunu say // Saniyede bir sayiyi arttirma flagini 1 yap // saydigimiz systick sayisi 100'e tam bolunuyorsa 1 saniye gecmistir if ((systick_count % (SYSTICK_HZ * 1)) == 0) flag_sayi_arttir = 1; // 5/2=2.5 saniyede bir ledi ters cevirme isleminin flagini 1 yap if (systick_count % (SYSTICK_HZ * 5/2) == 0)

92 // baslangictan itibaren olusan systick kesmesi sayisi uint32_t systick_count = 0; Kesmede Çalışacak Fonksiyon // 7-segmentte gosterilen sayi volatile int sayi = 0; volatile int flag_sayi_arttir = 0; volatile int flag_ledi_ters_cevir = 0; void systick_handler() { // systick kesmesi oldugunda bu fonksiyon calisacak systick_count++; // kac tane systick kesmesi oldugunu say // Saniyede bir sayiyi arttirma flagini 1 yap // saydigimiz systick sayisi 100'e tam bolunuyorsa 1 saniye gecmistir if ((systick_count % (SYSTICK_HZ * 1)) == 0) flag_sayi_arttir = 1; // 5/2=2.5 saniyede bir ledi ters cevirme isleminin flagini 1 yap if (systick_count % (SYSTICK_HZ * 5/2) == 0)

93 // baslangictan itibaren olusan systick kesmesi sayisi uint32_t systick_count = 0; Kesmede Çalışacak Fonksiyon // 7-segmentte gosterilen sayi volatile int sayi = 0; volatile int flag_sayi_arttir = 0; volatile int flag_ledi_ters_cevir = 0; void systick_handler() { // systick kesmesi oldugunda bu fonksiyon calisacak systick_count++; // kac tane systick kesmesi oldugunu say // Saniyede bir sayiyi arttirma flagini 1 yap // saydigimiz systick sayisi 100'e tam bolunuyorsa 1 saniye gecmistir if ((systick_count % (SYSTICK_HZ * 1)) == 0) flag_sayi_arttir = 1; // 5/2=2.5 saniyede bir ledi ters cevirme isleminin flagini 1 yap if (systick_count % (SYSTICK_HZ * 5/2) == 0)

94 // baslangictan itibaren olusan systick kesmesi sayisi uint32_t systick_count = 0; Kesmede Çalışacak Fonksiyon // 7-segmentte gosterilen sayi volatile int sayi = 0; volatile int flag_sayi_arttir = 0; volatile int flag_ledi_ters_cevir = 0; void systick_handler() { // systick kesmesi oldugunda bu fonksiyon calisacak systick_count++; // kac tane systick kesmesi oldugunu say // Saniyede bir sayiyi arttirma flagini 1 yap // saydigimiz systick sayisi 100'e tam bolunuyorsa 1 saniye gecmistir if ((systick_count % (SYSTICK_HZ * 1)) == 0) flag_sayi_arttir = 1; // 5/2=2.5 saniyede bir ledi ters cevirme isleminin flagini 1 yap if (systick_count % (SYSTICK_HZ * 5/2) == 0)

95 // baslangictan itibaren olusan systick kesmesi sayisi uint32_t systick_count = 0; Kesmede Çalışacak Fonksiyon // 7-segmentte gosterilen sayi volatile int sayi = 0; volatile int flag_sayi_arttir = 0; volatile int flag_ledi_ters_cevir = 0; void systick_handler() { // systick kesmesi oldugunda bu fonksiyon calisacak systick_count++; // kac tane systick kesmesi oldugunu say // Saniyede bir sayiyi arttirma flagini 1 yap // saydigimiz systick sayisi 100'e tam bolunuyorsa 1 saniye gecmistir if ((systick_count % (SYSTICK_HZ * 1)) == 0) flag_sayi_arttir = 1; // 5/2=2.5 saniyede bir ledi ters cevirme isleminin flagini 1 yap if (systick_count % (SYSTICK_HZ * 5/2) == 0)

96 int main() { init_port_b(); init_port_f(); Kesme Uygulaması // 1 saniyede SYSTICK_HZ tane kesme uretecek sekilde ayarlar SysTick_Init(SysCtlClockGet() / SYSTICK_HZ); enable_interrupts(); while (1) { if (flag_sayi_arttir) { flag_sayi_arttir = 0; sayi = (sayi + 1) % 10; GPIO_PORTB_DATA_R = kodlar[sayi]; if (flag_ledi_ters_cevir) { flag_ledi_ters_cevir = 0; GPIO_PORTF_DATA_R ^= 0b00100; wait_for_interrupt(); // sonraki kesmeye kadar islemciyi uyku moduna alir

97 int main() { init_port_b(); init_port_f(); Kesme Uygulaması // 1 saniyede SYSTICK_HZ tane kesme uretecek sekilde ayarlar SysTick_Init(SysCtlClockGet() / SYSTICK_HZ); enable_interrupts(); while (1) { if (flag_sayi_arttir) { flag_sayi_arttir = 0; sayi = (sayi + 1) % 10; GPIO_PORTB_DATA_R = kodlar[sayi]; if (flag_ledi_ters_cevir) { flag_ledi_ters_cevir = 0; GPIO_PORTF_DATA_R ^= 0b00100; wait_for_interrupt(); // sonraki kesmeye kadar islemciyi uyku moduna alir

98 int main() { init_port_b(); init_port_f(); Kesme Uygulaması // 1 saniyede SYSTICK_HZ tane kesme uretecek sekilde ayarlar SysTick_Init(SysCtlClockGet() / SYSTICK_HZ); enable_interrupts(); while (1) { if (flag_sayi_arttir) { flag_sayi_arttir = 0; sayi = (sayi + 1) % 10; GPIO_PORTB_DATA_R = kodlar[sayi]; if (flag_ledi_ters_cevir) { flag_ledi_ters_cevir = 0; GPIO_PORTF_DATA_R ^= 0b00100; wait_for_interrupt(); // sonraki kesmeye kadar islemciyi uyku moduna alir

99 int main() { init_port_b(); init_port_f(); Kesme Uygulaması // 1 saniyede SYSTICK_HZ tane kesme uretecek sekilde ayarlar SysTick_Init(SysCtlClockGet() / SYSTICK_HZ); enable_interrupts(); while (1) { if (flag_sayi_arttir) { flag_sayi_arttir = 0; sayi = (sayi + 1) % 10; GPIO_PORTB_DATA_R = kodlar[sayi]; if (flag_ledi_ters_cevir) { flag_ledi_ters_cevir = 0; GPIO_PORTF_DATA_R ^= 0b00100; wait_for_interrupt(); // sonraki kesmeye kadar islemciyi uyku moduna alir

100 int main() { init_port_b(); init_port_f(); Kesme Uygulaması // 1 saniyede SYSTICK_HZ tane kesme uretecek sekilde ayarlar SysTick_Init(SysCtlClockGet() / SYSTICK_HZ); enable_interrupts(); while (1) { if (flag_sayi_arttir) { flag_sayi_arttir = 0; sayi = (sayi + 1) % 10; GPIO_PORTB_DATA_R = kodlar[sayi]; if (flag_ledi_ters_cevir) { flag_ledi_ters_cevir = 0; GPIO_PORTF_DATA_R ^= 0b00100; wait_for_interrupt(); // sonraki kesmeye kadar islemciyi uyku moduna alir

101 int main() { init_port_b(); init_port_f(); Kesme Uygulaması // 1 saniyede SYSTICK_HZ tane kesme uretecek sekilde ayarlar SysTick_Init(SysCtlClockGet() / SYSTICK_HZ); enable_interrupts(); while (1) { if (flag_sayi_arttir) { flag_sayi_arttir = 0; sayi = (sayi + 1) % 10; GPIO_PORTB_DATA_R = kodlar[sayi]; if (flag_ledi_ters_cevir) { flag_ledi_ters_cevir = 0; GPIO_PORTF_DATA_R ^= 0b00100; wait_for_interrupt(); // sonraki kesmeye kadar islemciyi uyku moduna alir

102 7 0b , Parçalı Gösterge 0b , 0b , 0b , 0b , 0b , 0b , 0b , 0b ,

103 Dörtlü 7 Parçalı Gösterge

104 Dörtlü 7 Parçalı Gösterge D1 12 A 11 F 10 D2 9 D3 8 B 7 1 E 2 D 3 4 C 5 G 6 D4 desimal

105 Dörtlü 7 Parçalı Gösterge D4 D3 D2 D1 a b c d e f g dp

106 Dörtlü 7 Parçalı Gösterge

107 Tiva/Stellaris 4 lü 7 Segment Bağlantısı PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 PF0 PF1 PF2 PF3 PF4 PF5 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PD0 PD1 PD2 PD3 PD4 PD5 PD6 PD7 PE0 PE1 PE2 PE3 PE4 Vcc Seven Segment

108 Dörtlü Seven Segment #include <stdint.h> #include <stdbool.h> #include "inc/tm4c123gh6pm.h" // stellaris icin: #include "inc/lm4f120h5qr.h"

109 Dörtlü Seven Segment void init_port_b() { volatile unsigned long delay; SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOB; delay = SYSCTL_RCGC2_R; GPIO_PORTB_DIR_R = 0xFF; GPIO_PORTB_AFSEL_R &= ~0xFF; GPIO_PORTB_DEN_R = 0xFF;

110 Dörtlü Seven Segment void init_port_e() { volatile unsigned long delay; SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOE; delay = SYSCTL_RCGC2_R; GPIO_PORTE_DIR_R = 0x0f; GPIO_PORTE_AFSEL_R &= ~0x0f; GPIO_PORTE_DEN_R = 0x0f;

111 Dörtlü Seven Segment // 0'dan 9'a kadar olan sayilarin seven segment kodlari // bit sirasi: g f e d c b a uint8_t kodlar[10] = { 0b , 0b , 0b , 0b , 0b , 0b , 0b , 0b , 0b ,

112 int main() Dörtlü { Seven Segment volatile unsigned long delay; init_port_b(); init_port_e(); int sayi = 1234; const int BEKLEME_LIMIT = 10000; while (1) { // Sonraki sunumlarda sadece while(1){ blogu gösterilecek

113 Dörtlü Seven Segment while (1) { int birler = sayi % 10; GPIO_PORTE_DATA_R = 0b1111; // hepsini kapat GPIO_PORTB_DATA_R = kodlar[birler]; GPIO_PORTE_DATA_R &= ~0b0001; // birler basamagini aktiflestir for (delay = 0 ; delay < BEKLEME_LIMIT ; delay++) /* bekle */; // Sonraki slaytlarda onlar, yüzler ve binler basamakları bu kısımda // anlatılmaktadır.

114 int birler = sayi % 10; GPIO_PORTE_DATA_R = 0b1111; // hepsini kapat GPIO_PORTB_DATA_R = kodlar[birler]; GPIO_PORTE_DATA_R &= ~0b0001; // birler basamagini aktiflestir for (delay = 0 ; delay < BEKLEME_LIMIT ; delay++) /* bekle */; Dörtlü Seven Segment int onlar = (sayi / 10) % 10; GPIO_PORTE_DATA_R = 0b1111; // hepsini kapat GPIO_PORTB_DATA_R = kodlar[onlar]; GPIO_PORTE_DATA_R &= ~0b0010; // onlar basamagini aktiflestir for (delay = 0 ; delay < BEKLEME_LIMIT ; delay++) /* bekle */; int yuzler = (sayi / 100) % 10; GPIO_PORTE_DATA_R = 0b1111; // hepsini kapat GPIO_PORTB_DATA_R = kodlar[yuzler]; GPIO_PORTE_DATA_R &= ~0b0100; // yuzler basamagini aktiflestir for (delay = 0 ; delay < BEKLEME_LIMIT ; delay++) /* bekle */; int binler = (sayi / 1000) % 10; GPIO_PORTE_DATA_R = 0b1111; // hepsini kapat GPIO_PORTB_DATA_R = kodlar[binler]; GPIO_PORTE_DATA_R &= ~0b1000; // binler basamagini aktiflestir

SysTick Kesmesi. Suhap SAHIN {\} /\

SysTick Kesmesi. Suhap SAHIN {\} /\ SysTick Kesmesi Suhap SAHIN {\ /\ Mesgul Bekleme islem_1 islem_2 islem_3 islem_4 islem_5 Seven Segment Buton Led Seven Segment Buton Led Cortex M4 8 32k RAM GPIO Port B GPIO Port A 8 Eight UARTs Four I2Cs

Detaylı

Mikrokontrolcu Portları {\} /\ Suhap SAHIN

Mikrokontrolcu Portları {\} /\ Suhap SAHIN Mikrokontrolcu Portları 0 {\} /\ Suhap SAHIN Gelistirme Ortamının Kurulumu Sanal Makine Programı(VirtualBo) Sanal Makine Dosyasının Kurulumu(ubuntu-kouembedded-v20160217.ova) Virtualbo kurulumu https://www.virtualbo.org/

Detaylı

Sistem Programlama Deney 1

Sistem Programlama Deney 1 Sistem Programlama Deney 1 Deney başlamadan önce deney grubu listenizi aşağıdaki dokümana yazınız: https://docs.google.com/spreadsheets/d/1gxplmgkkfwlutcvn9_its7tt rcwuzkqfnwhlpfdodhw/edit?usp=sharing

Detaylı

ARM Ders Notları. SysCtlClockSet( SYSCTL_SYSDIV_4 SYSCTL_USE_PLL SYSCTL_OSC_MAIN SYSCTL_XTAL_8MHZ);

ARM Ders Notları. SysCtlClockSet( SYSCTL_SYSDIV_4 SYSCTL_USE_PLL SYSCTL_OSC_MAIN SYSCTL_XTAL_8MHZ); Faz Kilitlemeli Döngü (Phase-Look-Loop)-PLL Normalde bir microdenetleyicinin çalışma hızı dışarıdaki bir kristal ile belirlenir. Stellaris EKK- LM3S1968 geliştirme kartının 8 MHz lik bir kristali vardır.

Detaylı

Giris {\} /\ Suhap SAHIN

Giris {\} /\ Suhap SAHIN Giris 0 {\} /\ Suhap SAHIN Kaynaklar http://users.ece.utexas.edu/~valvano/volume1/e-book/ Kaynaklar https://www.edx.org/course/embedded-systems-shape-world-utaustinx-ut-6-02x Konular 1. 2. 3. 4. 5. 6.

Detaylı

LPC2104 Mikro Denetleyicisini KEIL İle Programlamak

LPC2104 Mikro Denetleyicisini KEIL İle Programlamak LPC2104 Mikro Denetleyicisini KEIL İle Programlamak Program yazabilmek için öncelikle komutları tanımamız ve ne işe yaradıklarını bilmemiz gerekir. Komutlar yeri geldikçe çalışma içerisinde anlatılacaktır.

Detaylı

Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri. ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş

Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri. ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş 29.11.2016 İÇERİK Arduino Nedir? Arduino IDE Yazılımı Arduino Donanım Yapısı Elektronik Bilgisi

Detaylı

Mikroişlemciler. Microchip PIC

Mikroişlemciler. Microchip PIC Mikroişlemciler Microchip PIC Öğr. Gör. M. Ozan AKI r1.1 Microchip PIC Mikrodenetleyiciler www.microchip.com Microchip PIC Mikrodenetleyiciler Microchip PIC Mikrodenetleyiciler Microchip PIC Mikrodenetleyiciler

Detaylı

Arduino Uno ile Hc-Sr04 ve Lcd Ekran Kullanarak Mesafe Ölçmek

Arduino Uno ile Hc-Sr04 ve Lcd Ekran Kullanarak Mesafe Ölçmek Arduino Uno ile Hc-Sr04 ve Lcd Ekran Kullanarak Mesafe Ölçmek 1 Adet Arduino Uno 1 Adet Hc-Sr04 Ultrasonik mesafe sensörü 1 Adet 16 2 Lcd Ekran 1 Adet Breadbord 1 Adet Potansiyometre 2 Ader led Yeteri

Detaylı

8086 nın Bacak Bağlantısı ve İşlevleri. 8086, 16-bit veri yoluna (data bus) 8088 ise 8- bit veri yoluna sahip16-bit mikroişlemcilerdir.

8086 nın Bacak Bağlantısı ve İşlevleri. 8086, 16-bit veri yoluna (data bus) 8088 ise 8- bit veri yoluna sahip16-bit mikroişlemcilerdir. Bölüm 9: 8086 nın Bacak Bağlantısı ve İşlevleri 8086 & 8088 her iki işlemci 40-pin dual in-line (DIP) paketinde üretilmişlerdir. 8086, 16-bit veri yoluna (data bus) 8088 ise 8- bit veri yoluna sahip16-bit

Detaylı

LCD (Liquid Crystal Display )

LCD (Liquid Crystal Display ) LCD (Liquid Crystal Display ) Hafif olmaları,az yer kaplamaları gibi avantajları yüzünden günlük hayatta birçok cihazda tercih edilen Standart LCD paneller +5 V ile çalışır ve genellikle 14 konnektor lü

Detaylı

void setup() fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız.

void setup() fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız. ARDUİNO PROGRAMLAMA fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız. fonksiyonu: Diğer programlama dillerinden alışık olduğumuz

Detaylı

DENEY-2. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

DENEY-2. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ DENEY-2 SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ 31 DENEY 2-1: YEDİ SEGMENT GÖSTERGE ÜZERİNDE VERİ GÖRÜNTÜLEME AMAÇ: Mikrodenetleyicinin portuna

Detaylı

Adres Yolu (Address Bus) Bellek Birimi. Veri Yolu (Databus) Kontrol Yolu (Control bus) Şekil xxx. Mikrodenetleyici genel blok şeması

Adres Yolu (Address Bus) Bellek Birimi. Veri Yolu (Databus) Kontrol Yolu (Control bus) Şekil xxx. Mikrodenetleyici genel blok şeması MİKRODENETLEYİCİLER MCU Micro Controller Unit Mikrodenetleyici Birimi İşlemci ile birlikte I/O ve bellek birimlerinin tek bir entegre olarak paketlendiği elektronik birime mikrodenetleyici (microcontroller)

Detaylı

Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur.

Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur. Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur. Açık kaynak nedir? Açık kaynak, bir bilgisayar yazılımının makina diline dönüştürülüp kullanımından

Detaylı

DENEY-5. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

DENEY-5. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ DENEY-5 SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ 31 MİKRODENETLEYİCİDE KESME BİRİMİ Mikrodenetleyicinin değişik kaynaklardan gelen uyarıcı sinyaller

Detaylı

DENEY 9-A : PIC 16F877 ve LM-35 ile SICAKLIK ÖLÇÜM UYGULAMASI

DENEY 9-A : PIC 16F877 ve LM-35 ile SICAKLIK ÖLÇÜM UYGULAMASI AMAÇ: DENEY 9-A : PIC 16F877 ve LM-35 ile SICAKLIK ÖLÇÜM UYGULAMASI 1- Mikrodenetleyici kullanarak sıcaklık ölçümünü öğrenmek EasyPIC7 setinde LM-35 kullanılarak analog giriş yaptırılması Sıcaklığın LCD

Detaylı

Alıcı Devresi; Sinyali şu şekilde modüle ediyoruz;

Alıcı Devresi; Sinyali şu şekilde modüle ediyoruz; Bu e kitapta infrared iletişim protokolleri ile ilgili basit bir uygulamayı anlatmaya çalışacağım. Bunu yine bir mikrodenetleyici ile yapmamız gerekecek. Siz isterseniz 16f628a yı ya da ccp modülü olan

Detaylı

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI KESMELİ GİRİŞ/ÇIKIŞ

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI KESMELİ GİRİŞ/ÇIKIŞ İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI KESMELİ GİRİŞ/ÇIKIŞ 8259 PIC (Programmable Interrupt Controller) ve 8086 CPU tümleşik devrelerin sinyal akışı

Detaylı

DERS 13 PIC 16F84 ile DONANIM SAYICI KULLANIMI İÇERİK KESME

DERS 13 PIC 16F84 ile DONANIM SAYICI KULLANIMI İÇERİK KESME DERS 13 PIC 16F84 ile DONANIM SAYICI KULLANIMI İÇERİK KESME Ders 13, Slayt 2 1 TMR0 SAYICISI Ram belleğin h 01 adresi TMR0 adlı özel amaçlı bir saklayıcı olarak düzenlenmiştir. Bu saklayıcı bir sayıcıdır.

Detaylı

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı İLERI MIKRODENETLEYICILER Ege Üniversitesi Ege MYO Mekatronik Programı EK-A IDE, Program Geliştirme Araçları Geliştirme Araçları Keil C51 Yazılımı Geliştirme Araçları ISIS Programı ISIS/Proteus programı:

Detaylı

DENEY-6. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

DENEY-6. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ DENEY-6 SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ 31 TEXT LCD İLE VERİ GÖRÜNTÜLEME Mikrodenetleyicilerle bir sistem tasarlarken çoğu kez kullanılan

Detaylı

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı İLERI MIKRODENETLEYICILER Ege Üniversitesi Ege MYO Mekatronik Programı BÖLÜM 1 Embedded C, C51 Temel Veri Tipleri Veri tipi (Data Type) Bit Bayt Değer bit 1 0, 1 char 8 1-128, +127 unsigned char 8 1 0,

Detaylı

C ile Gömülü Sistemler için Yazılım Geliştirme Eğitimi. Apr 10,

C ile Gömülü Sistemler için Yazılım Geliştirme Eğitimi. Apr 10, C ile Gömülü Sistemler için Yazılım Geliştirme Eğitimi İçerik ARM Geliştirme Ortamı GPIO sürücüsü Seri Haberleşme Interrupt ve Callback UART SPI İşletim Sistemi(FreeRTOS) CAN SD Kart ve SDIO FAT dosya

Detaylı

Deney 2. Kesme Uygulamaları

Deney 2. Kesme Uygulamaları Deney 2 Kesme Uygulamaları Deneyin Amacı Kesme kavramının öğretilmesi Kesme, kesme isteği ve yazılım kesmesi kavramlarının anlaşılması Kesme hizmet programı geliştirme Titreşimsiz düğme kavramının irdelenmesi

Detaylı

DENEY-1. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

DENEY-1. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ DENEY-1 SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ 31 DENEY-1-1: BİT YÖNLENDİRMELİ KOMUTLAR İLE PİNLERE DEĞER GÖNDERME AMAÇ: Mikrodenetleyici pinlerine

Detaylı

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ Örnek 1: Kara Şimsek (İki LED) Soru: MSP430 LaunchPad te buluna iki LED i birer saniye aralıklarla sırayla yakıp söndüren programı yazınız. Kara Şimsek

Detaylı

İÇİNDEKİLER. 3 STM32F4 MIKRO-DENETLEYICISI 23 STM32 Ailesi ve STM32F STM32 Ailesi 23 STM32 Mikrodenetleyicileri 30 Numaralandırılması 30

İÇİNDEKİLER. 3 STM32F4 MIKRO-DENETLEYICISI 23 STM32 Ailesi ve STM32F STM32 Ailesi 23 STM32 Mikrodenetleyicileri 30 Numaralandırılması 30 VII 1 GİRİŞ 1 Gömülü Sistemler (Embedded Systems) 1 Kitap Hakkında 2 Kitap Kimler İçin? 2 Kitabı Takip Edebilmek İçin Gerekenler 3 Kitabın İçeriği ve Uygulamaları 4 2 ARM İŞLEMCISI VE MIKRO-DENETLEYICILER

Detaylı

446 GÖMÜLÜ SİSTEM TASARIMI. Lab 9 UART

446 GÖMÜLÜ SİSTEM TASARIMI. Lab 9 UART 446 GÖMÜLÜ SİSTEM TASARIMI Lab 9 UART 9.1 Amaç Bu laboratuvarda LaunchPad ve bilgisayar arasında seri haberleşme gerçekleştirilecektir. Bunun için TExaSdisplay terminal programı kullanılacaktır. UART0

Detaylı

Elif İLİKSİZ. Keziban TURAN. Radio Frekanslarla Hareket Eden Araç

Elif İLİKSİZ. Keziban TURAN. Radio Frekanslarla Hareket Eden Araç Elif İLİKSİZ Keziban TURAN Radio Frekanslarla Hareket Eden Araç Mayıs 2016 İÇİNDEKİLER ALICI ALICI MEKANİZMASI VERİCİ MEKANİZMASI MALZEMELER MEKANİK KISIM ELEKTRONİK KISIM YAZILIM Robotumuzun adı: Radio

Detaylı

İçİndekİler. 1. Bölüm - Mİkro Denetleyİcİ Nedİr? 2. Bölüm - MİkroDenetleyİcİlerİ Anlamak

İçİndekİler. 1. Bölüm - Mİkro Denetleyİcİ Nedİr? 2. Bölüm - MİkroDenetleyİcİlerİ Anlamak XIII İçİndekİler 1. Bölüm - Mİkro Denetleyİcİ Nedİr? Mikrodenetleyici Tanımı Mikrodenetleyicilerin Tarihçesi Mikroişlemci- Mikrodenetleyici 1. İki Kavram Arasındaki Farklar 2. Tasarım Felsefesi ve Mimari

Detaylı

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı İLERI MIKRODENETLEYICILER Ege Üniversitesi Ege MYO Mekatronik Programı BÖLÜM 2 Giriş/Çıkış Portlarının Kullanımı 8051 in Portları 8051 in çift yönlü çalışabilen 4 adet 8 hatlı portu vardır. Her porta SFR

Detaylı

Örnek. int analogpin = 3; int val = 0; void setup() { Serial.begin(9600); } void loop() { val = analogread(analogpin); Serial.

Örnek. int analogpin = 3; int val = 0; void setup() { Serial.begin(9600); } void loop() { val = analogread(analogpin); Serial. Seri Port Ekranı Arduinoyu USB üzerinden bilgisayarımıza bağladığımızda aslında seri port bağlantısı yapmış oluyoruz. Bu seri port üzerinden hem bilgi alışverişi yapabilir hem de uç bağlantı noktasındaki,

Detaylı

BLGM423 Gömülü Sistem Tasarımı

BLGM423 Gömülü Sistem Tasarımı 1 BLGM423 Gömülü Sistem Tasarımı İkinci Çalışma Sayısal giriş ucunun çeşitli konum ve hareketlerini algılama Bu çalışmada tipik bir anahtara bağlanmış olarak kullanılan sayısal giriş ucundaki konum ve

Detaylı

BÖLÜM 7 XTAL2 XTAL1. Vss. Şekil Mikrodenetleyicisi osilatör bağlantı şekli. Bir Makine Çevrimi = 12 Osilatör Periyodu

BÖLÜM 7 XTAL2 XTAL1. Vss. Şekil Mikrodenetleyicisi osilatör bağlantı şekli. Bir Makine Çevrimi = 12 Osilatör Periyodu BÖLÜM 7 7. ZAMANLAYICI/SAYICI YAPISI: 7.1. Sistem Saat üreteci ve Makine Çevrimi Bilgi: Saat üreteci bir mikrodenetleyicinin fonksiyonlarını yerine getirebilmesi için gerekli olan saat darbelerini üreten

Detaylı

LCD (Liquid Crystal Display)

LCD (Liquid Crystal Display) LCD (Liquid Crystal Display) LCD ekranlar bize birçok harfi, sayıları, sembolleri hatta Güney Asya ülkelerin kullandıkları Kana alfabesindeki karakterleri de görüntüleme imkanını verirler. LCD lerde hane

Detaylı

KONTROL VE OTOMASYON KULÜBÜ

KONTROL VE OTOMASYON KULÜBÜ KONTROL VE OTOMASYON KULÜBÜ C DİLİ İLE MİKROKONTROLÖR PROGRAMLAMA EĞİTİMİ Serhat Büyükçolak Ahmet Sakallı 2009-2010 Güz Dönemi Eğitimleri Mikrokontrolör Gömülü sistemlerin bir alt dalı olan mikrokontrolör

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Bilgisayar Bileşenleri Bilgisayarın Fonksiyonu Instruction Cycle Kesmeler (Interrupt lar)

Detaylı

PİC HAKKINDA KISA KISA BİLGİLER GİRİŞ/ÇIKIŞ PORTLARI

PİC HAKKINDA KISA KISA BİLGİLER GİRİŞ/ÇIKIŞ PORTLARI PİC HAKKINDA KISA KISA BİLGİLER GİRİŞ/ÇIKIŞ PORTLARI Bazı pinler çevre birimleri ile çoklanmıştır. Peki bu ne demek? Mesela C portundaki RC6 ve RC7 pinleri seri iletişim için kullanılır. Eğer seri iletişimi

Detaylı

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ 1 Mikrodenetleyici Anatomisi Çevre Birimler (Peripherals) Timers Watchdog Timer Program sonsuz döngüye girdiğinde işlemciyi resetler İletişim Arayüzleri

Detaylı

Genel Kavramlar. Bilecik Şeyh Edebali Üniversitesi Gömülü Sistemler Ders Notları-2

Genel Kavramlar. Bilecik Şeyh Edebali Üniversitesi Gömülü Sistemler Ders Notları-2 Genel Kavramlar Bilecik Şeyh Edebali Üniversitesi Gömülü Sistemler Ders Notları-2 ADC : Analog/Digital Converter ARM : Acorn RISC Machine CLK : Clock CPU : Central Processing Unit DAC : Digital / Analog

Detaylı

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ Alt Program Yapısı Alt programın çağrılması Alt program korunur alınır ;Argumanlar R12 R15 registerlarına atanir. call #SubroutineLabel SubroutineLabel:

Detaylı

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir.

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir. Kesmeler çağırılma kaynaklarına göre 3 kısma ayrılırlar: Yazılım kesmeleri Donanım

Detaylı

Melih Hilmi ULUDAĞ. Yazılım Mühendisi Mekatronik Mühendisi. a aittir.

Melih Hilmi ULUDAĞ. Yazılım Mühendisi Mekatronik Mühendisi.  a aittir. Melih Hilmi ULUDAĞ Yazılım Mühendisi Mekatronik Mühendisi www.melihhilmiuludag.com a aittir. ÖZET Teknolojiyi kısaca bilimsel bilgiden yararlanarak yeni bir ürün geliştirmek, üretmek ve hizmet desteği

Detaylı

DENEY-7. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

DENEY-7. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ DENEY-7 SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ MİKRODENETLEYİCİLERDE ANALOG DİJİTAL DÖNÜŞTÜRÜCÜ Doğada bulunan tüm sistemler analog düzendedir.

Detaylı

LED YAKMAK. Circuit 2. Kablo LED. Direnç. Arduino LED. Direnç (330ohm)

LED YAKMAK. Circuit 2. Kablo LED. Direnç. Arduino LED. Direnç (330ohm) Circuit 2 Pin 13 Arduino LED (Light Emitting Diode) 1 LED YAKMAK LED 'ler (light-emitting diodes) bir çok elektronik devrede kullanılan güçlü ışık kaynaklarıdır. Çalışmalarımıza ilk olarak her elektronik

Detaylı

BİLGİSAYAR BİLİMİ DERSİ (KUR-2)

BİLGİSAYAR BİLİMİ DERSİ (KUR-2) BİLGİSAYAR BİLİMİ DERSİ (KUR-2) ROBOT PROGRAMLAMA 2.1.1. Robot Mimarisi 2.1.2. Robot Türleri ve Eğitsel Amaçlı Robotlar 2.1.3. Eğitsel Robotta Mekanik Bileşenler 2.1.4. Eğitsel Robotta Elektromekanik Bileşenler

Detaylı

SAYISAL MANTIK LAB. PROJELERİ

SAYISAL MANTIK LAB. PROJELERİ 1. 8 bitlik Okunur Yazılır Bellek (RAM) Her biri ayrı adreslenmiş 8 adet D tipi flip-flop kullanılabilir. RAM'lerde okuma ve yazma işlemleri CS (Chip Select), RD (Read), WR (Write) kontrol sinyalleri ile

Detaylı

Code Composer Studio İndirilmesi ve Kurulması

Code Composer Studio İndirilmesi ve Kurulması BÖLÜM 2: 2.1. STELARIS KART GENEL BİLGİ VE CODE COMPOSER STUDIO: Code Composer Studio İndirilmesi ve Kurulması 1. Aşağıdaki linkten Code Composer Studio yu indirebilirsiniz: http://processors.wiki.ti.com/index.php/download_ccs

Detaylı

TUŞ TAKIMI (KEYPAD) UYGULAMALARI

TUŞ TAKIMI (KEYPAD) UYGULAMALARI 12. Bölüm TUŞ TAKIMI (KEYPAD) UYGULAMALARI Tuş Takımı (Keypad) Hakkında Bilgi Tuş Takımı Uygulaması-1 74C922 Tuş Takımı Enkoder Entegresi Tuş Takımı Uygulaması-2 (74C922 İle) Bu bölümde tuş takımı diğer

Detaylı

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Bilgisayar Bileşenleri Bilgisayarın Fonksiyonu Instruction Cycle Kesmeler (Interrupt lar) Bus

Detaylı

4-Deney seti modüler yapıya sahiptir ve kabin içerisine tek bir board halinde monte edilmiştir.

4-Deney seti modüler yapıya sahiptir ve kabin içerisine tek bir board halinde monte edilmiştir. MDS 8051 8051 AİLESİ DENEY SETİ 8051 Ailesi Deney Seti ile piyasada yaygın olarak bulunan 8051 ailesi mikro denetleyicileri çok kolay ve hızlı bir şekilde PC nizin USB veya Seri portundan gönderdiğiniz

Detaylı

KAÇAK AKIM RÖLESİ. www.ulusanelektrik.com.tr. Sayfa 1

KAÇAK AKIM RÖLESİ. www.ulusanelektrik.com.tr. Sayfa 1 DELAB TM-18C KAÇAK AKIM RÖLESİ İÇERİK GENEL / BUTON FONKSİYONLARI.2 PARAMETRE AYARLARI...2 PARAMETRE AÇIKLAMALARI 3 KAÇAK AKIM AYARLARI...3 AÇMA SÜRESİ AYARLARI.3 AŞIRI AKIM AYARLARI...4 ÇALIŞMA SÜRESİ..4

Detaylı

PIC PROGRAMLAMA STEP MOTOR SÜRÜCÜ VE KONTROL AMAÇ NEDİR? Unipolar Step Motorlar. Uç TESPİTİ NASIL YAPILIR?

PIC PROGRAMLAMA STEP MOTOR SÜRÜCÜ VE KONTROL AMAÇ NEDİR? Unipolar Step Motorlar. Uç TESPİTİ NASIL YAPILIR? PIC PROGRAMLAMA hbozkurt@mekatroniklab.com www.mekatroniklab.com.tr STEP MOTOR SÜRÜCÜ VE KONTROL AMAÇ Bu ayki sayımızda, özellikle CNC ve robotik uygulamalarda oldukça yaygın olarak kullanılan step motorlar

Detaylı

DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI İÇERİK

DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI İÇERİK DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI İÇERİK KESME NEDİR KESME ÇEŞİTLERİ INTCON SAKLAYICISI RBO/INT KESMESİ PORTB (RB4-RB7) LOJİK SEVİYE DEĞİŞİKLİK KESMESİ Ders 12, Slayt 2 1 KESME PIC in bazı

Detaylı

EasyPic 6 Deney Seti Tanıtımı

EasyPic 6 Deney Seti Tanıtımı EasyPic 6 Deney Seti Tanıtımı Power supply voltage regulator J6 ile power supply seçimi yapılır. USB seçilirse USB kablosu üzerinden +5V gönderilir, EXT seçilirse DC connector üzerinden harici bir power

Detaylı

DSPIC30F2010 ASSEMBLER PROGRAMI İÇERİSİNDE KONFİGÜRASYON BİTLERİNİ TANIMLAMA

DSPIC30F2010 ASSEMBLER PROGRAMI İÇERİSİNDE KONFİGÜRASYON BİTLERİNİ TANIMLAMA HAZIRLAYAN: Ramazan Muhammet TULAY DSPIC30F2010 ASSEMBLER PROGRAMI İÇERİSİNDE KONFİGÜRASYON BİTLERİNİ TANIMLAMA BU ÇALIŞMA, DSPIC30F2010 VEYA HERHANGİBİR DSPIC MİKRODENETLEYİCİSİNİ ASSEMBLER İLE PROGRAMLARKEN,

Detaylı

EEProm 24C08 UYGULAMA AMAÇ 24C08 MCU_VCC. e r : d e G. Sayfa - 1

EEProm 24C08 UYGULAMA AMAÇ 24C08 MCU_VCC. e r : d e G. Sayfa - 1 V0 DT2 PIC16F877 1KΩ 1KΩ Prom UYGULAMA AMAÇ prom kalıcı hafıza entegresine, PIC16F77 mikrodenetleyicisinin PD0 ve PD1 portları üzerinden bilgi kayıt edip, kayıt edilen bilgiyi Prom dan okuyarak LCD ekranda

Detaylı

DENEY 10-A : PIC 16F877 ile DARBE GENİŞLİK MODÜLASYONU (PWM) SİNYAL KONTROL UYGULAMASI

DENEY 10-A : PIC 16F877 ile DARBE GENİŞLİK MODÜLASYONU (PWM) SİNYAL KONTROL UYGULAMASI DENEY 10-A : PIC 16F877 ile DARBE GENİŞLİK MODÜLASYONU (PWM) SİNYAL KONTROL UYGULAMASI AMAÇ: 1. Mikrodenetleyici kullanarak Darbe Genişlik Modülasyonu (PWM) sinyal üretilmesini öğrenmek 2. EasyPIC7 setinde

Detaylı

Program Kodları. void main() { trisb=0; portb=0; while(1) { portb.b5=1; delay_ms(1000); portb.b5=0; delay_ms(1000); } }

Program Kodları. void main() { trisb=0; portb=0; while(1) { portb.b5=1; delay_ms(1000); portb.b5=0; delay_ms(1000); } } Temrin1: PIC in PORTB çıkışlarından RB5 e bağlı LED i devamlı olarak 2 sn. aralıklarla yakıp söndüren programı yapınız. En başta PORTB yi temizlemeyi unutmayınız. Devre Şeması: İşlem Basamakları 1. Devreyi

Detaylı

DENEY-4. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

DENEY-4. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ DENEY-4 SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ MİKRODENETLEYİCİLERDE ZAMANLAYICI VE SAYICILAR PIC16F877A mikrodenetleyicisinde üç adet zamanlayıcı/sayıcı

Detaylı

VTIY DERS-4 YARDIMCI NOTLARI -2018

VTIY DERS-4 YARDIMCI NOTLARI -2018 VTIY DERS-4 YARDIMCI NOTLARI -2018 Matlab Arduino haberleşmesi için 2. yöntem seri haberleşmedir. İlk yöntemde Arduino üzerinden kod yazmaya gerek yoktu ancak bu yöntemde Arduino IDE üzerinden kod yazmamız

Detaylı

İÇİNDEKİLER 1. KLAVYE... 11 2. KLAVYE RB0... 19 3. KLAVYE RBHIGH... 27 4. 4 DİSPLAY... 31

İÇİNDEKİLER 1. KLAVYE... 11 2. KLAVYE RB0... 19 3. KLAVYE RBHIGH... 27 4. 4 DİSPLAY... 31 İÇİNDEKİLER 1. KLAVYE... 11 Satır ve Sütunlar...11 Devre Şeması...14 Program...15 PIC 16F84 ile 4x4 klavye tasarımını gösterir. PORTA ya bağlı 4 adet LED ile tuş bilgisi gözlenir. Kendiniz Uygulayınız...18

Detaylı

Configuration bitleri ve reset durumları hakkında kavramlar

Configuration bitleri ve reset durumları hakkında kavramlar PİC HAKKINDA KISA KISA BİLGİLER-1 Pic mikrodenetleyicilerinin 8 bit, 16 bit ve 32 bit işlemci çeşitleri vardır. Çoğu uygulamalarımız için 8 bit yeterli olmaktadır. Bu kursta kullanacağımız pic işlemcisi,

Detaylı

PIC TABANLI, 4 BASAMAKLI VE SER

PIC TABANLI, 4 BASAMAKLI VE SER PIC TABANLI, 4 BASAMAKLI VE SERİ BAĞLANTILI 7 SEGMENT LED PROJESİ Prof. Dr. Doğan İbrahim Yakın Doğu Üniversitesi, Mühendislik Fakültesi, Bilgisayar Mühendisliği Bölümü, Lefkoşa E-mail: dogan@neu.edu.tr,

Detaylı

Birol Çapa Özen Özkaya. 2008-2009 Güz Dönemi Eğitimleri

Birol Çapa Özen Özkaya. 2008-2009 Güz Dönemi Eğitimleri Birol Çapa Özen Özkaya 2008-2009 Güz Dönemi Eğitimleri Gömülü sistemlerin bir alt dalı olan mikrokontrolör tabanlı sistemler öncelikle çok geniş kullanım alanına sahiptir. Doğru elektronik donanımlarla

Detaylı

PROJE RAPORU. Proje adı: Pedalmatik 1 Giriş 2 Yöntem 3 Bulgular 6 Sonuç ve tartışma 7 Öneriler 7 Kaynakça 7

PROJE RAPORU. Proje adı: Pedalmatik 1 Giriş 2 Yöntem 3 Bulgular 6 Sonuç ve tartışma 7 Öneriler 7 Kaynakça 7 PROJE RAPORU Proje Adı: Pedalmatik Projemizle manuel vitesli araçlarda gaz, fren ve debriyaj pedallarını kullanması mümkün olmayan engelli bireylerin bu pedalları yönetme kolu (joystick) ile sol el işaret

Detaylı

ADUC841 MİKRODENETLEYİCİ TABANLI GELİŞTİRME KARTININ TANITIMI:

ADUC841 MİKRODENETLEYİCİ TABANLI GELİŞTİRME KARTININ TANITIMI: ADUC841 MİKRODENETLEYİCİ TABANLI GELİŞTİRME KARTININ TANITIMI: Aduc841 geliştirme kartının genel görüntüsü aşağıda verilmiştir; RS232 ANALOG USB ÇIKIŞ ANALOG GİRİŞ POTLAR TEXT LCD EKRAN GÜÇ KAYNAĞI LEDLER

Detaylı

PIC Mikrodenetleyicileri

PIC Mikrodenetleyicileri PIC Mikrodenetleyicileri Intel 1976 da 8031/51 ailesini piyasaya sürdüğünde dünyanın en popüler mikroişlemcisi olmuştu. Bu işlemci dünya üzerinde 12 den fazla firma tarafından (İntel, Phillips, Dallas,

Detaylı

BİLGİSAYAR MİMARİSİ. << Bus Yapısı >> Özer Çelik Matematik-Bilgisayar Bölümü

BİLGİSAYAR MİMARİSİ. << Bus Yapısı >> Özer Çelik Matematik-Bilgisayar Bölümü BİLGİSAYAR MİMARİSİ > Özer Çelik Matematik-Bilgisayar Bölümü Veri yolu (BUS), anakarttaki tüm aygıtlar arası veri iletişimini sağlayan devrelerdir. Yani bilgisayarın bir bileşeninden diğerine

Detaylı

TECO N3 SERİSİ HIZ KONTROL CİHAZLARI

TECO N3 SERİSİ HIZ KONTROL CİHAZLARI 1/55 TECO N3 SERİSİ HIZ 230V 1FAZ 230V 3FAZ 460V 3FAZ 0.4 2.2 KW 0.4 30 KW 0.75 55 KW 2/55 PARÇA NUMARASI TANIMLAMALARI 3/55 TEMEL ÖZELLİKLER 1 FAZ 200-240V MODEL N3-2xx-SC/SCF P5 01 03 Güç (HP) 0.5 1

Detaylı

BÖLÜM 7 Kesmeler.

BÖLÜM 7 Kesmeler. C ile 8051 Mikrodenetleyici Uygulamaları BÖLÜM 7 Kesmeler www.8051turk.com Amaçlar Kesme tanımını ve önemini kavramak 8051 mikrodenetleyicisinin kesme yapısını öğrenmek 8051 de kullanılan kesme türlerini

Detaylı

Mikroişlemci Nedir? Mikrodenetleyici Nedir? Mikroişlemci iç yapısı Ders Giriş. Mikroişlemcili Sistem Uygulamaları

Mikroişlemci Nedir? Mikrodenetleyici Nedir? Mikroişlemci iç yapısı Ders Giriş. Mikroişlemcili Sistem Uygulamaları Mikroişlemcili Sistem Uygulamaları 1. Ders Giriş Dikkat ettiniz mi: Etrafımızdaki akıllı cihazların sayısı ne kadar da arttı. Cep telefonlarımız artık sadece iletişim sağlamakla kalmıyor, müzik çalıyor,

Detaylı

1. Ders Giriş. Mikroişlemcili Sistem Uygulamaları

1. Ders Giriş. Mikroişlemcili Sistem Uygulamaları 1. Ders Giriş Hazırlayan: Arş. Gör. Hakan ÜÇGÜN Mikroişlemcili Sistem Uygulamaları Dikkat ettiniz mi: Etrafımızdaki akıllı cihazların sayısı ne kadar da arttı. Cep telefonlarımız artık sadece iletişim

Detaylı

Analog Sayısal Dönüşüm

Analog Sayısal Dönüşüm Analog Sayısal Dönüşüm Gerilim sinyali formundaki analog bir veriyi, iki tabanındaki sayısal bir veriye dönüştürmek için, az önce anlatılan merdiven devresiyle, bir sayıcı (counter) ve bir karşılaştırıcı

Detaylı

Teknik Katalog [Avometre]

Teknik Katalog [Avometre] Teknik Katalog [Avometre] [PCE-DSO8060] PCE Teknik Cihazlar Paz. Tic. Ltd.Şti. Halkalı Merkez Mah. Pehlivan Sok. No 6/C 34303 Küçükçekmece/ İstanbul Türkiye Mail: info@pce-cihazlari.com.tr Telefon: +90

Detaylı

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır:

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır: C VERİ TÜRLERİ BASİT VERİ TÜRLERİ Değişkenler, program içinde üzerinde işlem yapılan, veri saklanan ve durumlarına göre programın akışı sağlanan nesnelerdir. C de bir değişken kullanılmadan önce tanımlanmalıdır.

Detaylı

Deney No Deney Adı Tarih. 3 Mikrodenetleyici Portlarının Giriş Olarak Kullanılması / /201...

Deney No Deney Adı Tarih. 3 Mikrodenetleyici Portlarının Giriş Olarak Kullanılması / /201... 3.1 AMAÇ: Assembly programlama dili kullanarak mikrodenetleyici portlarını giriş olarak kullanmak. GİRİŞ: Bir portun giriş olarak mı yoksa çıkış olarak mı kullanılacağını belirten TRIS kaydedicileridir.

Detaylı

FPGA İLE UYGULAMA ÖRNEKLERİ

FPGA İLE UYGULAMA ÖRNEKLERİ FPGA ile Display Kontrol ve (0-9999) Sayıcı Uygulaması 1 FPGA ile (Sahada Programlanabilir Mantık Dizeleri) gerçekleştirilen bu örnek uygulamamızda deneme kartımız üzerinde bulunan 8 adet (4x2 display

Detaylı

ARDUINO PROGRAMLAMA. Yrd.Doç.Dr. Bülent ÇOBANOĞLU

ARDUINO PROGRAMLAMA. Yrd.Doç.Dr. Bülent ÇOBANOĞLU ARDUINO PROGRAMLAMA Yrd.Doç.Dr. Bülent ÇOBANOĞLU Arduino Nedir?http://arduino.cc/ Açık kaynaklı fiziksel programlama platformu Programlama dili : Processing / Wiring dili Arduino, açık kaynak kodlu yazılım

Detaylı

BÖLÜM 6 Seri Port Đşlemleri

BÖLÜM 6 Seri Port Đşlemleri C ile 8051 Mikrodenetleyici Uygulamaları BÖLÜM 6 Seri Port Đşlemleri Amaçlar Seri haberleşmenin önemini kavramak 8051 seri port kontrol saklayıcılarını öğrenmek Seri port çalışma modları hakkında bilgi

Detaylı

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı İLERI MIKRODENETLEYICILER Ege Üniversitesi Ege MYO Mekatronik Programı BÖLÜM 3 LCD Gösterge Kullanımı +5 LCD Modülün Bağlantısı 8K2 1K +5 10 P0.5 P0.6 P0.7 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 1 2 3

Detaylı

C-Serisi PLC İleri Seviye Eğitim

C-Serisi PLC İleri Seviye Eğitim C-Serisi PLC İleri Seviye Eğitim 1 PLC ye Giriş 2 PLC ye Giriş 3 PLC ye Giriş CJ1 I/O Modülleri - 8/16/32/64pts Max I/O - 160,640 Max Program Kapasitesi - 20K Steps Komut sayısı - 400 4 PLC Ladder Diyagram

Detaylı

BQ Modbus Analog Giriş Kartı 6 Kanal PT100 - PT1000. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

BQ Modbus Analog Giriş Kartı 6 Kanal PT100 - PT1000. Kullanım Kılavuzu. Doküman Versiyon: BQTEK Modbus Analog Giriş Kartı 6 Kanal PT100 - PT1000 Kullanım Kılavuzu Doküman Versiyon: 1.0 22.04.2016 BQTEK İçindekiler İçindekiler... 2 1. Cihaz Özellikleri... 3 2. Genel Bilgi... 3 1. Genel Görünüm...

Detaylı

KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRONİK VE HABERLEŞME MÜHENDİSLİĞİ Nesneye Yönelik Programlama C++ ile Beaglebone Black de Bluetooth Haberleşmesi Danışman: Yrd. Doç. Dr. Mehmet YAKUT Sinan

Detaylı

C ile Uygulamalar 4 - Cevaplar

C ile Uygulamalar 4 - Cevaplar C ile Uygulamalar 4 - Cevaplar Cevap-1: //Soru 1 #include //Standart kütüphane başlık dosyası. #include //Tarih ve saat fonksiyonlarının yer aldığı başlık dosyası. int dizidensil(int

Detaylı

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler Veri Tanımları ve Mantıksal Đşlemler Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Kullanılacak bütün değişkenlerin kullanılmadan önce C derleyicisine bildirilmeleri gerekir.

Detaylı

BÖLÜM 2 INTERRUPT ve TIMER İŞLEMLERİ

BÖLÜM 2 INTERRUPT ve TIMER İŞLEMLERİ BÖLÜM 2 INTERRUPT ve TIMER İŞLEMLERİ 2.1) Hi-Tech te Interrupt İşlemleri Interrupt ya da diğer adıyla kesme, bir çok işlemin olmazsa olmazlarındandır. Pic16f877 de 15 ten fazla kesme kaynağı bulunur. Kesme

Detaylı

Model BLW-222CFP

Model BLW-222CFP Model BLW-222CFP www.biges.com 444 09 18 Özellikler 3 Fonksiyon İle Geçiş Kontrol (Parmak İzi Tanıma + Proximity Kart Tanıma + Şifre Kontrol) Sayısal Tuş Takımı, Türkçe Seslendirmeli Menü ARM9 İşlemci

Detaylı

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak # PIC enerjilendiğinde PORTB nin 0. biti 1 olacak - LIST=16F84 - PORTB yi temizle - BANK1 e geç - PORTB nin uçlarını çıkış olarak yönlendir - BANK 0 a geç - PORT B nin 0. bitini 1 yap - SON ;pic tanıtması

Detaylı

Keyestudio SHT31 Temperature and Humidity Module / SHT31 Sıcaklık ve Nem Modülü

Keyestudio SHT31 Temperature and Humidity Module / SHT31 Sıcaklık ve Nem Modülü Keyestudio SHT31 Temperature and Humidity Module / SHT31 Sıcaklık ve Nem Modülü Overview / Genel Bakış This module mainly uses the SHT31 temperature and humidity sensor, which belongs to the SHT3X series

Detaylı

Ad Soyad: Öğrenci No:

Ad Soyad: Öğrenci No: ADUC841 sayma değeri P3.4 (T0) osc E TH0 TL0 MOD Seçimi Taşma (overflow) TMOD 1. Giriş kaynağı kontrol GATE0 C/T0 M1 M0 3. Yenileme modu P3.2 (INT0) 2. Çalışma kontrol TCON TF0 TR0 Zamanlayıcı/Sayıcı-0

Detaylı

MP211 DONANIM KILAVUZU

MP211 DONANIM KILAVUZU MP211 DONANIM KILAVUZU MP211 PLC Serisi 06 / 2017 MIKRODEV_HM_MP211 İÇİNDEKİLER ŞEKİL LİSTESİ... 2 Önsöz... 3 Mikrodev i Tanıyalım... 4 UYARI!... 5 1 MP211 GENEL BİLGİLER... 6 1.1 FİZİKSEL ARAYÜZLER...

Detaylı

Radyo Frekans Ayarları Klavuzu - ( )

Radyo Frekans Ayarları Klavuzu - ( ) Hi-Target V30, V60 ve V90 PLUS modellerinde dahili radyo modem (modül) cihazı mevcuttur. 1 watt ve 2 watt yayın gücüne sahip olan bu modüller, PasificCrest veya Satel marka olabilmektedir. Doğru bir radyo

Detaylı

Mikroişlemciler ve Programlama Dersi- ARDUINO. Sensörler ve Analog-Digital Çeviriciler İle Çalışma

Mikroişlemciler ve Programlama Dersi- ARDUINO. Sensörler ve Analog-Digital Çeviriciler İle Çalışma Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörler ve Analog-Digital Çeviriciler İle Çalışma Uygulama-5 LM35 Sensör İle Sıcaklık Ölçümü Kullanılacak Bileşenler 3 1. Adım LM35 Sensörün Arduino İle

Detaylı

IOT UYGULAMALARINA GİRİŞ

IOT UYGULAMALARINA GİRİŞ Bölüm 6 IOT UYGULAMALARINA GİRİŞ Devre geliştirme kartları, üzerlerinde bulunan portlar yardımıyla, elektronik sistemlerle analog ve dijital değerleri okuyarak ya da değer göndererek haberleşir ve bu cihazları

Detaylı

2 Kablolu Villa Zil Paneli (Kart Okuyuculu)

2 Kablolu Villa Zil Paneli (Kart Okuyuculu) 2 Kablolu Villa Zil Paneli (Kart Okuyuculu) 2K-61 Kullanım Kılavuzu RF CARD 2K-61 Villa Zil Paneli 1.Bölümler ve Fonksiyonları Balık Gözü Kamera Hoparlör Gece Görüş Ledi RF CARD Kart Okutma Penceresi 182

Detaylı

KOMUT TABLOSU İLE İLGİLİ AÇIKLAMALAR:

KOMUT TABLOSU İLE İLGİLİ AÇIKLAMALAR: KOMUT TABLOSU İLE İLGİLİ AÇIKLAMALAR: 1) Etkilenen Bayraklar (E.B.) : Bazı komutlar koşturulurken PSW saklayacısındaki bayrakların değeri değişebilir. Herbir komut için etkilenen bayraklar belirtilmiştir.

Detaylı

web-sitesi : satış : teknik destek : tel : IM-SMO20 Ultrasonik Mesafe Sensörü Özellikler

web-sitesi : satış : teknik destek : tel : IM-SMO20 Ultrasonik Mesafe Sensörü Özellikler web-sitesi : www.inovasyonmuhendislik.com www.evarobot.com satış : satis@inovasyonmuhendislik.com teknik destek : destek@inovasyonmuhendislik.com tel : +90 222 2290710 IM-SMO20 ultrasonik mesafe sensörü

Detaylı

FRENIC MEGA ÖZET KULLANIM KLAVUZU

FRENIC MEGA ÖZET KULLANIM KLAVUZU FRENIC MEGA ÖZET KULLANIM KLAVUZU GENEL BİLGİLER SÜRÜCÜ KONTROL BAĞLANTILARI PLC 24 VDC CM DİJİTAL GİRİŞ COM UCU FWD REV DİJİTAL GİRİŞLER ( PNP / NPN SEÇİLEBİLİR ) SW1 X1 - X7 EN ENABLE GİRİŞİ Y1 - Y4

Detaylı