ozgurr89
Üye
- Katılım
- 11 Tem 2009
- Mesajlar
- 29
- Puanları
- 1
- Yaş
- 37
Merhaba Arkadaşlar bir devre yapıyorum 20 kere buton tetiklendiğinde motor 3 saniye ileri 1 saniye bekleyip 3 saniye geri dönecek altta ısıs dosyası mevcut. Transistörü seçmedim hangi transistör kullanmalıydım ve aşağıdaki Hi-Tech-C ile yazılmış Kodu HEX e Çevirebilecek olan arkadaş bir zahmet çevirip yüklermi kodda sorun yok sanırım varsada düzeltebilirmisiniz ?
#include <htc.h>
typedef unsigned char uchar;
#define _XTAL_FREQ 4000000 // PIC için 4MHz kristal kullanınız
#define Kapak RA0 // Kapak atılan giriş
#define Motor RB0 // Motor Çıkışı. Eğer DC motorsa ve motor sürücü kullanıyorsan. Projede motor tek yöne döneceği için
#define Motorg RB1 // Motor Çıkışı.
// In1 = +5V, In2= 0V ve En = PIC'in RB0 bacağını bağlayınız.
void PIC_Init(void)
{
TRISA = 0xFF; TRISB = 0x00; // PORTA giriş, PORTB çıkış olarak ayarlandı.
PORTA = 0; PORTB = 0;
}
void delay(uchar time) // Kaç saniye bekleyecek?
{
uchar i;
while(time--)
{
for(i=0;i<8;i++)
__delay_ms(125);
}
}
void main(void)
{
uchar Sayac = 0;
PIC_Init();
while(1)
{
if(Kapak)
{
while(Kapak); // Kapak sensör önünden tamamen geçinceye kadar bekleniyor.
Sayac++;
if(Sayac >= 20)
{
Sayac=0;
Motor = 1; // Motor Çalışıyor
delay(3); // Yaklaşık 3s bekliyor. Not: Tam 3s değil!
Motor = 0;
delay(1); // Yaklaşık 1s bekliyor.
Motorg = 1; // Motor Çalışıyor
delay(3); // Yaklaşık 3s bekliyor. Not: Tam 3s değil!
Motorg = 0;
}
}
}
}
#include <htc.h>
typedef unsigned char uchar;
#define _XTAL_FREQ 4000000 // PIC için 4MHz kristal kullanınız
#define Kapak RA0 // Kapak atılan giriş
#define Motor RB0 // Motor Çıkışı. Eğer DC motorsa ve motor sürücü kullanıyorsan. Projede motor tek yöne döneceği için
#define Motorg RB1 // Motor Çıkışı.
// In1 = +5V, In2= 0V ve En = PIC'in RB0 bacağını bağlayınız.
void PIC_Init(void)
{
TRISA = 0xFF; TRISB = 0x00; // PORTA giriş, PORTB çıkış olarak ayarlandı.
PORTA = 0; PORTB = 0;
}
void delay(uchar time) // Kaç saniye bekleyecek?
{
uchar i;
while(time--)
{
for(i=0;i<8;i++)
__delay_ms(125);
}
}
void main(void)
{
uchar Sayac = 0;
PIC_Init();
while(1)
{
if(Kapak)
{
while(Kapak); // Kapak sensör önünden tamamen geçinceye kadar bekleniyor.
Sayac++;
if(Sayac >= 20)
{
Sayac=0;
Motor = 1; // Motor Çalışıyor
delay(3); // Yaklaşık 3s bekliyor. Not: Tam 3s değil!
Motor = 0;
delay(1); // Yaklaşık 1s bekliyor.
Motorg = 1; // Motor Çalışıyor
delay(3); // Yaklaşık 3s bekliyor. Not: Tam 3s değil!
Motorg = 0;
}
}
}
}