Notlar..

320volt / Mikrodenetleyici Projeleri/

Sinyal jeneratörü cd4051 pic16f88

Mikrodenetleyici Projeleri, SINYAL JENERATÖRÜ CD4051 PIC16F88 konusu "adc* cd4051* jal* microchip pic projeleri* PIC16F88* sinyal jenaratörü* " ile etiketlendi

Bir deneyimde kullandığım bu devreyi bazı değişikliklerle sizlerin geliştirmesi için gönderiyorum. Zamanım olmadığı için final bir çalışma yapamadım.

Devre şeması;

sinyal-Jenerator-devresi

Prensip olarak anlatmak gerekirse Pic ile kontrol edilen analog swiçlerin -5V ile +5V arasında kademeli çıkışlar vermesi prensibine dayanmaktadır. İleride alalog swiçleri (CD4051) 4 adede çıkararak daha iyi bir devre için çalışmalar yapacağım.

Bitmiş hali ile göndermek en iyisi olacaktı ama şu an bu çalışma için zamanım yok. 16F88 kullanılmasının nedeni frekansın ayarlanması içindir. ADC bulunan başka bir pic kullanılabilir. ADC’ye bağlaacak bir potasiyometre ile frekans ayarlanabilecektir. Geliştirecek arkadaşlara yardımcı olmaya çalışırım. Çizim sPlan yazılım ise jal.

Yararlı olması dileğiyle iyi çalışmalar.

Jal yazılımı

include 16f88_4i
include jlib
port_b_direction = all_output
var byte x
x = 1

procedure sinyal is

port_b = 0b0100_0001  -- 1
delay_10us(x)
port_b = 0b0100_0010 --   2
delay_10us(x)
port_b = 0b0100_0011
delay_10us(x)          -- 3
port_b = 0b0100_0100   --  4
delay_10us(x)
port_b = 0b0100_0101   --  5
delay_10us(x)
port_b = 0b0100_0110    --  6
delay_10us(x)
port_b = 0b0100_0111   --   7
delay_10us(x)
port_b = 0b0100_0110     --  8
delay_10us(x)
port_b = 0b0100_0101    --   9
delay_10us(x)
port_b = 0b0100_0100  --  10
delay_10us(x)
port_b = 0b0100_0011     --  11
delay_10us(x)
port_b = 0b0100_0011       -- 12
delay_10us(x)
port_b = 0b0100_0000       -- 13
delay_10us(x)

port_b = 0b0000_1000       --  14
delay_10us(x)
port_b = 0b0001_0000      -- 15
delay_10us(x)

port_b = 0b0001_1000      --  16
delay_10us(x)
port_b = 0b0010_0000      --  17
delay_10us(x)
port_b = 0b0010_1000       --  18
delay_10us(x)
port_b = 0b0011_0000        --  19
delay_10us(x)
port_b = 0b0011_1000        --  20
delay_10us(x)
port_b = 0b0011_0000        --  21
delay_10us(x)
port_b = 0b0010_1000       --  22
delay_10us(x)

port_b = 0b0001_1000       -- 23
delay_10us(x)
port_b = 0b0001_0000       --  24
delay_10us(x)
port_b = 0b0000_1000       --  25
delay_10us(x)
port_b = 0b0000_0000       --  26
delay_10us(x)
end procedure

forever loop


sinyal

end loop


  • Mustafa Sayan

    TTL çıkışta kullanılan transistörün kollektörüne seri direnç konmamıştır. 1k seri direnç konulmalıdır. Düzeltir özür dilerim. Deneyecek ve geliştireceklere yardımcı olmağa çalışırım. Yararlı olması dileklerimle.

  • can yılmaz

    paylaşımın için çok teşekkürler yalnız potansıyometre için 16f88in adc kullanımı hakkında jal programını da ekleyebilirsen çok iyi olur , benim ayrıca yaptığım bir çalışma için de çok gerekli

  • mustafa Sayan

    Yakında böyle bir yazı hazırlayacağım. İyi çalışmalar.