SysTick Kesmesi. Suhap SAHIN {\} /\

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

Download "SysTick Kesmesi. Suhap SAHIN {\} /\"

Transkript

1 SysTick Kesmesi Suhap SAHIN {\ /\

2 Mesgul Bekleme islem_1 islem_2 islem_3 islem_4 islem_5

3 Seven Segment Buton Led

4 Seven Segment Buton Led Cortex M4 8 32k RAM GPIO Port B GPIO Port A 8 Eight UARTs Four I2Cs Four SSIs CAN 2. GPIO Port D GPIO Port C 4 Twelve Timers Six 64-bit wide USB 2. 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

5 Seven Segment Buton Led Cortex M4 8 32k RAM GPIO Port B GPIO Port A 8 Eight UARTs Four I2Cs Four SSIs CAN 2. GPIO Port D GPIO Port C 4 Twelve Timers Six 64-bit wide USB 2. 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

6 Tiva & Stellaris Port Baglantıları

7 Tiva & Stellaris Port Baglantıları

8 Seven Segment Tablosu uint8_t kodlar[1] = { ~b111111, ~b11, ~b11111, ~b11111, ~b1111, ~b11111, ~b111111, ~b111, ~b , ~b ; b b 1 1 b b b b b b b b

9 Seven Segment Seçimi Ortak Katot g f e d Ortak Anod 1 Gnd a b Gnd c dp 1 g f Vcc e d Vcc a b c dp

10 Seven Segment Buton Led g b f Vcc a e dp d Vcc c

11 Tiva & Stellaris Port Baglantıları

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

13 Port B Kurulumu void init_port_b() { volatile unsigned long delay; SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOB; delay = SYSCTL_RCGC2_R; GPIO_PORTB_DIR_R = xff; GPIO_PORTB_AFSEL_R &= ~xff; GPIO_PORTB_DEN_R = xff; // Port B nin saati aktifleştir // Gecikme // Port B nin tüm bitleri cikis olarak ayarla // Alternatif fonksiyonlar kapat // Tüm Port B için Digital çalışmayı aktifleştir

14 Mesgul Bekleme volatile int sayi = ; //Seven segment sayacı void islem_1() { volatile unsigned long delay; uint8_t kodlar[] = { b111111, b11, b11111, b11111, b1111, b11111, b111111, b111, b , b ; GPIO_PORTB_DATA_R = kodlar[sayi]; for (delay = ; delay < 2 ; delay++); sayi = (sayi + 1) % 1;

15 Mesgul Bekleme volatile int sayi = ; //Seven segment sayacı void islem_1() { volatile unsigned long delay; uint8_t kodlar[] = { b111111, b11, b11111, b11111, b1111, b11111, b111111, b111, b , b ; GPIO_PORTB_DATA_R = kodlar[sayi]; for (delay = ; delay < 2 ; delay++); sayi = (sayi + 1) % 1;

16 Mesgul Bekleme volatile int sayi = ; //Seven segment sayacı void islem_1() { volatile unsigned long delay; uint8_t kodlar[] = { b111111, b11, b11111, b11111, b1111, b11111, b111111, b111, b , b ; GPIO_PORTB_DATA_R = kodlar[sayi]; for (delay = ; delay < 2 ; delay++); sayi = (sayi + 1) % 1;

17 Mesgul Bekleme volatile int sayi = ; //Seven segment sayacı void islem_1() { volatile unsigned long delay; uint8_t kodlar[] = { b111111, b11, b11111, b11111, b1111, b11111, b111111, b111, b , b ; GPIO_PORTB_DATA_R = kodlar[sayi]; for (delay = ; delay < 2 ; delay++); sayi = (sayi + 1) % 1;

18 Mesgul Bekleme volatile int sayi = ; //Seven segment sayacı void islem_1() { volatile unsigned long delay; uint8_t kodlar[] = { b111111, b11, b11111, b11111, b1111, b11111, b111111, b111, b , b ; GPIO_PORTB_DATA_R = kodlar[sayi]; for (delay = ; delay < 2 ; delay++); sayi = (sayi + 1) % 1;

19 Mesgul Bekleme // button basiliysa ledi yak, degilse sondur void islem_2() { if (GPIO_PORTF_DATA_R & b1 == ) { GPIO_PORTF_DATA_R = b1; else { GPIO_PORTF_DATA_R &= ~b1;

20 Mesgul Bekleme // button basiliysa ledi yak, degilse sondur void islem_2() { if (GPIO_PORTF_DATA_R & b1 == ) { GPIO_PORTF_DATA_R = b1; else { GPIO_PORTF_DATA_R &= ~b1;

21 Mesgul Bekleme // button basiliysa ledi yak, degilse sondur void islem_2() { if (GPIO_PORTF_DATA_R & b1 == ) { GPIO_PORTF_DATA_R = b1; else { GPIO_PORTF_DATA_R &= ~b1;

22 Mesgul Bekleme // button basiliysa ledi yak, degilse sondur void islem_2() { if (GPIO_PORTF_DATA_R & b1 == ) { GPIO_PORTF_DATA_R = b1; else { GPIO_PORTF_DATA_R &= ~b1;

23 Mesgul Bekleme int main() { init_port_b(); init_port_f(); // surekli islem_1 ve islem_2'yi yap while (1) { islem_1(); islem_2();

24 Mesgul Bekleme int main() { init_port_b(); init_port_f(); // surekli islem_1 ve islem_2'yi yap while (1) { islem_1(); islem_2();

25 Mesgul Bekleme int main() { init_port_b(); init_port_f(); // surekli islem_1 ve islem_2'yi yap while (1) { islem_1(); islem_2();

26 Mesgul Bekleme int main() { init_port_b(); init_port_f(); // surekli islem_1 ve islem_2'yi yap while (1) { islem_1(); islem_2();

27 Kesme

28 Es Zamanlı islem yapma islem_2 islem_1 islem_3

29 Senkronizasyon clrscr(); 1us 1us

30 Kesme Meşgu B l e Dur 1 Dur Kes 2 Gir ş / Çıkış Ver Gir ş / Çıkış Ver Gir ş / Çıkış Ver Gir ş / Çıkış Ver Kes Kes şle d dön e ma 3 Meşgu Diğer işle r Dur Kes 2 Gir ş / Çıkış Ver Hazır Meşgu Dur 3 Hazır Meşgu Dur Dur Kes 1 Hazır Gir ş / Çıkış Ver Set Dig işle r şle d dön e Kes şle d dön e

31 Kesme Kesme: Donanım tarafından tetiklenen yazılım islemi 1. harici bir G /Ç aygıtı (UART v.b.) 2. dahili bir olay (veriyolu hatası, periyodik zamanlayıcı v.b.) Trigger: Kesmeyi gerçekleyen donanım olayı Trigger Flag: Kesme bayragı

32 Thread Ch o Cod ::Blo s Use Ker C U C U C U C U

33 Process re t sak re t sak fi da co Ch o fi da co Ch o re t sak re t sak

34 Process fi da co Ch o ISR : Arkaplan is-parçacıgı(background thread) re t sak re t sak re t sak Her kesme istegi için yeni bir thread olusturulur ISR, kesme isleminden döndügünde thread öldürülür.

35 Interrupt Service Rutine ISR 1-) Tetikleyici temizlenmeli 2-) Yeterince kısa olmalı 3-) delay loop gibi döngüler içermemeli 4-) Kesmeler arasındaki süreler dikkate alınmalı kesme1 Δt IS kesme2 kesme3 IS kesme4 IS

36 Kesme Kurulumu Arm device (Cihaza özel bit) EnableInterrupts (), DisableInterrupts () Enable Nested Vector Interrupt Controller Hangi ISR çalısacak? I (global interrupt enable) = (keme var); 1(kesme yok) kesme maskesi biti (PRIMASK saklayıcısı. bit) Priority (BASEPRI saklayıcısı) Düsük öncelikli kesmeler önlenir, yüksek öncelikli kesmeler çalıstırılır. BASEPRI= 3; öncelik seviyesi, 1 ve 2 olan kesmeler çalıstırılır ancak öncelik sevyesi 3 ve daha yüksek düzeylerdeki kesmeler ertelenir. BASEPRI=; öncelik özelligi devre dısı bırakılır ve tüm kesmelere izin verilir. Trigger SysTick tarafından periyodik olarak ayarlanan NVIC_ST_CTRL_R saklayıcısındaki count biti. Dijital giris pinlerinin yükselen veya düsen kenarlarının ayarladıgı GPIO_PORTF_RIS_R saklayıcısı Trigger Enable Flag RIS Raw Interrupt Status N I de M de

37 Kesme Kurulumu Arm device EnableInterrupts (), DisableInterrupts () Enable NVIC Özel bir ISR çalısacak I (global interrupt enable) kesme maskesi biti (PRIMASK. bit) = 1(kesme yok) Priority (BASEPRI saklayıcısı) ir. n e l Düsük öncelikli kesmeler önlenir, yüksek öncelikli kesmeler çalıstırılır. e rt me e sevyesi 3 ve daha BASEPRI= 3; öncelik seviyesi, 1 ve 2 olan kesmeler çalıstırılır ancakkeöncelik s adar yüksek düzeylerdeki kesmeler ertelenir. k a ılan apkesmelere BASEPRI=; öncelik özelligi devre dısı bırakılır vetüm izin verilir. y = ) Trigger. bit K SysTick tarafından periyodik olarak esi NVIC_ST_CTRL_R saklayıcısındaki count biti. IMASayarlanan R m P s ( e k Dijital giris pinlerinin syükselen i biti veya odikdüsen kenarlarının ayarladıgı GPIO_PORTF_RIS_R saklayıcısı aske k periy m e ic kesm A: SysT N ISTIS

38 Context Switch 2 IS Vec Tab Ma n Pro m Flo 1 In e r In e r Ser Ro t e (IS ) 3

39 Context Switch 1-) Finish instruction P Id R,[R1] s R,[R2] 2-) Suspend R, R1, R2, R3, R12, R14(LR), R14(PC) R15, PSR 3-) LR = xfffffff9 I am running in ISR foreground thread background thread lower priority ISR higher priority ISR SP R R1 Return BACK B R PC Link resister pop the stack R2 R3 R12 L 4-) IPSR interrup number 5-) PC load the adress of ISR(Vector) P SP P

40 Thread Senkronizasyonu background thread co Gir ş / Çıkış Ver re t Dig işle r sak Kes şle d dön e Global Memory flag mail box da sa s buffer FIFO fi Ch o Kes 1 ma da main thread re t sak re t sak

41 ikili semafor flag Kesme olayı IS ma Wor fa 1 Kes O yı fa = fa = 1

42 mail box flag Kesme olayı IS ma Glo Wor fa Ver fa 1 Kes O yı fa = Gir ş / Çıkış Ver fa = 1

43 FIFO (First In First Out) sıralı akıs IS ma Glo FI Gir ş / Çıkış Ver Get Put Ver em

44 Peryodik Kesmeler Analog bir sinyal, saniyede 1 defa örneklemek istensin, Her 1 ms'de bir kesme isteginde bulunmak için dahili zamanlayıcı donanımını kurulur. Kesme hizmeti rutini ADC'yi örnekleyecek, verileri isleyecek (veya kaydedecek) ve daha sonra ana thread e geri dönecektir.

45 Systick Kesmesi Systick ISR ISR Systick Systick ISR ISR Systick

46 Systick Kesmesi Per Meşgu B l e Dur 1 Hazır Meşgu Dur 2 3 Meşgu Diğer işle r Dur Hazır 1 Meşgu Gir ş / Çıkış Ver Hazır Dur Meşgu Dur ik K Hazır 2 Gir ş / Çıkış Ver Gir ş / Çıkış Ver 1 Meşgu Gir ş / Çıkış Ver 1 Hazır Dur Gir ş / Çıkış Ver Hazır 3 Meşgu Gir ş / Çıkış Ver 3

47 Nested Vector Interrup Controller (NVIC) EXPORT Vectors Vectors DCD DCD DCD DCD DCD DCD DCD DCD StackMem + Stack Reset_Handler NMI_Handler HardFault_Handler ; address ISR ; x Top of Stack ; x4 Reset Handler ; x8 NMI Handler ; xc Hard Fault Handler PendSV_Handler SysTick_Handler ; x38 PendSV Handler ; x3c SysTick Handler FlashCtl_Handler GPIOPortF_Handler ; xb4 Flash Control ; xb8 GPIO Port F 32-bitlik bir sabiti tanımlayan bir assembler sözde-op'dır. Interrupt Service Rutine (ISR) Kesme fonksiyonuna ait bellek konumunu isaret eden 32 bitlik vektör

48 ISR Interrup Service Rutine void GPIOPortF_Handler(void){ GPIO_PORTF_ICR_R = x1;

49 Tiva & Stellaris Port Baglantıları

50 Nested Vector Interrup Controller (NVIC)

51 Interrupt Service Rutine ISR

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

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

54 SysTick Kesmesi ISR /** systick_handler() fonksiyonu her systick kesmesi olduğunda çalışacak. */ void systick_handler() { // ledin durumunu ters cevir GPIO_PORTF_DATA_R ^= b1;

55 SysTick Kesmesi Kurulumu SysTick'i kapatmak için ENABLE bitini temizlenir Address Name $EE1 COUNT CLK_SRC INTEN ENABLE NVIC_ST_CTRL_R $EE14 24-bit RELOAD value NVIC_ST_RELOAD_R $EE18 24-bit CURRENT value of SysTick counter NVIC_ST_CURRENT_R

56 SysTick Kesmesi Kurulumu /** 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 = ; // SysTick'i kapatmak için ENABLE bitini temizlenir NVIC_ST_RELOAD_R = period-1; // RELOAD saklayıcısı ayarlanır NVIC_ST_CURRENT_R = ; // Sayacı silmek için NVIC_ST_CURRENT_R'ye herhangi bir // değer yazılır NVIC_SYS_PRI3_R = (NVIC_SYS_PRI3_R&xFFFFFF) x4; // NVIC_SYS_PRI3_R kaydında TICK alanını kullanarak SysTick kesmelerinin önceliğini oluşturulur NVIC_ST_CTRL_R = x7; // NVIC_ST_CTRL_R kontrol saklayıcısına istenen modu yazılır

57 SysTick Kesmesi Kurulumu RELOAD saklayıcısı ayarlanır Address Name $EE1 COUNT CLK_SRC INTEN ENABLE NVIC_ST_CTRL_R $EE14 24-bit RELOAD value NVIC_ST_RELOAD_R $EE18 24-bit CURRENT value of SysTick counter NVIC_ST_CURRENT_R

58 SysTick Kesmesi Kurulumu /** 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 = ; // SysTick'i kapatmak için ENABLE bitini temizlenir NVIC_ST_RELOAD_R = period-1; // RELOAD saklayıcısı ayarlanır NVIC_ST_CURRENT_R = ; // Sayacı silmek için NVIC_ST_CURRENT_R'ye herhangi bir // değer yazılır NVIC_SYS_PRI3_R = (NVIC_SYS_PRI3_R&xFFFFFF) x4; // NVIC_SYS_PRI3_R kaydında TICK alanını kullanarak SysTick kesmelerinin önceliğini oluşturulur NVIC_ST_CTRL_R = x7; // NVIC_ST_CTRL_R kontrol saklayıcısına istenen modu yazılır

59 SysTick Kesmesi Kurulumu Sayacı silmek için NVIC_ST_CURRENT_R'ye herhangi bir deger yazılır Address Name $EE1 COUNT CLK_SRC INTEN ENABLE NVIC_ST_CTRL_R $EE14 24-bit RELOAD value NVIC_ST_RELOAD_R $EE18 24-bit CURRENT value of SysTick counter NVIC_ST_CURRENT_R

60 SysTick Kesmesi Kurulumu /** 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 = ; // SysTick'i kapatmak için ENABLE bitini temizlenir NVIC_ST_RELOAD_R = period-1; // RELOAD saklayıcısı ayarlanır NVIC_ST_CURRENT_R = ; // Sayacı silmek için NVIC_ST_CURRENT_R'ye herhangi bir // değer yazılır NVIC_SYS_PRI3_R = (NVIC_SYS_PRI3_R&xFFFFFF) x4; // NVIC_SYS_PRI3_R kaydında TICK alanını kullanarak SysTick kesmelerinin önceliğini oluşturulur NVIC_ST_CTRL_R = x7; // NVIC_ST_CTRL_R kontrol saklayıcısına istenen modu yazılır

61 SysTick Kesmesi Kurulumu NVIC_SYS_PRI3_R kaydında TICK alanını kullanarak SysTick kesmelerinin önceligini olusturulur Address Name $EED2 TICK PENDSV DEBUG NVIC_SYS_PRI3_R

62 SysTick Kesmesi Kurulumu /** 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 = ; // SysTick'i kapatmak için ENABLE bitini temizlenir NVIC_ST_RELOAD_R = period-1; // RELOAD saklayıcısı ayarlanır NVIC_ST_CURRENT_R = ; // Sayacı silmek için NVIC_ST_CURRENT_R'ye herhangi bir // değer yazılır NVIC_SYS_PRI3_R = (NVIC_SYS_PRI3_R&xFFFFFF) x4; // NVIC_SYS_PRI3_R kaydında TICK alanını kullanarak SysTick kesmelerinin önceliğini oluşturulur NVIC_ST_CTRL_R = x7; // NVIC_ST_CTRL_R kontrol saklayıcısına istenen modu yazılır

63 SysTick Kesmesi Kurulumu NVIC_ST_CTRL_R kontrol saklayıcısına istenen modu yazılır Address Name $EE1 COUNT CLK_SRC INTEN ENABLE NVIC_ST_CTRL_R $EE14 24-bit RELOAD value NVIC_ST_RELOAD_R $EE18 24-bit CURRENT value of SysTick counter NVIC_ST_CURRENT_R

64 SysTick Kesmesi Kurulumu CLK_SRC = 1 olması gerekir, CLK_SRC = harici saat modu LM3S / TM4C ailesi yoktur Address Name $EE1 COUNT CLK_SRC INTEN ENABLE NVIC_ST_CTRL_R $EE14 24-bit RELOAD value NVIC_ST_RELOAD_R $EE18 24-bit CURRENT value of SysTick counter NVIC_ST_CURRENT_R

65 SysTick Kesmesi Kurulumu Kesmeleri etkinlestirmek için INTEN'ı ayarlanır Address Name $EE1 COUNT CLK_SRC INTEN ENABLE NVIC_ST_CTRL_R $EE14 24-bit RELOAD value NVIC_ST_RELOAD_R $EE18 24-bit CURRENT value of SysTick counter NVIC_ST_CURRENT_R

66 SysTick Kesmesi Kurulumu Sistemin çalısması için ENABLE biti ayarlanmalı Address Name $EE1 COUNT CLK_SRC INTEN ENABLE NVIC_ST_CTRL_R $EE14 24-bit RELOAD value NVIC_ST_RELOAD_R $EE18 24-bit CURRENT value of SysTick counter NVIC_ST_CURRENT_R

67 SysTick Kesmesi Kurulumu /** 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 = ; // SysTick'i kapatmak için ENABLE bitini temizlenir NVIC_ST_RELOAD_R = period-1; // RELOAD saklayıcısı ayarlanır NVIC_ST_CURRENT_R = ; // Sayacı silmek için NVIC_ST_CURRENT_R'ye herhangi bir // değer yazılır NVIC_SYS_PRI3_R = (NVIC_SYS_PRI3_R&xFFFFFF) x4; // NVIC_SYS_PRI3_R kaydında TICK alanını kullanarak SysTick kesmelerinin önceliğini oluşturulur NVIC_ST_CTRL_R = x7; // NVIC_ST_CTRL_R kontrol saklayıcısına istenen modu yazılır

68 SysTick Kesmesi Kurulumu SysTick, saat frekansında azalma saglayan 24 bitlik bir sayacı vardır. Address Name $EE1 COUNT CLK_SRC INTEN ENABLE NVIC_ST_CTRL_R $EE14 24-bit RELOAD value NVIC_ST_RELOAD_R $EE18 24-bit CURRENT value of SysTick counter NVIC_ST_CURRENT_R

69 SysTick Kesmesi Kurulumu CURRENT degeri 1'den 'a iner, COUNT bayragı set olur. Bir sonraki saatte CURRENT RELOAD degeri ile yüklenir. Bu sekilde, SysTick sayacı (CURRENT) sürekli olarak azalmaktadır. RELOAD degeri n ise, SysTick sayacı modulo n + 1 ile çalısır. COUNT bayragı her n + 1 sayıda ayarlanacaktır. Address Name $EE1 COUNT CLK_SRC INTEN ENABLE NVIC_ST_CTRL_R $EE14 24-bit RELOAD value NVIC_ST_RELOAD_R $EE18 24-bit CURRENT value of SysTick counter NVIC_ST_CURRENT_R

70 SysTick Kesmesi int main() { init_port_f(); SysTick_Init(16); // 16 clockta bir kesme uret // islemcinin frekansi 16Mhz = 16 // 16/16 =.1 saniyede bir kesme uretir enable_interrupts(); while (1) { wait_for_interrupt();

71 SysTick Kesmesi 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");

72 Tiva & Stellaris Port Baglantıları

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

74 PortB Kurulumu void init_port_b() { volatile unsigned long delay; SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOB; delay = SYSCTL_RCGC2_R; GPIO_PORTB_DIR_R = xff; GPIO_PORTB_AFSEL_R &= ~xff; GPIO_PORTB_DEN_R = xff;

75 Seven Segment Tablosu uint8_t kodlar[] = { b111111, b11, b11111, b11111, b1111, b11111, b111111, b111, b , b ;

76 SysTick Kesmesi ve 7 Segment volatile int sayi = ; void systick_handler() { // systick kesmesi oldugunda bu fonksiyon calisacak sayi = (sayi + 1) % 1; GPIO_PORTB_DATA_R = kodlar[sayi];

77 SysTick Kesmesi ve 7 Segment volatile int sayi = ; void systick_handler() { // systick kesmesi oldugunda bu fonksiyon calisacak sayi = (sayi + 1) % 1; GPIO_PORTB_DATA_R = kodlar[sayi];

78 SysTick Kurulumu /** 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 = ; // SysTick'i kapatmak için ENABLE bitini temizlenir NVIC_ST_RELOAD_R = period-1; // RELOAD saklayıcısı ayarlanır NVIC_ST_CURRENT_R = ; // Sayacı silmek için NVIC_ST_CURRENT_R'ye herhangi bir // değer yazılır NVIC_SYS_PRI3_R = (NVIC_SYS_PRI3_R&xFFFFFF) x4; // NVIC_SYS_PRI3_R kaydında TICK alanını kullanarak SysTick kesmelerinin önceliğini oluşturulur NVIC_ST_CTRL_R = x7; // NVIC_ST_CTRL_R kontrol saklayıcısına istenen modu yazılır

79 SysTick Kurulumu /** 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 = ; // SysTick'i kapatmak için ENABLE bitini temizlenir NVIC_ST_RELOAD_R = period-1; // RELOAD saklayıcısı ayarlanır NVIC_ST_CURRENT_R = ; // Sayacı silmek için NVIC_ST_CURRENT_R'ye herhangi bir // değer yazılır NVIC_SYS_PRI3_R = (NVIC_SYS_PRI3_R&xFFFFFF) x4; // NVIC_SYS_PRI3_R kaydında TICK alanını kullanarak SysTick kesmelerinin önceliğini oluşturulur NVIC_ST_CTRL_R = x7; // NVIC_ST_CTRL_R kontrol saklayıcısına istenen modu yazılır

80 SysTick Kurulumu /** 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 = ; // SysTick'i kapatmak için ENABLE bitini temizlenir NVIC_ST_RELOAD_R = period-1; // RELOAD saklayıcısı ayarlanır NVIC_ST_CURRENT_R = ; // Sayacı silmek için NVIC_ST_CURRENT_R'ye herhangi bir // değer yazılır NVIC_SYS_PRI3_R = (NVIC_SYS_PRI3_R&xFFFFFF) x4; // NVIC_SYS_PRI3_R kaydında TICK alanını kullanarak SysTick kesmelerinin önceliğini oluşturulur NVIC_ST_CTRL_R = x7; // NVIC_ST_CTRL_R kontrol saklayıcısına istenen modu yazılır

81 SysTick Kurulumu /** 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 = ; // SysTick'i kapatmak için ENABLE bitini temizlenir NVIC_ST_RELOAD_R = period-1; // RELOAD saklayıcısı ayarlanır NVIC_ST_CURRENT_R = ; // Sayacı silmek için NVIC_ST_CURRENT_R'ye herhangi bir // değer yazılır NVIC_SYS_PRI3_R = (NVIC_SYS_PRI3_R&xFFFFFF) x4; // NVIC_SYS_PRI3_R kaydında TICK alanını kullanarak SysTick kesmelerinin önceliğini oluşturulur NVIC_ST_CTRL_R = x7; // NVIC_ST_CTRL_R kontrol saklayıcısına istenen modu yazılır

82 SysTick Kurulumu /** 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 = ; // SysTick'i kapatmak için ENABLE bitini temizlenir NVIC_ST_RELOAD_R = period-1; // RELOAD saklayıcısı ayarlanır NVIC_ST_CURRENT_R = ; // Sayacı silmek için NVIC_ST_CURRENT_R'ye herhangi bir // değer yazılır NVIC_SYS_PRI3_R = (NVIC_SYS_PRI3_R&xFFFFFF) x4; // NVIC_SYS_PRI3_R kaydında TICK alanını kullanarak SysTick kesmelerinin önceliğini oluşturulur NVIC_ST_CTRL_R = x7; // NVIC_ST_CTRL_R kontrol saklayıcısına istenen modu yazılır

83 SysTick Kurulumu /** 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 = ; // SysTick'i kapatmak için ENABLE bitini temizlenir NVIC_ST_RELOAD_R = period-1; // RELOAD saklayıcısı ayarlanır NVIC_ST_CURRENT_R = ; // Sayacı silmek için NVIC_ST_CURRENT_R'ye herhangi bir // değer yazılır NVIC_SYS_PRI3_R = (NVIC_SYS_PRI3_R&xFFFFFF) x4; // NVIC_SYS_PRI3_R kaydında TICK alanını kullanarak SysTick kesmelerinin önceliğini oluşturulur NVIC_ST_CTRL_R = x7; // NVIC_ST_CTRL_R kontrol saklayıcısına istenen modu yazılır

84 SysTick Kesmesi 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");

85 SysTick ve Led Yak/Söndür // button basiliysa ledi yak, degilse sondur void islem_2() { if (GPIO_PORTF_DATA_R & b1 == ) { GPIO_PORTF_DATA_R = b1; else { GPIO_PORTF_DATA_R &= ~b1;

86 SysTick ve Led Yak/Söndür int main() { init_port_b(); init_port_f(); //.1 saniyede bir kesme uretir SysTick_Init(16); // 16 clockta bir kesme uret enable_interrupts(); while (1) { islem_2();

87 SysTick ve Led Yak/Söndür int main() { init_port_b(); init_port_f(); //.1 saniyede bir kesme uretir SysTick_Init(16); // 16 clockta bir kesme uret enable_interrupts(); while (1) { islem_2();

88 SysTick ve Led Yak/Söndür int main() { init_port_b(); init_port_f(); //.1 saniyede bir kesme uretir SysTick_Init(16); // 16 clockta bir kesme uret enable_interrupts(); while (1) { islem_2();

89 SysTick ve Led Yak/Söndür int main() { init_port_b(); init_port_f(); //.1 saniyede bir kesme uretir SysTick_Init(16); // 16 clockta bir kesme uret enable_interrupts(); while (1) { islem_2();

90 Sorular

Timer. Suhap SAHIN {\} /\

Timer. Suhap SAHIN {\} /\ Timer Suhap SAHIN 0 {\ /\ clock clock 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

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

İ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ı

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ı

İÇİ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ı

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ı

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ı

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ı

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ı

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ı

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ı

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-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ı

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ı

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ı

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ı

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ı

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 Processor organization Register organization Instruction cycle 2 Processor organization İşlemci

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ı

İ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ı

7. Port Programlama. mikroc Dili ile Mikrodenetleyici Programlama Ders Notları -42- Şekil 2.1. Atmega16 mikrodenetleyici pin şeması

7. Port Programlama. mikroc Dili ile Mikrodenetleyici Programlama Ders Notları -42- Şekil 2.1. Atmega16 mikrodenetleyici pin şeması 7. Port Programlama Şekil 2.1. Atmega16 mikrodenetleyici pin şeması A, B, C ve D portları için Register yapıları benzer şekildedir. -42- 7.1. Port Yönlendirme Mikrodenetleyicinin A, B, C, D ve varsa diğer

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ı

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar x86 Ailesi 1 8085A,8088 ve 8086 2 Temel Mikroişlemci Özellikleri Mikroişlemcinin bir defade işleyebileceği kelime uzunluğu Mikroişlemcinin tek bir komutu işleme hızı Mikroişlemcinin doğrudan adresleyebileceği

Detaylı

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir: 8051 Ailesi 8051 MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur. 8051 çekirdeğinin temel özellikkleri aşağıda verilmiştir: 1. Kontrol uygulamaları için en uygun hale getirilmiş

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ı

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ı

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUARI MİKROİŞLEMCİLİ A/D DÖNÜŞTÜRÜCÜ

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUARI MİKROİŞLEMCİLİ A/D DÖNÜŞTÜRÜCÜ İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUARI MİKROİŞLEMCİLİ A/D DÖNÜŞTÜRÜCÜ 1. Giriş Analog işaretler analog donanım kullanılarak işlenebilir. Ama analog

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ı

# 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ı

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ı

İÇİ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ı

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ı

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ı

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ı

MC6800. Veri yolu D3 A11. Adres yolu A7 A6 NMI HALT DBE +5V 1 2. adres onaltılık onluk 0000 0. 8 bit 07FF 2047 0800 2048. kullanıcının program alanı

MC6800. Veri yolu D3 A11. Adres yolu A7 A6 NMI HALT DBE +5V 1 2. adres onaltılık onluk 0000 0. 8 bit 07FF 2047 0800 2048. kullanıcının program alanı GİRİŞ Günümüzde kullanılan bilgisayarların özelliklerinden bahsedilirken duyduğumuz 80386, 80486 Pentium-III birer mikroişlemcidir. Mikroişlemciler bilgisayar programlarının yapmak istediği tüm işlerin

Detaylı

ĐŞARET ĐŞLEME (SIGNAL PROCESSING)

ĐŞARET ĐŞLEME (SIGNAL PROCESSING) ĐŞARET ĐŞLEME (SIGNAL PROCESSING) Modern ölçme sistemlerinde Đşaret Đşleme bloğunun yerini çoğunlukla bir PC almıştır. Söz konusu bloğun en önemli fonksiyonu, ölçülen fiziksel büyüklük elektriksel işarete

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ı

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ı

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ı

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ı

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı MIKRODENETLEYICILER Ege Üniversitesi Ege MYO Mekatronik Programı BÖLÜM 7 Kesmeler Kesme (Interrupt) Donanım işareti ile mikroişlemcinin program akışını değiştirme işlemine kesme denir. Kullanım amacı;

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ı

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ı

BÖLÜM 2 8051 Mikrodenetleyicisine Giriş

BÖLÜM 2 8051 Mikrodenetleyicisine Giriş C ile 8051 Mikrodenetleyici Uygulamaları BÖLÜM 2 8051 Mikrodenetleyicisine Giriş Amaçlar 8051 mikrodenetleyicisinin tarihi gelişimini açıklamak 8051 mikrodenetleyicisinin mimari yapısını kavramak 8051

Detaylı

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir: 8051 Ailesi 8051 MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur. 8051 çekirdeğinin temel özellikkleri aşağıda verilmiştir: 1. Kontrol uygulamaları için en uygun hale getirilmiş

Detaylı

Mifare Kart Yazıcı/Okuyucu Modül (MFM-200)

Mifare Kart Yazıcı/Okuyucu Modül (MFM-200) 2012 Mifare Kart Yazıcı/Okuyucu Modül (MFM-200) İstanbul Yazılım ve Elektronik Teknolojileri 01.01.2012 MFM-200 Mifare Kart Yazıcı/Okuyucu Modül Genel Özellikler Ürün Kodu MFM-200 Protokol ISO14443A, ISO15693

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ı

Paralel ve Seri İletişim. Asenkron/Senkron İletişim. Şekil 2: İletişim Modları

Paralel ve Seri İletişim. Asenkron/Senkron İletişim. Şekil 2: İletişim Modları Paralel ve Seri İletişim Şekil1a: Paralel İletişim Şekil1b. Seri iletişim Şekil 2: İletişim Modları Asenkron/Senkron İletişim PROTEUS/ISIS SANAL SERİ PORT ile C# USART HABERLEŞMESİ Seri iletişimde, saniyedeki

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ı

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI OLAYLARI ZAMANLAMA

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI OLAYLARI ZAMANLAMA İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI OLAYLARI ZAMANLAMA İnsanların işlerini bir takvime ve zamana bağlı olarak yürütmesine benzer şekilde, bilgisayarlar

Detaylı

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI OLAYLARI ZAMANLAMA

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI OLAYLARI ZAMANLAMA İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI OLAYLARI ZAMANLAMA İnsanların işlerini bir takvime ve zamana bağlı olarak yürütmesine benzer şekilde, bilgisayarlar

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ı

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı MIKRODENETLEYICILER Ege Üniversitesi Ege MYO Mekatronik Programı BÖLÜM 2 MSC-51 Ailesi MCS-51 Ailesi Ekim 2014 Yrd. Doç. Dr. Mustafa Engin 8051 in Blok Şeması 4 Denetim Hatları Veri Yolu DPTR P.C. 8051

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ı

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ı

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ı

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ı

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ı

İ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ı

DELTA PLC EĞİTİM SETİ KİTAPÇIĞI

DELTA PLC EĞİTİM SETİ KİTAPÇIĞI DELTA PLC EĞİTİM SETİ KİTAPÇIĞI Beti Delta PLC Eğitim Seti üzerinde kullanılan donanımlar Delta marka DVP20SX211T Model PLC DVP16SP11T Genişleme yuvası DOP-B07S411 7 Operatör Paneli PLC CPU sunu üzerindeki

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ı

ASENKRON (Eş Zamanlı Olmayan) HABERLEŞME ARA YÜZEYİ

ASENKRON (Eş Zamanlı Olmayan) HABERLEŞME ARA YÜZEYİ ASENKRON (Eş Zamanlı Olmayan) HABERLEŞME ARA YÜZEYİ Arayüzey hem gönderici hem alıcı durumunda çalışır. Arayüzey kontrol register ına aktarılan bir kontrol byte ı ile başlangıç durumuna getirilir. Kontrol

Detaylı

Bölüm 5: İşlemci Zamanlaması. Operating System Concepts with Java 8 th Edition

Bölüm 5: İşlemci Zamanlaması. Operating System Concepts with Java 8 th Edition Bölüm 5: İşlemci Zamanlaması 5.1 Silberschatz, Galvin and Gagne 2009 Temel Kavramlar Çoklu programlama sayesinde CPU kullanımının optimize edilmesi CPU I/O İşlem Döngüsü Bir işlemin çalıştırılması birbirlerini

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ı

Proses. Prosesler 2. İşletim Sistemleri

Proses. Prosesler 2. İşletim Sistemleri 2 PROSESLER Proses Bir işlevi gerçeklemek üzere ardışıl bir program parçasının yürütülmesiyle ortaya çıkan işlemler dizisi Programın koşmakta olan hali Aynı programa ilişkinbirdenfazlaprosesolabilir. Görev

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ı

PROSESLER. Proses. Proses

PROSESLER. Proses. Proses Proses 2 PROSESLER Bir işlevi gerçeklemek üzere ardışıl bir program parçasının yürütülmesiyle ortaya çıkan işlemler dizisi Programın koşmakta olan hali Aynı programa ilişkin birden fazla proses olabilir.

Detaylı

BÖLÜM 3 CAPTURE/COMPARE/PWM ve TUŞ TAKIMI İŞLEMLERİ

BÖLÜM 3 CAPTURE/COMPARE/PWM ve TUŞ TAKIMI İŞLEMLERİ BÖLÜM 3 CAPTURE/COMPARE/PWM ve TUŞ TAKIMI İŞLEMLERİ 3.1) Hi-Tech te CCP İşlemleri Pic içerisinde dahili olarak bulunan CCP modülü Copture (yakalama), Compare (karşılaştırma) ve PWM bölümlerinin baş harflerinin

Detaylı

İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır.

İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır. İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır. Programların ve donanımların kullanılması için bir çalıştırılması platformu oluşturur. Sistemin yazılım

Detaylı

MTM 305 MİKROİŞLEMCİLER

MTM 305 MİKROİŞLEMCİLER KARABÜK ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ MTM 305 MİKROİŞLEMCİLER Arş. Gör. Emel SOYLU Arş. Gör. Kadriye ÖZ Basit Giriş/Çıkış Teknikleri IN ve OUT komutları X86 komut kümesi

Detaylı

İşletim Sistemlerine Giriş

İşletim Sistemlerine Giriş İşletim Sistemlerine Giriş İşletim Sistemleri ve Donanım İşletim Sistemlerine Giriş/ Ders01 1 İşletim Sistemi? Yazılım olmadan bir bilgisayar METAL yığınıdır. Yazılım bilgiyi saklayabilir, işleyebilir

Detaylı

Mikrobilgisayar Donanımı

Mikrobilgisayar Donanımı KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ BĠLGĠSAYAR MÜHENDĠSLĠĞĠ BÖLÜMÜ MĠKROĠġLEMCĠ LABORATUARI Mikrobilgisayar Donanımı 1. GiriĢ Bu deneyde 16 bit işlemci mimarisine dayalı 80286 mikroişlemcisini kullanan DIGIAC

Detaylı

Bölüm 1 Ürüne Genel Bakış

Bölüm 1 Ürüne Genel Bakış Bölüm 1 Ürüne Genel Bakış 1.1 Ürün Etiketi Şekil 1-1 Etiket Model Instruction Model numarası bazı rakam ve harfler içerir. Bu işaretler cihazın gücünü, güç seviyesini ve bazı diğer özel bilgileri içerir.

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ı

İşletim Sistemleri (Operating Systems)

İşletim Sistemleri (Operating Systems) İşletim Sistemleri (Operating Systems) 1 İşletim Sistemleri (Operating Systems) Genel bilgiler Ders kitabı: Tanenbaum & Bo, Modern Operating Systems:4th ed., Prentice-Hall, Inc. 2013 Operating System Concepts,

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ı

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ı

MEB YÖK MESLEK YÜKSEKOKULLARI PROGRAM GELİŞTİRME PROJESİ. 1. Tipik bir mikrobilgisayar sistemin yapısı ve çalışması hakkında bilgi sahibi olabilme

MEB YÖK MESLEK YÜKSEKOKULLARI PROGRAM GELİŞTİRME PROJESİ. 1. Tipik bir mikrobilgisayar sistemin yapısı ve çalışması hakkında bilgi sahibi olabilme PROGRAMIN ADI DERSIN KODU VE ADI DERSIN ISLENECEGI DÖNEM HAFTALIK DERS SAATİ DERSİN SÜRESİ ENDÜSTRİYEL ELEKTRONİK MİK.İŞLEMCİLER/MİK.DENETLEYİCİLER-1 2. Yıl, III. Yarıyıl (Güz) 4 (Teori: 3, Uygulama: 1,

Detaylı

BÖLÜM 4 KAREKTER LCD ve ADC İŞLEMLERİ

BÖLÜM 4 KAREKTER LCD ve ADC İŞLEMLERİ BÖLÜM 4 KAREKTER LCD ve ADC İŞLEMLERİ 4.1) Hi-Tech te Karekter LCD İşlemleri Şekil-37 de bir örneği görülen karakter LCD ler dışarıya bilgi aktarmak için kullanılan en yaygın birimlerdendir. Genel itibari

Detaylı

T.C. RC SERVO MOTOR KONTROLÜ

T.C. RC SERVO MOTOR KONTROLÜ T.C. BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ RC SERVO MOTOR KONTROLÜ İBRAHİM ALİ METİN BİLECİK 30 Mart 2015 T.C. BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ MÜHENDİSLİK

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ı

MİKROBİLGİSAYAR SİSTEMLERİ VE ASSEMBLER

MİKROBİLGİSAYAR SİSTEMLERİ VE ASSEMBLER BÖLÜM 2 INTEL AİLESİNİN 8 BİTLİK MİKROİŞLEMCİLERİ 2.1 8080 MİKROİŞLEMCİSİ Intel 8080, I4004, I4040 ve I8008 in ardından üretilmiştir ve 8 bitlik mikroişlemcilerin ilkidir ve 1974 te kullanıma sunulmuştur.

Detaylı

BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Hacettepe Üniversitesi Bilgisayar Müh. Bölümü

BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Hacettepe Üniversitesi Bilgisayar Müh. Bölümü BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Hacettepe Üniversitesi Bilgisayar Müh. Bölümü Bu derste! Büyük, karmaşık sayısal sistemlerin tasarımı ele alınacaktır. ASM ve ASMD çizgeleri Tasarım Örnekleri

Detaylı

Cnc Designer. ZSynthesizer. ZSynthesizer Doküman No: 0001

Cnc Designer. ZSynthesizer. ZSynthesizer Doküman No: 0001 Cnc Designer ZSynthesizer ZSynthesizer Doküman No: 0001 Cnc Designer 12/1/2015 Contents ZSynthesizer Çipi Hakkında... 1 Çip Bağlantıları... 2 SPI Parametreleri... 4 Flag Değeri... 5 Frekans hesaplaması...

Detaylı

MİKROİŞLEMCİLER LABORATUVARI İÇİN PROGRAM DERLEME VE YÜKLEME DOKÜMANI

MİKROİŞLEMCİLER LABORATUVARI İÇİN PROGRAM DERLEME VE YÜKLEME DOKÜMANI MİKROİŞLEMCİLER LABORATUVARI İÇİN PROGRAM DERLEME VE YÜKLEME DOKÜMANI İÇİNDEKİLER GİRİŞ:... 2 RS232 den USB ye Dönüştürücü Kurulumu... 2 KEIL Programı ile Program Yazma ve Derleme... 5 Atmel Flip Programı

Detaylı

LPC1769 ile 8 Temel Uygulama

LPC1769 ile 8 Temel Uygulama LPC1769 ile 8 Temel Uygulama Bu uygulama notunun amacı, temel seviyede gömülü sistem bilgisi olan arkadaşlara 32 bit ARM Cortex-M3 tabanlı NXP firmasına ait olan LPC1769 hakkında bilgi vermek, temel seviyede

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ı

Bölüm 13: Giriş-Çıkış (I/O) Sistemleri

Bölüm 13: Giriş-Çıkış (I/O) Sistemleri Bölüm 13: Giriş-Çıkış (I/O) Sistemleri Mehmet Demirci tarafından çevrilmiştir. Silberschatz, Galvin and Gagne 2013 Bölüm 13: Giriş-Çıkış (I/O) Sistemleri Genel bakış I/O donanımı Uygulama I/O arayüzü Çekirdek

Detaylı

Arduino Temel Bilgiler

Arduino Temel Bilgiler Bu e-kitap Arduino ile proje geliştirmek isteyenler için temel bilgiler içermektedir. Arduino Temel Bilgiler Şevket Yılmaz Yazılım Mühendisi sevket-yilmaz@windowslive.com ARDUİNO NEDİR? Arduino bir mikro

Detaylı

Bu derste! BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Yazmaç Aktarımı Düzeyi! Büyük Sayısal Sistemler! 12/25/12

Bu derste! BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Yazmaç Aktarımı Düzeyi! Büyük Sayısal Sistemler! 12/25/12 BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Hacettepe Üniversitesi Bilgisayar Müh. Bölümü Bu derste! Büyük, karmaşık sayısal sistemlerin tasarımı ele alınacaktır. ASM ve ASMD çizgeleri Tasarım Örnekleri

Detaylı

DOKUMANLAR

DOKUMANLAR DOKUMANLAR https://www.pickat.org Bu belgeyi yukarıdaki karekodu telefonunuza taratarak veya aşağıdaki linkten indirebilirsiniz. Link sürekli güncellenmektedir. https://drive.google.com/file/d/1wyi3ejzvge9vbu0ujklajnsjukbfldv/view?usp=sharing

Detaylı

MİKROBİLGİSAYAR SİSTEMLERİ. Teknik Bilimler Meslek Yüksekokulu

MİKROBİLGİSAYAR SİSTEMLERİ. Teknik Bilimler Meslek Yüksekokulu MİKROBİLGİSAYAR SİSTEMLERİ Teknik Bilimler Meslek Yüksekokulu Dersin Amacı Mikroişlemciler Mikrodenetleyiciler PIC Mikrodenetleyiciler Micro BASIC Programlama Kullanılacak Programlar MSDOS DEBUG PROTEUS

Detaylı