PIC ten PC ye seriporttan bilgi gonderme
Programlama0 Mesaj
●25 Görüntüleme
- ReadBull.net
- Programlama ve Yazılım
- Programlama
- PIC ten PC ye seriporttan bilgi gonderme
-
26-09-2019, 05:32:15Merhaba, bu iş icin PBP da yazdığım vede calışan kodlar aşağıdadır. 5 adet butondan her hangi birisi aktif olduğunda veya pasif olduğunda Picin seri portundan orneğin 1 nolu giriş (butona) basıldığında "I1000" şeklinde bir bilgi PC nin seriportu aracılığı ile alınabilir. '****************************************** INFORMASYON ************************************************** 'BUTON_RS232.BAS 'Pinconi '07/10/2012 'V.001 'Pic16F628 Print komutları '5 ayrı tuş ile RS232 Uzerinden Seridata formatında gonderilir. '*******************************************Tanıml amalar******************************************** ***** CMCON=7 '16F628 de komparator (Analog) pinleri iptal. Hepsi giriş cıkış olarak ayarlanıyor. trisa = 1 'porta giriş yapıldı trisb = 0 'portb cıkış yapıldı A0 Var Byte 'A0 isimli değişken tanımlanıyor. A0 = 0 'A0 isimli değişken 0 değeri atanıyor. A1 Var Byte 'A1 isimli değişken tanımlanıyor. A1 = 0 'A1 isimli değişken 0 değeri atanıyor. A2 Var Byte 'A2 isimli değişken tanımlanıyor. A2 = 0 'A2 isimli değişken 0 değeri atanıyor. A3 Var Byte 'A3 isimli değişken tanımlanıyor. A3 = 0 'A3 isimli değişken 0 değeri atanıyor. A4 Var Byte 'A4 isimli değişken tanımlanıyor. A4 = 0 'A4 isimli değişken 0 değeri atanıyor. A5 Var Byte 'A5 isimli değişken tanımlanıyor. A5 = 0 'A5 isimli değişken 0 değeri atanıyor. P0 Var Byte 'P0 isimli değişken tanımlanıyor. P0 = 0 'P0 isimli değişken 0 değeri atanıyor. P1 Var Byte 'P1 isimli değişken tanımlanıyor. P1 = 0 'P1 isimli değişken 0 değeri atanıyor. P2 Var Byte 'P2 isimli değişken tanımlanıyor. P2 = 0 'P2 isimli değişken 0 değeri atanıyor. P3 Var Byte 'P3 isimli değişken tanımlanıyor. P3 = 0 'P3 isimli değişken 0 değeri atanıyor. P4 Var Byte 'P4 isimli değişken tanımlanıyor. P4 = 0 'P4 isimli değişken 0 değeri atanıyor. P5 Var Byte 'P5 isimli değişken tanımlanıyor. P5 = 0 'P5 isimli değişken 0 değeri atanıyor. SO Var PORTB.2 'SO isimli değişken tanımlanıyor.Ve PORTB.2 değeri atanıyor. PIC'IN RS232 TRANSMİTTER PORTU PORTB.1 = 0 'PortB deki 1 nolu cıkış (Led) Pasif ediliyor. INSEND1 Var Byte INSEND1="0" INSEND2 Var Byte INSEND2="0" INSEND3 Var Byte INSEND3="0" INSEND4 Var Byte INSEND4="0" INSEND5 Var Byte INSEND5="0" INSEND VAR BYTE INSEND="0" Butonkontrol: '************************************************* ***AKTİF DURUMU******************************************** **************************************** '---------------------INPUT1 AKTİF kontrol----------------------------- BUTTON PORTA.0,0,255,5,A0,1,IND1_A 'PortA daki 0 nolu giriş (Butonun) basılı olup olmadığı kontrol ediliyor. PORTB.0 = 0 'PortB deki 0 nolu cıkış (Led) Sonduruluyor. '---------------------INPUT2 AKTİF kontrol-------------------------- BUTTON PORTA.1,0,255,5,A1,1,IND2_A 'PortA daki 1 nolu giriş (Butonun) basılı olup olmadığı kontrol ediliyor. PORTB.0 = 0 'PortB deki 0 nolu cıkış (Led) Sonduruluyor '---------------------INPUT3 AKTİF kontrol----------------------------- BUTTON PORTA.2,0,255,5,A2,1,IND3_A 'PortA daki 2 nolu giriş (Butonun) basılı olup olmadığı kontrol ediliyor. PORTB.0 = 0 'PortB deki 0 nolu cıkış (Led) Sonduruluyor. '---------------------INPUT4 AKTİF kontrol-------------------------- BUTTON PORTA.3,0,255,5,A3,1,IND4_A 'PortA daki 3 nolu giriş (Butonun) basılı olup olmadığı kontrol ediliyor. PORTB.0 = 0 'PortB deki 0 nolu cıkış (Led) Sonduruluyor '---------------------INPUT5 AKTİF kontrol----------------------------- BUTTON PORTA.4,0,255,5,A4,1,IND5_A 'PortA daki 4 nolu giriş (Butonun) basılı olup olmadığı kontrol ediliyor. PORTB.0 = 0 'PortB deki 0 nolu cıkış (Led) Sonduruluyor. '************************************************* ***PASİF DURUMU******************************************** **************************************** '---------------------INPUT1 PASİF kontrol----------------------------- BUTTON PORTA.0,1,255,5,P0,1,IND1_P 'PortA daki 0 nolu giriş (Butonun) basılı olup olmadığı kontrol ediliyor. PORTB.0 = 0 'PortB deki 0 nolu cıkış (Led) Sonduruluyor. '---------------------INPUT2 PASİF kontrol-------------------------- BUTTON PORTA.1,1,255,5,P1,1,IND2_P 'PortA daki 1 nolu giriş (Butonun) basılı olup olmadığı kontrol ediliyor. PORTB.0 = 0 'PortB deki 0 nolu cıkış (Led) Sonduruluyor '---------------------INPUT3 PASİF kontrol----------------------------- BUTTON PORTA.2,1,255,5,P2,1,IND3_P 'PortA daki 2 nolu giriş (Butonun) basılı olup olmadığı kontrol ediliyor. PORTB.0 = 0 'PortB deki 0 nolu cıkış (Led) Sonduruluyor. '---------------------INPUT4 PASİF kontrol-------------------------- BUTTON PORTA.3,1,255,5,P3,1,IND4_P 'PortA daki 3 nolu giriş (Butonun) basılı olup olmadığı kontrol ediliyor. PORTB.0 = 0 'PortB deki 0 nolu cıkış (Led) Sonduruluyor '---------------------INPUT5 PASİF kontrol----------------------------- BUTTON PORTA.4,1,255,5,P4,1,IND5_P 'PortA daki 4 nolu giriş (Butonun) basılı olup olmadığı kontrol ediliyor. PORTB.0 = 0 'PortB deki 0 nolu cıkış (Led) Sonduruluyor. GOTO Butonkontrol 'Butonkontrola geri dondurulerek surekli butonların basılı olup olmadığı kontrol edilir. '************************************************* ***AKTİF DURUMU******************************************** ************************************************** *********************************** '---------------------INPUT1 AKTİF bilgisi RS232 den gonderme---------- IND1_A: PORTB.0 = 1 'PortB deki 0 nolu cıkış (Led) yakılıyor. INSEND1="1" Serout SO,2,["I",INSEND1,INSEND2,INSEND3,INSEND4,INSEND5,13 ,10] 'PortB deki 2 nolu cıkış (TXD) uzerinden 9600N81 ile "Tum butonların" bilgisi gonderiliyor. Pause 500 '50ms bekleniyor. GOTO Butonkontrol 'Butonkontrola geri dondurulerek surekli butonların basılı olup olmadığı kontrol edilir. '---------------------INPUT2 AKTİF bilgisi RS232 den gonderme------- IND2_A: PORTB.0 = 1 'PortB deki 0 nolu cıkış (Led) yakılıyor. INSEND2="1" Serout SO,2,["I",INSEND1,INSEND2,INSEND3,INSEND4,INSEND5,13 ,10] 'PortB deki 2 nolu cıkış (TXD) uzerinden 9600N81 ile "Tum butonların" bilgisi gonderiliyor. Pause 500 '50ms bekleniyor. GOTO Butonkontrol 'Butonkontrola geri dondurulerek surekli butonların basılı olup olmadığı kontrol edilir. '---------------------INPUT1 AKTİF bilgisi RS232 den gonderme---------- IND3_A: PORTB.0 = 1 'PortB deki 0 nolu cıkış (Led) yakılıyor. INSEND3="1" Serout SO,2,["I",INSEND1,INSEND2,INSEND3,INSEND4,INSEND5,13 ,10] 'PortB deki 2 nolu cıkış (TXD) uzerinden 9600N81 ile "Tum butonların" bilgisi gonderiliyor. Pause 500 '50ms bekleniyor. GOTO Butonkontrol 'Butonkontrola geri dondurulerek surekli butonların basılı olup olmadığı kontrol edilir. '---------------------INPUT2 AKTİF bilgisi RS232 den gonderme------- IND4_A: PORTB.0 = 1 'PortB deki 0 nolu cıkış (Led) yakılıyor. INSEND4="1" Serout SO,2,["I",INSEND1,INSEND2,INSEND3,INSEND4,INSEND5,13 ,10] 'PortB deki 2 nolu cıkış (TXD) uzerinden 9600N81 ile "Tum butonların" bilgisi gonderiliyor. Pause 500 '50ms bekleniyor. GOTO Butonkontrol 'Butonkontrola geri dondurulerek surekli butonların basılı olup olmadığı kontrol edilir. '---------------------INPUT1 AKTİF bilgisi RS232 den gonderme---------- IND5_A: PORTB.0 = 1 'PortB deki 0 nolu cıkış (Led) yakılıyor. INSEND5="1" Serout SO,2,["I",INSEND1,INSEND2,INSEND3,INSEND4,INSEND5,13 ,10] 'PortB deki 2 nolu cıkış (TXD) uzerinden 9600N81 ile "Tum butonların" bilgisi gonderiliyor. Pause 500 '50ms bekleniyor. GOTO Butonkontrol 'Butonkontrola geri dondurulerek surekli butonların basılı olup olmadığı kontrol edilir. '************************************************* ***PASİF DURUMU******************************************** ************************************************** *********************************** '---------------------INPUT1 PASİF bilgisi RS232 den gonderme--------- IND1_P: PORTB.0 = 1 'PortB deki 0 nolu cıkış (Led) yakılıyor. INSEND1="0" Serout SO,2,["I",INSEND1,INSEND2,INSEND3,INSEND4,INSEND5,13 ,10] 'PortB deki 2 nolu cıkış (TXD) uzerinden 9600N81 ile "Tum butonların" bilgisi gonderiliyor. Pause 500 '50ms bekleniyor. GOTO Butonkontrol 'Butonkontrola geri dondurulerek surekli butonların basılı olup olmadığı kontrol edilir. '---------------------INPUT2 PASİF bilgisi RS232 den gonderme--------- IND2_P: PORTB.0 = 1 'PortB deki 0 nolu cıkış (Led) yakılıyor. INSEND2="0" Serout SO,2,["I",INSEND1,INSEND2,INSEND3,INSEND4,INSEND5,13 ,10] 'PortB deki 2 nolu cıkış (TXD) uzerinden 9600N81 ile "Tum butonların" bilgisi gonderiliyor. Pause 500 '50ms bekleniyor. GOTO Butonkontrol 'Butonkontrola geri dondurulerek surekli butonların basılı olup olmadığı kontrol edilir. '---------------------INPUT1 PASİF bilgisi RS232 den gonderme--------- IND3_P: PORTB.0 = 1 'PortB deki 0 nolu cıkış (Led) yakılıyor. INSEND3="0" Serout SO,2,["I",INSEND1,INSEND2,INSEND3,INSEND4,INSEND5,13 ,10] 'PortB deki 2 nolu cıkış (TXD) uzerinden 9600N81 ile "Tum butonların" bilgisi gonderiliyor. Pause 500 '50ms bekleniyor. GOTO Butonkontrol 'Butonkontrola geri dondurulerek surekli butonların basılı olup olmadığı kontrol edilir. '---------------------INPUT2 PASİF bilgisi RS232 den gonderme--------- IND4_P: PORTB.0 = 1 'PortB deki 0 nolu cıkış (Led) yakılıyor. INSEND4="0" Serout SO,2,["I",INSEND1,INSEND2,INSEND3,INSEND4,INSEND5,13 ,10] 'PortB deki 2 nolu cıkış (TXD) uzerinden 9600N81 ile "Tum butonların" bilgisi gonderiliyor. Pause 500 '50ms bekleniyor. GOTO Butonkontrol 'Butonkontrola geri dondurulerek surekli butonların basılı olup olmadığı kontrol edilir. '---------------------INPUT1 PASİF bilgisi RS232 den gonderme--------- IND5_P: PORTB.0 = 1 'PortB deki 0 nolu cıkış (Led) yakılıyor. INSEND5="0" Serout SO,2,["I",INSEND1,INSEND2,INSEND3,INSEND4,INSEND5,13 ,10] 'PortB deki 2 nolu cıkış (TXD) uzerinden 9600N81 ile "Tum butonların"bilgisi gonderiliyor. Pause 500 '50ms bekleniyor. GOTO Butonkontrol 'Butonkontrola geri dondurulerek surekli butonların basılı olup olmadığı kontrol edilir. END __________________