16F887 kullanmak istedim ama yapamadım. Simülasyonda bile lcd ye tek satır yazdıramadım. Utanıyorum...
Derleyici olarak V.3.0.6.1 kullanıyorum. Yardım edermisiniz?
Picin iç osilatörünü 4 yada 20 MHZ de kullanmak istiyorum.
;----[16F887 Hardware Configuration]--------------------------------------------
#IF __PROCESSOR__ = "16F887"
#DEFINE MCU_FOUND 1
#CONFIG
cfg1 = _INTRC_OSC_NOCLKOUT ; INTOSCIO oscillator: I/O function on RA6/OSC2/CLKOUT pin, I/O function on RA7/OSC1/CLKIN
cfg1&= _WDT_OFF ; WDT disabled and can be enabled by SWDTEN bit of the WDTCON register
cfg1&= _PWRTE_OFF ; PWRT disabled
cfg1&= _MCLRE_OFF ; RE3/MCLR pin function is digital input, MCLR internally tied to VDD
cfg1&= _CP_OFF ; Program memory code protection is disabled
cfg1&= _CPD_ON ; Data memory code protection is enabled
cfg1&= _BOR_OFF ; BOR disabled
cfg1&= _IESO_OFF ; Internal/External Switchover mode is disabled
cfg1&= _FCMEN_OFF ; Fail-Safe Clock Monitor is disabled
cfg1&= _LVP_OFF ; RB3 pin has digital I/O, HV on MCLR must be used for programming
cfg1&= _DEBUG_OFF ; In-Circuit Debugger disabled, RB6/ICSPCLK and RB7/ICSPDAT are general purpose I/O pins
__CONFIG _CONFIG1, cfg1
cfg2 = _BOR40V ; Brown-out Reset set to 4.0V
cfg2&= _WRT_OFF ; Write protection off
__CONFIG _CONFIG2, cfg2
#ENDCONFIG
#ENDIF
;----[Verify Configs have been specified for Selected Processor]----------------
; Note: Only include this routine once, after all #CONFIG blocks
#IFNDEF MCU_FOUND
#ERROR "No CONFIGs found for [" + __PROCESSOR__ +"]"
#ENDIF
'*************************************
'ISLEMCI TANIMLAMALARI
DEFINE OSC 4 'KRİSTAL FREKANSI
DEFINE ADC_BITS 10
DEFINE ADC_CLOCK 3 ' IC KRISTAL KULLANILIYOR
DEFINE ADC_SAMPLEUS 20
'*************************************
'ADCON0 = %01000001
ADCON1 = %10000000 'SAGA YASLANIK sonuç almak için
TRISA = 0
TRISB = 0
TRISC = 0
TRISD = 0
TRISE = 0
Pause 100 ' 100 ms AÇILIŞ GECİKMESİ
DEFINE LCD_DREG PORTB 'LCD data bacakları hangi porta bağlı? LCD nin D0 D1 D2 D3
DEFINE LCD_DBIT 0 'LCD data bacakları hangi bitten başlıyor? ***
DEFINE LCD_RSREG PORTB 'LCD RS Bacağı Hangi Porta bağlı ?
DEFINE LCD_RSBIT 4 'LCD RS bacağı Hangi Bite bağlı ? 4 ***
DEFINE LCD_EREG PORTB 'LCD Enable Bacağı Hangi Porta bağlı?
DEFINE LCD_EBIT 5 'LCD Enable Bacağı Hangi bite bağlı ? 5
DEFINE LCD_BITS 4 'LCD 4 bit mi yoksa 8 bit olarak bağlı?
DEFINE LCD_LINES 4
'*************************************
BASLA:
LCDOUT $FE,1
LCDOUT $FE, $80, " DENEME "
LCDOUT $FE, $C0, " TEST "
PAUSE 100
GOTO BASLA
(https://i.ibb.co/cXXDcFF/A.jpg) (https://ibb.co/cXXDcFF)
Merhaba arkadaşlar.
Cevap beklerken datasheet okumaya devam ediyordum ki bu işlemcide D0-1-2-3-4-5 pinlerinin aynı zamanda analog giriş pinleri (AN8-9-10-11-12-13)olduğunu ve bunları ANSELH=0 yaparak I/O haline getirmem gerektiğini buldum. Bu şekilde LCD çalıştı.
Aynı sorunu yaşayabilecek arkadaşlara yol göstermesi açısından kendi soruma cevap olarak yazıyorum.
Herkese kolay gelsin. Teşekkürler.
16F887 32mhz hızda çalışabilirmi?
D portlarından D5, D6 ve D7 PWM amaçlı kulanılabiliyor. Diğer pinler yani sizin kullanmak istediğiniz pinlerde dahil olmak üzere genel amaçlı I/O. Devrenizi kontrol edin.
Ben yazana kadar cevap verdiğim mesaj gitmiş......
Alıntı yapılan: ferit06 - 19 Şubat 2019, 14:20:37D portlarından D5, D6 ve D7 PWM amaçlı kulanılabiliyor. Diğer pinler yani sizin kullanmak istediğiniz pinlerde dahil olmak üzere genel amaçlı I/O. Devrenizi kontrol edin.
Ben yazana kadar cevap verdiğim mesaj gitmiş......
Ferit kardeşim teşekkür ederim. Devreyi kontrol edince pertinaks bakır yol kısadevresi tespit ettim. Bu yüzden kaldırdım soruyu. Ama bu defa başka soru sordum. Çok teşekkürler ilgin için.
Bildiğim bu işlemci kristal ile maksimum 20Mhz dahili osc ile maksimum 8Mhz de çalışabilir.
Ete
Alıntı yapılan: kaganayanoglu - 19 Şubat 2019, 13:43:0016F887 32mhz hızda çalışabilirmi?
dahili osc 8 MHz'e kadar, harici osc de 20 MHz'e kadar çalışabiliyor. 32 MHz için yeni daha yeni ürünleri tercih etmelisiniz.