Pic16F628A ile ADC0831 Analog Veri Okuma

Başlatan umitedi, 14 Eylül 2023, 23:04:43

umitedi

ETE Hocam Merhaba ;

Aşağıdaki kodlarla okuma yapamıyorum .
Hatamı bulamıyorum .
Yardımınıza ihtiyacım var .
Yardımlarınız için teşekkür ederim



'****************************************************************
'*  Name    : ü                                             *
'*  Author  : e                                         *
'*  Notice  : Copyright (c) 2015 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 18.01.2023                                     *
'*  Version : 1.0                                               *
'*  Notes   : adc                                            *
'*          :                                                   *
'****************************************************************

@ DEVICE pic16F628A 'işlemci 16F628
@ DEVICE pic16F628A, WDT_OFF 'Watch Dog timer kapalı
@ DEVICE pic16F628A, PWRT_OFF 'Power on timer açık
@ DEVICE pic16F628A, PROTECT_OFF 'Kod Protek kapalı
@ DEVICE pic16F628A, MCLR_off 'MCLR pini kullanılıyor.
@ DEVICE pic16F628A, XT_OSC   'harici osilatör kullanılacak
@ DEVICE pic16F628A, LVP_OFF
@ DEVICE pic16F628A, BOD_OFF

'-------------------------------------------------------------------------------
 'LCD TANIMLAMALARI
 
DEFINE LCD_DREG   PORTB   'LCD data bacakları hangi porta bağlı?
DEFINE LCD_DBIT   4   'LCD data bacakları hangi bitten başlıyor?

DEFINE LCD_EREG   PORTA   'LCD Enable Bacağı Hangi Porta bağlı?
DEFINE LCD_EBIT   2   'LCD Enable Bacağı Hangi bite bağlı ?

DEFINE LCD_RSREG   PORTA   'LCD RS Bacağı Hangi Porta bağlı ?
DEFINE LCD_RSBIT   3   'LCD RS bacağı Hangi Bite bağlı  ?

DEFINE LCD_BITS   4   'LCD 4 bit mi yoksa 8 bit olarak bağlı?
DEFINE LCD_LINES   2   'LCD Kaç sıra yazabiliyor

DEFINE LCD_COMMANDUS   1000
DEFINE LCD_DATAUS      225


'-------------------------------------------------------------------------------
'ADC TANIMLAMALARI

DEFINE DO  PORTB.3
DEFINE CLK PORTB.2
DEFINE CS  PORTB.1

DEFINE ADC_BITS 8
DEFINE ADC_CLOCK 1
DEFINE ADC_SAMPLEUS 1
'-------------------------------------------------------------------------------
Include "modedefs.bas" 'Mod numaralarının kullanımına imkan veriyoruz iletişim için komutları Modeisimleri ile kulanıyoruz. (SERİ İLETİŞİM İÇİN GEREKLİ PROTOLKOL )
 

CMCON=7           '16F628 de komparatör pinleri iptal hepsi giri? çyky?
OPTION_REG.7=1    'Dahili pull-up lar pasif yapyldy
'-------------------------------------------------------------------------------

OPTION_REG=%10000101 'Pull up dirençleri  PTAL- Bölme oranı 1/64.
INTCON=%00000000 'Kesmeler PASİF ve TMR0 kesmesi PASİF


'-------------------------------------------------------------------------------

 TRISA=%00010000
 TRISB=%00001000
 
PORTA=0
PORTB=0


SAYAC VAR word




'-----------------------------B A S L A N G I Ç ---------------------------

CLEAR
PAUSE 500
PORTB=0 'tüm çıkıslar low seviyesinde
'-------------------------------------------------------------------------------

LCDOut $FE,1 ' Ekranı Temizle

start:
LCDOUT $FE,$81,#sayac

gosub serial_in  ' İSMİ in OLAN ALT PROGRAM A GİT ORDAKİ KOMUTLARI ÇALIŞTIR BURAYA TEKRAR DÖN

serout PORTB.3,2,[254,1]  'PORTB.3 PİNİNDEN (YUKARDA AYARLAMIŞTIK )    9600 BAUD HIZINDA SERİ ÇIKIŞ GÖNDERİLECEK  254 VE 1 İSE GÖNDERİLEN VERİ

pause 1

serout PORTB.3,2,[#sayac]

pause 100

goto start


SERIAL_IN:
low 0

shiftin PORTB.3, PORTB.2, MSBPOST, [sayac\8]  'SHIFTIN DataPin,ClockPin,Mode,[Var{\Bits}...]

high 0
return

Powered by EzPortal