PIC İLE PC HABERLEŞMESİ

Başlatan isikyasar, 31 Ekim 2011, 13:32:50

isikyasar

Merhaba arkadaşlar,

16f877 pic ile pc arasında iletişim kurmak istiyorum. 9600 baud hızında haberleşecek. pic de 2 adet  buton olucak.     1 . butona bastığımda pic ten pc ye 1. BUTONA BASILDI verisi gidecek.     2. butona bastığımda ise 2. BUTONA BASILDI verisi gidecek.
hyper terminalde bu veriyi görmek istiyorum.

ben visual basic de hayper terminal yerine  kullanılacak programı hallederim.

yardımlarınız için şimdiden teşekkürler.

justice_for_all

proton mu olmak zorunda c ile olsa olmazmi
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

isikyasar

ben proton dilini biliyorum.
ama c dilinide çözmeye çalışırım.

justice_for_all

#3
http://www.4shared.com/file/evJ0jojv/firmware.html
https://rapidshare.com/files/3656725696/firmware.rar

yukaridaki linke yukledim arkadasim ...

ama programi calistirabilmen icin virtual serial port programi yuklu olmasi gerek bilgisayarinda.
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

muhittin_kaplan

serin serout
hserin hserout
Usartla alakalı kodları araştırınız.

OG

#5
Declare Xtal 4      ''' Çalışma frekansı

TRISB.0 = 0         ''' PORTB.0 dan göndereceğiz, çıkış yaptık

OPTION_REG.7 = 0   '' portb pullup

Dim buton_1 As PORTB.1
TRISB.1 = 1                 '' buton pinleri giriş
Dim buton_2 As PORTB.2
TRISB.2 = 1

Dim x As Byte
Dim tekrar As Byte

PORTB.0 = 1
delayms 100


Basla:
    DelayMS 1
    clrwdt
    If buton_1 = 0 Then gonder_1
    If buton_2 = 0 Then gonder_2
GoTo Basla



gonder_1:
    For tekrar = 1 To 3                             ''' 3 defa gönderir
        SerOut PORTB.0, 84, ["1. BUTONA BASILDI ",13,10]
        clrwdt
    Next

GoTo buton_birak



gonder_2:
    For tekrar = 1 To 3
        SerOut PORTB.0, 84, ["2. BUTONA BASILDI ",13,10]
        clrwdt
    Next
    
    
buton_birak:
    For x = 1 To 100
        DelayMS 1
        clrwdt
        If buton_1 = 0 Or buton_2 = 0 Then buton_birak 
    Next
GoTo Basla
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

isikyasar

9600-8-N1
BAUD HIZINDA ÇALIŞIRMI KOD?

OG

FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

isikyasar

deneyip bilgi vereceğim teşekkürler

Maxim

OG hocam
neden her seferinde watchdog reseti yapıyorsunuz ?

OG

Ben genelde wdt on çalışırım. wdt için süre aşımı olduğu yerde reset atar,  süreyi clear yapmanız gerekir ki dolmasın . clrwdt o yüzden alışkanlık oldu, zaman gecikmeye sebep her yere serperim. PBP da bunu oto yapıyor ama protonda kendiniz yapmanız gerekir.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

Maxim

burada ne demek istemiş eleman hocam ?

Declare WatchDog = On or Off, or True or False, or 1, 0

The  WatchDog        Declare   directive   enables   or   disables   the   watchdog   timer.   It   also   sets   the
PICmicro's Config fuses for no watchdog. In addition, it removes any ClrWdt mnemonics from
the assembled code, thus producing slightly smaller programs. The default for the compiler is
WatchDog  Off, therefore, if the watchdog timer is required, then this Declare will need to be
invoked.


The WatchDog Declare can be issued multiple times within the BASIC code, enabling and dis-
abling the watchdog timer as and when required.

justice_for_all

OG hocam peki WDT suresini nekadar ayarlıyosunuz
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

OG

#13
I declare the watchdog on, then add 'clrwdt' in all of my loops (of which there are many).

demiş?

Alıntı YapWDT suresini nekadar ayarlıyosunuz
Max süreye, yani, 1,18sn miy di öyle birşey yapıyordu, OPTION_REG'in son 3 biti 111 olunca (bölme oranı).

---------
@isikyasar

Foruma ait soruları ÖM ile yazmayın, buradan sorun.
Çalıştıramadım?
Neyi, hangi kodu, ne yazdın, ne derledin de çalışmadı?



FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

isikyasar

başka bir kod yazdım çalıştı.

sizlerle paylaşacağım..

teşekkürler yardımlarınız için