<?xml version="1.0" encoding="iso-8859-9"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[CCSPic - Tüm Forumlar]]></title>
		<link>http://ccspic.com/forum/</link>
		<description><![CDATA[CCSPic - http://ccspic.com/forum]]></description>
		<pubDate>Fri, 30 Jul 2010 07:50:37 +0300</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[16f877+74hc595 8 satır kayan yazı ccs c kodlu]]></title>
			<link>http://ccspic.com/forum/showthread.php?tid=40</link>
			<pubDate>Sat, 29 May 2010 18:20:54 +0300</pubDate>
			<guid isPermaLink="false">http://ccspic.com/forum/showthread.php?tid=40</guid>
			<description><![CDATA[#include  <br />
#fuses HS,NOWDT,NOPUT,NOPROTECT,NOBROWNOUT,NOLVP <br />
#use delay(clock=20000000) <br />
#use rs232(baud=9600, xmit=PIN_A4, rcv=PIN_A5,RESTART_WDT, ERRORS) <br />
<br />
#define PIN_ST_CP      PIN_C2  // RCLK ----&gt; Pin 12 ST_CP <br />
#define PIN_SH_CP      PIN_C3  // SRCLK ---&gt; Pin 11 SH_CP <br />
#define PIN_SER_IN     PIN_C5  // SER -----&gt; Pin 14 <br />
//#define PIN_MRS       PIN_C1  // PIN 10 <br />
//#define PIN_OE        PIN_C3  // PIN 13 <br />
<br />
<br />
#use fast_io(B) <br />
#use fast_io&copy; <br />
#use fast_io(D) <br />
<br />
long s1_char_size=41; <br />
char s1[79]; <br />
long i; <br />
<br />
//***********************sutunlara bağlı hc595********************************** <br />
#define clock      PIN_B0  // RCLK ----&gt; Pin 12 ST_CP <br />
#define latch      PIN_B2  // SRCLK ---&gt; Pin 11 SH_CP <br />
#define data       PIN_B1  // SER -----&gt; Pin 14 <br />
<br />
void HC595_OUT_satir(unsigned char send_data) <br />
{ <br />
   unsigned char bit_mask; <br />
<br />
   for (bit_mask=1; bit_mask ;bit_mask ]]></description>
			<content:encoded><![CDATA[#include  <br />
#fuses HS,NOWDT,NOPUT,NOPROTECT,NOBROWNOUT,NOLVP <br />
#use delay(clock=20000000) <br />
#use rs232(baud=9600, xmit=PIN_A4, rcv=PIN_A5,RESTART_WDT, ERRORS) <br />
<br />
#define PIN_ST_CP      PIN_C2  // RCLK ----&gt; Pin 12 ST_CP <br />
#define PIN_SH_CP      PIN_C3  // SRCLK ---&gt; Pin 11 SH_CP <br />
#define PIN_SER_IN     PIN_C5  // SER -----&gt; Pin 14 <br />
//#define PIN_MRS       PIN_C1  // PIN 10 <br />
//#define PIN_OE        PIN_C3  // PIN 13 <br />
<br />
<br />
#use fast_io(B) <br />
#use fast_io&copy; <br />
#use fast_io(D) <br />
<br />
long s1_char_size=41; <br />
char s1[79]; <br />
long i; <br />
<br />
//***********************sutunlara bağlı hc595********************************** <br />
#define clock      PIN_B0  // RCLK ----&gt; Pin 12 ST_CP <br />
#define latch      PIN_B2  // SRCLK ---&gt; Pin 11 SH_CP <br />
#define data       PIN_B1  // SER -----&gt; Pin 14 <br />
<br />
void HC595_OUT_satir(unsigned char send_data) <br />
{ <br />
   unsigned char bit_mask; <br />
<br />
   for (bit_mask=1; bit_mask ;bit_mask ]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[ccs c 0-99 sayici display devresi sorunu]]></title>
			<link>http://ccspic.com/forum/showthread.php?tid=39</link>
			<pubDate>Thu, 27 May 2010 15:16:48 +0300</pubDate>
			<guid isPermaLink="false">http://ccspic.com/forum/showthread.php?tid=39</guid>
			<description><![CDATA[herkese merhabalar <br />
<br />
daha ccs i yeni öğrenmeye başladim bir kaynaktan öğrenmeye başladim. Kitapta proteus ve ccs ile ya pilmiş yazilimlarin kodlari var devreyi ve kodlari birebir kitaptaki gibi yazdim satiri satirina ayni olmasina rağmen çalışmadı.Display de sadece 00 ı görebiliyorum saymiyor. <br />
İnceleyip yardimci olursaniz çok sevinirim. <br />
<br />
İyi çalişmalar. <br />
<br />
<br />
devre ektedir.[attachment=5]]]></description>
			<content:encoded><![CDATA[herkese merhabalar <br />
<br />
daha ccs i yeni öğrenmeye başladim bir kaynaktan öğrenmeye başladim. Kitapta proteus ve ccs ile ya pilmiş yazilimlarin kodlari var devreyi ve kodlari birebir kitaptaki gibi yazdim satiri satirina ayni olmasina rağmen çalışmadı.Display de sadece 00 ı görebiliyorum saymiyor. <br />
İnceleyip yardimci olursaniz çok sevinirim. <br />
<br />
İyi çalişmalar. <br />
<br />
<br />
devre ektedir.[attachment=5]]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[kontrol sistemleri ders notları]]></title>
			<link>http://ccspic.com/forum/showthread.php?tid=38</link>
			<pubDate>Fri, 21 May 2010 17:26:20 +0300</pubDate>
			<guid isPermaLink="false">http://ccspic.com/forum/showthread.php?tid=38</guid>
			<description><![CDATA[http://ccspic.com/download/kontrol-siste...omment-800<br />
<br />
bu sitedeki notları aldım.ama pdf dosyası olarak 5-6-7. dosyalar var(sayfa olarak 34-58 arası) bu notların tamamına nasıl ulaşabilirim acaba yardımcı olabilir misiniz?]]></description>
			<content:encoded><![CDATA[http://ccspic.com/download/kontrol-siste...omment-800<br />
<br />
bu sitedeki notları aldım.ama pdf dosyası olarak 5-6-7. dosyalar var(sayfa olarak 34-58 arası) bu notların tamamına nasıl ulaşabilirim acaba yardımcı olabilir misiniz?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Servo motor kontrolü]]></title>
			<link>http://ccspic.com/forum/showthread.php?tid=37</link>
			<pubDate>Wed, 12 May 2010 10:47:28 +0300</pubDate>
			<guid isPermaLink="false">http://ccspic.com/forum/showthread.php?tid=37</guid>
			<description><![CDATA[[attachment=4]PIC16f877 ile servo motor hız kontrolü yapmak istiyorum.<br />
LCD de ilk başta motorun devir / dakika bilgisi sorulacak ve keypad den girilen bilgi hafızaya alınacak. # tuşuna basıldıktan sonra LCD de motorun ne kadar süre döneceği sorulacak ve keypad den girilen bilgi hafızaya alındıktan sonra # tuşuna basılınca motor dönmeye başlayacak. Bu esnada LCD nin ilk satırında motorun kaç devir döndüğü yazacak. İkinci satırda ise girilen süre bilgisi geriye doğru sayacak. * tuşu ise motorun çalışır vaziyette iken durmasını sağlayacak. Bunu ccs ile nasıl yapabilirim. Diğer bir sorum ise proteusta bulunan 5 bacaklı servo motorun bacak bağlantılarını nasıl yapmalıyım. Servo motoru kontrol edememem halinde DC motor kullanmayı düşünüyorum. Yardımcı olur musunuz?]]></description>
			<content:encoded><![CDATA[[attachment=4]PIC16f877 ile servo motor hız kontrolü yapmak istiyorum.<br />
LCD de ilk başta motorun devir / dakika bilgisi sorulacak ve keypad den girilen bilgi hafızaya alınacak. # tuşuna basıldıktan sonra LCD de motorun ne kadar süre döneceği sorulacak ve keypad den girilen bilgi hafızaya alındıktan sonra # tuşuna basılınca motor dönmeye başlayacak. Bu esnada LCD nin ilk satırında motorun kaç devir döndüğü yazacak. İkinci satırda ise girilen süre bilgisi geriye doğru sayacak. * tuşu ise motorun çalışır vaziyette iken durmasını sağlayacak. Bunu ccs ile nasıl yapabilirim. Diğer bir sorum ise proteusta bulunan 5 bacaklı servo motorun bacak bağlantılarını nasıl yapmalıyım. Servo motoru kontrol edememem halinde DC motor kullanmayı düşünüyorum. Yardımcı olur musunuz?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[rf ile pc ye veri aktarımı]]></title>
			<link>http://ccspic.com/forum/showthread.php?tid=36</link>
			<pubDate>Wed, 14 Apr 2010 04:06:49 +0300</pubDate>
			<guid isPermaLink="false">http://ccspic.com/forum/showthread.php?tid=36</guid>
			<description><![CDATA[arkadaşlar bitirme ödevi olarak kablosuz sıcaklık ölçümü yapacam yani bilenler için lm35 sensörüyle sıcaklığı ölçecem bunu bu devre üzerindeki bir lcd ye yazdıracam aynı zamanda rf verici ile sıcaklık bilgisini rf alıcı sayesinde alıcı devresine atacam ve bu alıcı devresini max232 entegresi üzerinden bilgisayarın seri portuna seri porttan iletecem.benim ilk sorum alıcı devresinde yani bilgisayara bağlayacağım devrede pic kullanmak zorunda mıyım? kullandığım rf alıcı-verici udea firmasına ait 433MHz de veri alıp gönderiyor.pic olarak ta verici tarafta 16f877 kullanacam.   proteus dosyalarını eklicektimde yapamadım onu böle yazdım lütfen yardım edin bunu yapmam lazım buna cevap aldıktan sonra donanım kısmı tamam olacak yani ne kullanacağımı çözmüş olacam ve artık yazılım kısmına geçecem tabi orda da baya yardımınızı almayı düşünüyorum lütfen ilgilenin]]></description>
			<content:encoded><![CDATA[arkadaşlar bitirme ödevi olarak kablosuz sıcaklık ölçümü yapacam yani bilenler için lm35 sensörüyle sıcaklığı ölçecem bunu bu devre üzerindeki bir lcd ye yazdıracam aynı zamanda rf verici ile sıcaklık bilgisini rf alıcı sayesinde alıcı devresine atacam ve bu alıcı devresini max232 entegresi üzerinden bilgisayarın seri portuna seri porttan iletecem.benim ilk sorum alıcı devresinde yani bilgisayara bağlayacağım devrede pic kullanmak zorunda mıyım? kullandığım rf alıcı-verici udea firmasına ait 433MHz de veri alıp gönderiyor.pic olarak ta verici tarafta 16f877 kullanacam.   proteus dosyalarını eklicektimde yapamadım onu böle yazdım lütfen yardım edin bunu yapmam lazım buna cevap aldıktan sonra donanım kısmı tamam olacak yani ne kullanacağımı çözmüş olacam ve artık yazılım kısmına geçecem tabi orda da baya yardımınızı almayı düşünüyorum lütfen ilgilenin]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[yeni başlayanlar için basit bir program yazma ve yükleme işlem akışı]]></title>
			<link>http://ccspic.com/forum/showthread.php?tid=25</link>
			<pubDate>Wed, 24 Feb 2010 23:26:06 +0200</pubDate>
			<guid isPermaLink="false">http://ccspic.com/forum/showthread.php?tid=25</guid>
			<description><![CDATA[Arkadaşlar ben yeni öğrenicem. basit bir program yazmak için hangi arayüzde yazılıp hangi programda pic e yüklüyoruz. <br />
yani işlem akışını bir arkadaş bana basit çe anlatabilirmi]]></description>
			<content:encoded><![CDATA[Arkadaşlar ben yeni öğrenicem. basit bir program yazmak için hangi arayüzde yazılıp hangi programda pic e yüklüyoruz. <br />
yani işlem akışını bir arkadaş bana basit çe anlatabilirmi]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[glcd de titreşim]]></title>
			<link>http://ccspic.com/forum/showthread.php?tid=23</link>
			<pubDate>Fri, 08 Jan 2010 20:27:22 +0200</pubDate>
			<guid isPermaLink="false">http://ccspic.com/forum/showthread.php?tid=23</guid>
			<description><![CDATA[bu uygulamada glcd ekran tazeleme hızı neden yavaş kırpişmalı  çalışıyor nedeni nedir yardım lütfen  <br />
#use delay (clock=20000000)<br />
<br />
float volt;<br />
unsıgned long int bilgi;<br />
char yazı5[]="yazı5";<br />
<br />
void main()<br />
{<br />
  setup_adc(adc_clok_div_32);<br />
  setup_adc_ports(an0);<br />
  set_adc_channel(0);<br />
  delay_ms(20);<br />
<br />
  set_tris_a(000001);<br />
 <br />
  glcd init_(on);<br />
  delay_ms(20);<br />
<br />
while()<br />
{<br />
   bilgi=read_adc();<br />
   delay_ms(20);<br />
    volt=bilgi*0.0048;<br />
   <br />
   glcd_text57(9,35,yazi5,3,off);<br />
   sprinf(yazi5,"%3.1f",volt);<br />
   glcd_text57(9,35,yazi5,3,on);<br />
}<br />
}]]></description>
			<content:encoded><![CDATA[bu uygulamada glcd ekran tazeleme hızı neden yavaş kırpişmalı  çalışıyor nedeni nedir yardım lütfen  <br />
#use delay (clock=20000000)<br />
<br />
float volt;<br />
unsıgned long int bilgi;<br />
char yazı5[]="yazı5";<br />
<br />
void main()<br />
{<br />
  setup_adc(adc_clok_div_32);<br />
  setup_adc_ports(an0);<br />
  set_adc_channel(0);<br />
  delay_ms(20);<br />
<br />
  set_tris_a(000001);<br />
 <br />
  glcd init_(on);<br />
  delay_ms(20);<br />
<br />
while()<br />
{<br />
   bilgi=read_adc();<br />
   delay_ms(20);<br />
    volt=bilgi*0.0048;<br />
   <br />
   glcd_text57(9,35,yazi5,3,off);<br />
   sprinf(yazi5,"%3.1f",volt);<br />
   glcd_text57(9,35,yazi5,3,on);<br />
}<br />
}]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[glcd ye sayısal değer yazmak]]></title>
			<link>http://ccspic.com/forum/showthread.php?tid=22</link>
			<pubDate>Sat, 02 Jan 2010 21:28:24 +0200</pubDate>
			<guid isPermaLink="false">http://ccspic.com/forum/showthread.php?tid=22</guid>
			<description><![CDATA[beyler glcd ye sayısal bir değer nasıl yazılır size basit gelebilir ama benim gibi yeni başlayanlara değil yardım lütfen]]></description>
			<content:encoded><![CDATA[beyler glcd ye sayısal bir değer nasıl yazılır size basit gelebilir ama benim gibi yeni başlayanlara değil yardım lütfen]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[MCLR Pinini Çıkış Yapmak]]></title>
			<link>http://ccspic.com/forum/showthread.php?tid=21</link>
			<pubDate>Fri, 01 Jan 2010 16:02:32 +0200</pubDate>
			<guid isPermaLink="false">http://ccspic.com/forum/showthread.php?tid=21</guid>
			<description><![CDATA[Herkese merhaba,<br />
<br />
16f628a kullanarak bir şifreli kilit yapıyorum. MCLR pinini çıkış yapmak için "#FUSES NOMCLR  " komutunu kullanmama rağmen programın simülasyonunda mclr (pina5) ten çıkış alamıyorum. Kodu derlerken bir hata oluşmuyor. Acaba sorun nerede? İlgilenenlere şimdiden teşekkür ederim.<br />
<br />
sifre.h<br />
<br />
Kod:<br />
#include &lt;16F628A.h&gt;<br />
<br />
#FUSES NOWDT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//No Watch Dog Timer<br />
#FUSES INTRC_IO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Internal RC Osc, no CLKOUT<br />
#FUSES NOPUT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//No Power Up Timer<br />
#FUSES NOPROTECT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Code not protected from reading<br />
#FUSES NOBROWNOUT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //No brownout reset<br />
#FUSES NOMCLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Master Clear pin used for I/O<br />
#FUSES NOLVP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O<br />
#FUSES NOCPD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//No EE protection<br />
<br />
#use delay(clock=4000000)<br />
<br />
#define row1 PIN_A4<br />
#define row2 PIN_A7<br />
#define row3 PIN_A6<br />
#define row4 PIN_A1<br />
#define col1 PIN_B3<br />
#define col2 PIN_A3<br />
#define col3 PIN_A2<br />
#define role PIN_A0<br />
#define yanlis pin_a5<br />
<br />
<br />
ana program:<br />
<br />
Kod:<br />
#include "sifre.h"<br />
#include "LCD.H"<br />
<br />
<br />
unsigned int pas1,pas2,pas3,pas4;<br />
unsigned int gec1,gec2,gec3,gec4;<br />
<br />
<br />
unsigned int getkey(void){<br />
int1 a;&nbsp;&nbsp; <br />
kkk:<br />
output_low(row1);<br />
output_low(row2);<br />
output_low(row3);<br />
output_low(row4);<br />
a=input(col1);<br />
a=input(col2);<br />
a=input(col3);<br />
<br />
output_high(row1);<br />
if(input(col1)==1){<br />
 while(input(col1)==1) delay_ms(10);<br />
 output_low(row1);<br />
 //printf(lcd_putc,"1");<br />
 return 1;<br />
}<br />
if(input(col2)==1){<br />
 while(input(col2)==1) delay_ms(10);<br />
 output_low(row1);<br />
//printf(lcd_putc,"2");<br />
&nbsp;&nbsp;return 2;<br />
}<br />
if(input(col3)==1){<br />
 while(input(col3)==1) delay_ms(10);<br />
 output_low(row1);<br />
//printf(lcd_putc,"3");<br />
&nbsp;&nbsp;return 3;<br />
}<br />
output_low(row1);<br />
<br />
output_high(row2);<br />
if(input(col1)==1){<br />
 while(input(col1)==1) delay_ms(10);<br />
 output_low(row1);<br />
//printf(lcd_putc,"4");<br />
&nbsp;&nbsp;return 4;<br />
}<br />
if(input(col2)==1){<br />
 while(input(col2)==1) delay_ms(10);<br />
 output_low(row1);<br />
//printf(lcd_putc,"5");<br />
&nbsp;&nbsp;return 5;<br />
}<br />
if(input(col3)==1){<br />
 while(input(col3)==1) delay_ms(10);<br />
 output_low(row1);<br />
// printf(lcd_putc,"6");<br />
 return 6;<br />
}<br />
output_low(row2);<br />
<br />
<br />
output_high(row3);<br />
if(input(col1)==1){<br />
 while(input(col1)==1) delay_ms(10);<br />
 output_low(row1);<br />
////printf(lcd_putc,"7");<br />
&nbsp;&nbsp;return 7;<br />
}<br />
if(input(col2)==1){<br />
 while(input(col2)==1) delay_ms(10);<br />
 output_low(row1);<br />
//printf(lcd_putc,"8");<br />
&nbsp;&nbsp;return 8;<br />
}<br />
if(input(col3)==1){<br />
 while(input(col3)==1) delay_ms(10);<br />
 output_low(row1);<br />
//printf(lcd_putc,"9");<br />
&nbsp;&nbsp;return 9;<br />
}<br />
output_low(row3);<br />
<br />
<br />
output_high(row4);<br />
if(input(col1)==1){<br />
 while(input(col1)==1) delay_ms(10);<br />
 output_low(row1);<br />
 return 10;<br />
}<br />
if(input(col2)==1){<br />
 while(input(col2)==1) delay_ms(10);<br />
 output_low(row1);<br />
//printf(lcd_putc,"0");<br />
&nbsp;&nbsp;return 0;<br />
}<br />
if(input(col3)==1){<br />
 while(input(col3)==1) delay_ms(10);<br />
 output_low(row1);<br />
 return 11;<br />
}<br />
output_low(row4);<br />
goto kkk;<br />
}<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
void main()<br />
{<br />
&nbsp;&nbsp; setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);<br />
&nbsp;&nbsp; setup_timer_1(T1_DISABLED);<br />
&nbsp;&nbsp; setup_timer_2(T2_DISABLED,0,1);<br />
&nbsp;&nbsp; setup_comparator(NC_NC_NC_NC);<br />
&nbsp;&nbsp; setup_vref(FALSE);<br />
&nbsp;&nbsp; setup_oscillator(OSC_4MHZ);<br />
&nbsp;&nbsp; lcd_init();<br />
&nbsp;&nbsp; delay_ms(10);<br />
&nbsp;&nbsp; printf(lcd_putc,"&#92;flutfen sifrenizi&#92;ngirin");<br />
&nbsp;&nbsp; pas1=read_eeprom(0);&nbsp;&nbsp; pas2=read_eeprom(1);&nbsp;&nbsp; pas3=read_eeprom(2);&nbsp;&nbsp; pas4=read_eeprom(3);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(TRUE){<br />
&nbsp;&nbsp; //şifre değiştirme<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(getkey()==11){&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(lcd_putc,"&#92;feski sifreniz?&#92;n");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gec1=getkey();printf(lcd_putc,"&#92;n*");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gec2=getkey();printf(lcd_putc,"*");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gec3=getkey();printf(lcd_putc,"*");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gec4=getkey();printf(lcd_putc,"*");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if((gec1==pas1) &amp;&amp; (gec2==pas2) &amp;&amp; (gec3==pas3)&amp;&amp; (gec4==pas4)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(lcd_putc,"&#92;fyeni sifreniz?&#92;n");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pas1=getkey();printf(lcd_putc,"&#92;n*");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pas2=getkey();printf(lcd_putc,"*");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pas3=getkey();printf(lcd_putc,"*");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pas4=getkey();printf(lcd_putc,"*");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write_eeprom(0,pas1);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write_eeprom(1,pas2);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write_eeprom(2,pas3);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write_eeprom(3,pas4);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(lcd_putc,"&#92;fsifreniz kaydedildi&#92;n");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delay_ms(1000);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(lcd_putc,"&#92;fHOS&#92;nGELDINIZ");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(lcd_putc,"&#92;fHata");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; output_high(yanlis);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delay_ms(1000);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(lcd_putc,"&#92;ftekrar&#92;ndeneyin");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delay_ms(2000);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; output_low(yanlis);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp; //kapıyı açma&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(getkey()==10){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(lcd_putc,"&#92;fsifre gir");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gec1=getkey();printf(lcd_putc,"&#92;n*");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gec2=getkey();printf(lcd_putc,"*");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gec3=getkey();printf(lcd_putc,"*");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gec4=getkey();printf(lcd_putc,"*");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if((gec1==pas1) &amp;&amp; (gec2==pas2) &amp;&amp; (gec3==pas3)&amp;&amp; (gec4==pas4)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output_high(role);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(lcd_putc,"&#92;fsifre dogru");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay_ms(5000);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output_low(role);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(lcd_putc,"&#92;fiyi&#92;ngunler");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(lcd_putc,"&#92;fhatali giris");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output_high(yanlis);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay_ms(4000);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(lcd_putc,"&#92;ftekrar deneyin");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output_low(yanlis);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay_ms(1000);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp; }<br />
}<br />
<br />
<br />
#rom&nbsp;&nbsp;0x2100={0,0,0,0}<br />
<br />
]]></description>
			<content:encoded><![CDATA[Herkese merhaba,<br />
<br />
16f628a kullanarak bir şifreli kilit yapıyorum. MCLR pinini çıkış yapmak için "#FUSES NOMCLR  " komutunu kullanmama rağmen programın simülasyonunda mclr (pina5) ten çıkış alamıyorum. Kodu derlerken bir hata oluşmuyor. Acaba sorun nerede? İlgilenenlere şimdiden teşekkür ederim.<br />
<br />
sifre.h<br />
<br />
Kod:<br />
#include &lt;16F628A.h&gt;<br />
<br />
#FUSES NOWDT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//No Watch Dog Timer<br />
#FUSES INTRC_IO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Internal RC Osc, no CLKOUT<br />
#FUSES NOPUT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//No Power Up Timer<br />
#FUSES NOPROTECT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Code not protected from reading<br />
#FUSES NOBROWNOUT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //No brownout reset<br />
#FUSES NOMCLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Master Clear pin used for I/O<br />
#FUSES NOLVP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O<br />
#FUSES NOCPD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//No EE protection<br />
<br />
#use delay(clock=4000000)<br />
<br />
#define row1 PIN_A4<br />
#define row2 PIN_A7<br />
#define row3 PIN_A6<br />
#define row4 PIN_A1<br />
#define col1 PIN_B3<br />
#define col2 PIN_A3<br />
#define col3 PIN_A2<br />
#define role PIN_A0<br />
#define yanlis pin_a5<br />
<br />
<br />
ana program:<br />
<br />
Kod:<br />
#include "sifre.h"<br />
#include "LCD.H"<br />
<br />
<br />
unsigned int pas1,pas2,pas3,pas4;<br />
unsigned int gec1,gec2,gec3,gec4;<br />
<br />
<br />
unsigned int getkey(void){<br />
int1 a;&nbsp;&nbsp; <br />
kkk:<br />
output_low(row1);<br />
output_low(row2);<br />
output_low(row3);<br />
output_low(row4);<br />
a=input(col1);<br />
a=input(col2);<br />
a=input(col3);<br />
<br />
output_high(row1);<br />
if(input(col1)==1){<br />
 while(input(col1)==1) delay_ms(10);<br />
 output_low(row1);<br />
 //printf(lcd_putc,"1");<br />
 return 1;<br />
}<br />
if(input(col2)==1){<br />
 while(input(col2)==1) delay_ms(10);<br />
 output_low(row1);<br />
//printf(lcd_putc,"2");<br />
&nbsp;&nbsp;return 2;<br />
}<br />
if(input(col3)==1){<br />
 while(input(col3)==1) delay_ms(10);<br />
 output_low(row1);<br />
//printf(lcd_putc,"3");<br />
&nbsp;&nbsp;return 3;<br />
}<br />
output_low(row1);<br />
<br />
output_high(row2);<br />
if(input(col1)==1){<br />
 while(input(col1)==1) delay_ms(10);<br />
 output_low(row1);<br />
//printf(lcd_putc,"4");<br />
&nbsp;&nbsp;return 4;<br />
}<br />
if(input(col2)==1){<br />
 while(input(col2)==1) delay_ms(10);<br />
 output_low(row1);<br />
//printf(lcd_putc,"5");<br />
&nbsp;&nbsp;return 5;<br />
}<br />
if(input(col3)==1){<br />
 while(input(col3)==1) delay_ms(10);<br />
 output_low(row1);<br />
// printf(lcd_putc,"6");<br />
 return 6;<br />
}<br />
output_low(row2);<br />
<br />
<br />
output_high(row3);<br />
if(input(col1)==1){<br />
 while(input(col1)==1) delay_ms(10);<br />
 output_low(row1);<br />
////printf(lcd_putc,"7");<br />
&nbsp;&nbsp;return 7;<br />
}<br />
if(input(col2)==1){<br />
 while(input(col2)==1) delay_ms(10);<br />
 output_low(row1);<br />
//printf(lcd_putc,"8");<br />
&nbsp;&nbsp;return 8;<br />
}<br />
if(input(col3)==1){<br />
 while(input(col3)==1) delay_ms(10);<br />
 output_low(row1);<br />
//printf(lcd_putc,"9");<br />
&nbsp;&nbsp;return 9;<br />
}<br />
output_low(row3);<br />
<br />
<br />
output_high(row4);<br />
if(input(col1)==1){<br />
 while(input(col1)==1) delay_ms(10);<br />
 output_low(row1);<br />
 return 10;<br />
}<br />
if(input(col2)==1){<br />
 while(input(col2)==1) delay_ms(10);<br />
 output_low(row1);<br />
//printf(lcd_putc,"0");<br />
&nbsp;&nbsp;return 0;<br />
}<br />
if(input(col3)==1){<br />
 while(input(col3)==1) delay_ms(10);<br />
 output_low(row1);<br />
 return 11;<br />
}<br />
output_low(row4);<br />
goto kkk;<br />
}<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
void main()<br />
{<br />
&nbsp;&nbsp; setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);<br />
&nbsp;&nbsp; setup_timer_1(T1_DISABLED);<br />
&nbsp;&nbsp; setup_timer_2(T2_DISABLED,0,1);<br />
&nbsp;&nbsp; setup_comparator(NC_NC_NC_NC);<br />
&nbsp;&nbsp; setup_vref(FALSE);<br />
&nbsp;&nbsp; setup_oscillator(OSC_4MHZ);<br />
&nbsp;&nbsp; lcd_init();<br />
&nbsp;&nbsp; delay_ms(10);<br />
&nbsp;&nbsp; printf(lcd_putc,"&#92;flutfen sifrenizi&#92;ngirin");<br />
&nbsp;&nbsp; pas1=read_eeprom(0);&nbsp;&nbsp; pas2=read_eeprom(1);&nbsp;&nbsp; pas3=read_eeprom(2);&nbsp;&nbsp; pas4=read_eeprom(3);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(TRUE){<br />
&nbsp;&nbsp; //şifre değiştirme<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(getkey()==11){&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(lcd_putc,"&#92;feski sifreniz?&#92;n");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gec1=getkey();printf(lcd_putc,"&#92;n*");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gec2=getkey();printf(lcd_putc,"*");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gec3=getkey();printf(lcd_putc,"*");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gec4=getkey();printf(lcd_putc,"*");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if((gec1==pas1) &amp;&amp; (gec2==pas2) &amp;&amp; (gec3==pas3)&amp;&amp; (gec4==pas4)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(lcd_putc,"&#92;fyeni sifreniz?&#92;n");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pas1=getkey();printf(lcd_putc,"&#92;n*");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pas2=getkey();printf(lcd_putc,"*");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pas3=getkey();printf(lcd_putc,"*");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pas4=getkey();printf(lcd_putc,"*");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write_eeprom(0,pas1);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write_eeprom(1,pas2);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write_eeprom(2,pas3);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write_eeprom(3,pas4);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(lcd_putc,"&#92;fsifreniz kaydedildi&#92;n");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delay_ms(1000);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(lcd_putc,"&#92;fHOS&#92;nGELDINIZ");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(lcd_putc,"&#92;fHata");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; output_high(yanlis);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delay_ms(1000);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(lcd_putc,"&#92;ftekrar&#92;ndeneyin");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delay_ms(2000);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; output_low(yanlis);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp; //kapıyı açma&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(getkey()==10){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(lcd_putc,"&#92;fsifre gir");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gec1=getkey();printf(lcd_putc,"&#92;n*");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gec2=getkey();printf(lcd_putc,"*");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gec3=getkey();printf(lcd_putc,"*");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gec4=getkey();printf(lcd_putc,"*");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if((gec1==pas1) &amp;&amp; (gec2==pas2) &amp;&amp; (gec3==pas3)&amp;&amp; (gec4==pas4)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output_high(role);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(lcd_putc,"&#92;fsifre dogru");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay_ms(5000);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output_low(role);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(lcd_putc,"&#92;fiyi&#92;ngunler");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(lcd_putc,"&#92;fhatali giris");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output_high(yanlis);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay_ms(4000);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(lcd_putc,"&#92;ftekrar deneyin");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output_low(yanlis);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay_ms(1000);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp; }<br />
}<br />
<br />
<br />
#rom&nbsp;&nbsp;0x2100={0,0,0,0}<br />
<br />
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[ikili displayde arttır azalt butonları ile sayma yardım]]></title>
			<link>http://ccspic.com/forum/showthread.php?tid=20</link>
			<pubDate>Sun, 13 Dec 2009 14:28:55 +0200</pubDate>
			<guid isPermaLink="false">http://ccspic.com/forum/showthread.php?tid=20</guid>
			<description><![CDATA[değerli admin sitenizin yardımıyla hayli yol kat ettim tşkler.<br />
ikili display ile 0-99 arttır azalt butonları olan bir kod yazdım arttır azaltda hiçbir sorun yok ancak arttır butonu ile diyelimki 20 rakkaımını seştim 20 rakkamını seçtikten 10 saniye sonra 1 er dakika ara ile geriye saysın istiyorum geriy e sayma işlemini bir türl yapamadım if döngüsü ile mi yoksa for döngüsü ilemi yapmalıyım kodu aşağıya yazıyorum<br />
yardımlarınızı bekliyorum<br />
<br />
#include "C:\Documents and Settings\skyvision\Belgelerim\CCS S DENEME\displayuygulama\16f877ikilidisplay\Yeni Klasör (2)\main.h"<br />
#use fast_io(a)<br />
#use fast_io(b)<br />
#define display_1 pin_a0<br />
#define display_2 pin_a1<br />
#define arttir pin_a2<br />
#define azalt pin_a3<br />
<br />
char birler=0,onlar=0,sayi=0;<br />
const int digit[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x6 f};<br />
<br />
<br />
void main()<br />
{<br />
<br />
setup_adc_ports(NO_ANALOGS);<br />
setup_adc(ADC_OFF);<br />
setup_psp(PSP_DISABLED);<br />
setup_spi(SPI_SS_DISABLED);<br />
setup_timer_1(T1_DISABLED);<br />
setup_timer_2(T2_DISABLED,0,1);<br />
setup_comparator(NC_NC_NC_NC);<br />
setup_vref(FALSE);<br />
set_tris_a(0xfc);<br />
set_tris_b(0x00);<br />
output_low(display_1);<br />
output_low(display_2);<br />
<br />
<br />
<br />
<br />
while(true)<br />
<br />
{<br />
<br />
birler=sayi%10;<br />
onlar=sayi/10;<br />
output_high(display_2);<br />
output_b(digit[birler]);<br />
delay_ms(5);<br />
output_low(display_2);<br />
output_high(display_1);<br />
output_b(digit[onlar]);<br />
delay_ms(5);<br />
output_low(display_1);<br />
<br />
<br />
if(input(arttir))<br />
<br />
{<br />
delay_ms(10);// buton arkını önlemek için gecikme<br />
sayi++;<br />
if(sayi==100)<br />
sayi=0;<br />
birler=sayi%10;<br />
onlar=sayi/10;<br />
<br />
while(input(arttir))<br />
<br />
{<br />
<br />
output_high(display_2);<br />
output_b(digit[birler]);<br />
delay_ms(5);<br />
output_low(display_2);<br />
output_high(display_1);<br />
output_b(digit[onlar]);<br />
delay_ms(5);<br />
output_low(display_1);<br />
<br />
}<br />
}<br />
<br />
if(input(azalt)&&(sayi!=0))<br />
<br />
{<br />
delay_ms(10);<br />
sayi--;<br />
if(sayi==100)<br />
sayi=0;// sayi sıfır olmadığı sürece döngüyü işle<br />
birler=sayi%10;<br />
onlar=sayi/10;<br />
while(input(azalt))<br />
<br />
{<br />
<br />
output_high(display_2);<br />
output_b(digit[birler]);<br />
delay_ms(5);<br />
output_low(display_2);<br />
output_high(display_1);<br />
output_b(digit[onlar]);<br />
delay_ms(5);<br />
output_low(display_1);<br />
<br />
}<br />
}//BURAYA KADAR KOD ÇALIŞIYOR ANCAK BURADAN SONRASI YOK<br />
while(sayi>0)<br />
<br />
{<br />
for(sayi=99;sayi]]></description>
			<content:encoded><![CDATA[değerli admin sitenizin yardımıyla hayli yol kat ettim tşkler.<br />
ikili display ile 0-99 arttır azalt butonları olan bir kod yazdım arttır azaltda hiçbir sorun yok ancak arttır butonu ile diyelimki 20 rakkaımını seştim 20 rakkamını seçtikten 10 saniye sonra 1 er dakika ara ile geriye saysın istiyorum geriy e sayma işlemini bir türl yapamadım if döngüsü ile mi yoksa for döngüsü ilemi yapmalıyım kodu aşağıya yazıyorum<br />
yardımlarınızı bekliyorum<br />
<br />
#include "C:\Documents and Settings\skyvision\Belgelerim\CCS S DENEME\displayuygulama\16f877ikilidisplay\Yeni Klasör (2)\main.h"<br />
#use fast_io(a)<br />
#use fast_io(b)<br />
#define display_1 pin_a0<br />
#define display_2 pin_a1<br />
#define arttir pin_a2<br />
#define azalt pin_a3<br />
<br />
char birler=0,onlar=0,sayi=0;<br />
const int digit[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x6 f};<br />
<br />
<br />
void main()<br />
{<br />
<br />
setup_adc_ports(NO_ANALOGS);<br />
setup_adc(ADC_OFF);<br />
setup_psp(PSP_DISABLED);<br />
setup_spi(SPI_SS_DISABLED);<br />
setup_timer_1(T1_DISABLED);<br />
setup_timer_2(T2_DISABLED,0,1);<br />
setup_comparator(NC_NC_NC_NC);<br />
setup_vref(FALSE);<br />
set_tris_a(0xfc);<br />
set_tris_b(0x00);<br />
output_low(display_1);<br />
output_low(display_2);<br />
<br />
<br />
<br />
<br />
while(true)<br />
<br />
{<br />
<br />
birler=sayi%10;<br />
onlar=sayi/10;<br />
output_high(display_2);<br />
output_b(digit[birler]);<br />
delay_ms(5);<br />
output_low(display_2);<br />
output_high(display_1);<br />
output_b(digit[onlar]);<br />
delay_ms(5);<br />
output_low(display_1);<br />
<br />
<br />
if(input(arttir))<br />
<br />
{<br />
delay_ms(10);// buton arkını önlemek için gecikme<br />
sayi++;<br />
if(sayi==100)<br />
sayi=0;<br />
birler=sayi%10;<br />
onlar=sayi/10;<br />
<br />
while(input(arttir))<br />
<br />
{<br />
<br />
output_high(display_2);<br />
output_b(digit[birler]);<br />
delay_ms(5);<br />
output_low(display_2);<br />
output_high(display_1);<br />
output_b(digit[onlar]);<br />
delay_ms(5);<br />
output_low(display_1);<br />
<br />
}<br />
}<br />
<br />
if(input(azalt)&&(sayi!=0))<br />
<br />
{<br />
delay_ms(10);<br />
sayi--;<br />
if(sayi==100)<br />
sayi=0;// sayi sıfır olmadığı sürece döngüyü işle<br />
birler=sayi%10;<br />
onlar=sayi/10;<br />
while(input(azalt))<br />
<br />
{<br />
<br />
output_high(display_2);<br />
output_b(digit[birler]);<br />
delay_ms(5);<br />
output_low(display_2);<br />
output_high(display_1);<br />
output_b(digit[onlar]);<br />
delay_ms(5);<br />
output_low(display_1);<br />
<br />
}<br />
}//BURAYA KADAR KOD ÇALIŞIYOR ANCAK BURADAN SONRASI YOK<br />
while(sayi>0)<br />
<br />
{<br />
for(sayi=99;sayi]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Şifreli Kilit]]></title>
			<link>http://ccspic.com/forum/showthread.php?tid=19</link>
			<pubDate>Fri, 11 Dec 2009 10:25:32 +0200</pubDate>
			<guid isPermaLink="false">http://ccspic.com/forum/showthread.php?tid=19</guid>
			<description><![CDATA[Herkese Merhaba,<br />
Tuş takımı ve lcd kullanarak şifreli kilit yapmak istiyorum. Bunun için Serdar Çiçek'in kitabındaki "tuş takımı ve lcd uygulaması" örneğinden yararlanmaya çalıştım ayrıca eeprom kullanmam gerekiyor bunu da biliyorum. Soruma gelince tuş takımından gelen sayıları bir değişkene nasıl atayabilirim? Yazan kodda uğraştım biraz ama işin içinden çıkamadım. Her bir karakteri for döngüsü ile alıp bunu dizinin içinde saklayıp daha sonra da eeprom'a kaydetmek istiyorum. Bir yol gösteren olursa sevirim. Bir de sayıları alırken taram yöntemiyle alıyorum ve proteus'ta çalıştırırken aşırı yükleme oluyor. Acaba gerçekte de böyle bir sorunla karşılaşır mıyım? (aşağıdaki bağlantıda şema mevcut)<br />
Şimdiden teşekkür ederim.<br />
<br />
<br />
Kod:<br />
#include &lt;16f877.h&gt;&nbsp;&nbsp;&nbsp;&nbsp; // Kullanılacak denetleyicinin başlık dosyası tanıtılıyor.<br />
<br />
// Denetleyici konfigürasyon ayarları<br />
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD<br />
<br />
#use delay (clock=4000000) // Gecikme fonksiyonu için kullanılacak osilatör frekansı belirtiliyor.<br />
<br />
#use fast_io(b) //Port yönlendirme komutları B portu için geçerli<br />
#use fast_io(d) //Port yönlendirme komutları B portu için geçerli<br />
<br />
#define use_portb_lcd TRUE&nbsp;&nbsp; // LCD B portuna bağlı<br />
<br />
#include &lt;lcd.c&gt;&nbsp;&nbsp; // lcd.c dosyası tanıtılıyor<br />
<br />
#define sut1&nbsp;&nbsp; pin_d0 // sut1 ifadesi pin_d0 ifadesine eşitleniyor<br />
#define sut2&nbsp;&nbsp; pin_d1 // sut2 ifadesi pin_d1 ifadesine eşitleniyor<br />
#define sut3&nbsp;&nbsp; pin_d2 // sut3 ifadesi pin_d2 ifadesine eşitleniyor<br />
<br />
#define sat1&nbsp;&nbsp; pin_d3 // sat1 ifadesi pin_d3 ifadesine eşitleniyor<br />
#define sat2&nbsp;&nbsp; pin_d4 // sat2 ifadesi pin_d4 ifadesine eşitleniyor<br />
#define sat3&nbsp;&nbsp; pin_d5 // sat3 ifadesi pin_d5 ifadesine eşitleniyor<br />
#define sat4&nbsp;&nbsp; pin_d6 // sat3 ifadesi pin_d6 ifadesine eşitleniyor<br />
<br />
 char tus=0; // karakter tipinde değişken tanımlanıyor<br />
 char sifre[];<br />
 int i;<br />
<br />
//*********** Keypad Tarama Fonksiyonu *********<br />
<br />
char keypad_oku() // Fonksiyon ismi<br />
{<br />
&nbsp;&nbsp; output_d(0x00); // D portu çıkışı sıfırlanıyor<br />
<br />
&nbsp;&nbsp; output_high(sat1); // 1. satır lojik-1 yapılıyor<br />
&nbsp;&nbsp; if (input(sut1))&nbsp;&nbsp; // 1. sütun okunuyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ delay_ms(20); tus=1; }<br />
&nbsp;&nbsp; if (input(sut2))&nbsp;&nbsp; // 2. sütun okunuyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ delay_ms(20); tus=2; }<br />
&nbsp;&nbsp; if (input(sut3))&nbsp;&nbsp; // 3. sütun okunuyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ delay_ms(20); tus=3; }<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp; output_low(sat1); // 1. satır lojik-0 yapılıyor<br />
<br />
&nbsp;&nbsp; output_high(sat2); // 2. satır lojik-1 yapılıyoradf<br />
&nbsp;&nbsp; if (input(sut1))&nbsp;&nbsp; // 1. sütun okunuyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ delay_ms(20); tus=4; }<br />
&nbsp;&nbsp; if (input(sut2))&nbsp;&nbsp; // 2. sütun okunuyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ delay_ms(20); tus=5; }<br />
&nbsp;&nbsp; if (input(sut3))&nbsp;&nbsp; // 3. sütun okunuyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ delay_ms(20); tus=6; }<br />
<br />
&nbsp;&nbsp; output_low(sat2); // 2. satır lojik-0 yapılıyor<br />
<br />
&nbsp;&nbsp; output_high(sat3); // 3. satır lojik-1 yapılıyor<br />
&nbsp;&nbsp; if (input(sut1))&nbsp;&nbsp; // 1. sütun okunuyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ delay_ms(20); tus=7; }<br />
&nbsp;&nbsp; if (input(sut2))&nbsp;&nbsp; // 2. sütun okunuyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ delay_ms(20); tus=8; }<br />
&nbsp;&nbsp; if (input(sut3))&nbsp;&nbsp; // 3. sütun okunuyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ delay_ms(20); tus=9; }<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; output_low(sat3); // 3. satır lojik-0 yapılıyor<br />
<br />
&nbsp;&nbsp; output_high(sat4); // 3. satır lojik-1 yapılıyor<br />
&nbsp;&nbsp; if (input(sut1))&nbsp;&nbsp; // 1. sütun okunuyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ delay_ms(20); tus='*'; }<br />
&nbsp;&nbsp; if (input(sut2))&nbsp;&nbsp; // 2. sütun okunuyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ delay_ms(20); tus=0; }<br />
&nbsp;&nbsp; if (input(sut3))&nbsp;&nbsp; // 3. sütun okunuyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ delay_ms(20); tus='#'; }<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; output_low(sat4); // 3. satır lojik-0 yapılıyor<br />
<br />
&nbsp;&nbsp; return tus; // Fonksiyon "tus" değeri ile geri döner<br />
}<br />
<br />
//********** ANA PROGRAM FONKSİYONU*******<br />
<br />
void main ( )<br />
{<br />
&nbsp;&nbsp; setup_psp(PSP_DISABLED);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// PSP birimi devre dışı<br />
&nbsp;&nbsp; setup_spi(SPI_SS_DISABLED);&nbsp;&nbsp;&nbsp;&nbsp; // SPI birimi devre dışı<br />
&nbsp;&nbsp; setup_timer_1(T1_DISABLED);&nbsp;&nbsp;&nbsp;&nbsp; // T1 zamanlayıcısı devre dışı<br />
&nbsp;&nbsp; setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı<br />
&nbsp;&nbsp; setup_adc_ports(NO_ANALOGS);&nbsp;&nbsp;&nbsp;&nbsp;// ANALOG giriş yok<br />
&nbsp;&nbsp; setup_adc(ADC_OFF);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // ADC birimi devre dışı<br />
<br />
&nbsp;&nbsp; set_tris_b(0x00);&nbsp;&nbsp; // B portu komple çıkış<br />
&nbsp;&nbsp; set_tris_d(0x0F);&nbsp;&nbsp; // Yüksek değerlikli 4 bit çıkış, düşük değerlikli 4 bit giriş<br />
<br />
&nbsp;&nbsp; lcd_init();&nbsp;&nbsp; // LCD hazırlanıyor<br />
<br />
&nbsp;&nbsp; printf(lcd_putc,"&#92;fsifre="); // LCD'ye string yazdırılıyor<br />
<br />
&nbsp;&nbsp; while(1) // Sonsuz döngü<br />
&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//lcd_gotoxy(2,2); // İmleç 3.sütun, 1.satıra konumlandırılıyor<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//if (keypad_oku()&lt;=9)&nbsp;&nbsp; // Eğer basılan tuş değeri 9'dan büyük ise<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(lcd_putc,"%d",keypad_oku());&nbsp;&nbsp;// Tuş değeri LCD'ye yazdırılıyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Eğer basılan tuş değeri 9'dan büyük değilse<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //printf(lcd_putc,"%c ",keypad_oku()); // Tuş değeri LCD'ye yazdırılıyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;for(i=1; i=4; i++)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sifre[i]=keypad_oku();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lcd_gotoxy(2,i);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(lcd_putc,"%c ",sifre[i]);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp; }<br />
}<br />
<br />
]]></description>
			<content:encoded><![CDATA[Herkese Merhaba,<br />
Tuş takımı ve lcd kullanarak şifreli kilit yapmak istiyorum. Bunun için Serdar Çiçek'in kitabındaki "tuş takımı ve lcd uygulaması" örneğinden yararlanmaya çalıştım ayrıca eeprom kullanmam gerekiyor bunu da biliyorum. Soruma gelince tuş takımından gelen sayıları bir değişkene nasıl atayabilirim? Yazan kodda uğraştım biraz ama işin içinden çıkamadım. Her bir karakteri for döngüsü ile alıp bunu dizinin içinde saklayıp daha sonra da eeprom'a kaydetmek istiyorum. Bir yol gösteren olursa sevirim. Bir de sayıları alırken taram yöntemiyle alıyorum ve proteus'ta çalıştırırken aşırı yükleme oluyor. Acaba gerçekte de böyle bir sorunla karşılaşır mıyım? (aşağıdaki bağlantıda şema mevcut)<br />
Şimdiden teşekkür ederim.<br />
<br />
<br />
Kod:<br />
#include &lt;16f877.h&gt;&nbsp;&nbsp;&nbsp;&nbsp; // Kullanılacak denetleyicinin başlık dosyası tanıtılıyor.<br />
<br />
// Denetleyici konfigürasyon ayarları<br />
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD<br />
<br />
#use delay (clock=4000000) // Gecikme fonksiyonu için kullanılacak osilatör frekansı belirtiliyor.<br />
<br />
#use fast_io(b) //Port yönlendirme komutları B portu için geçerli<br />
#use fast_io(d) //Port yönlendirme komutları B portu için geçerli<br />
<br />
#define use_portb_lcd TRUE&nbsp;&nbsp; // LCD B portuna bağlı<br />
<br />
#include &lt;lcd.c&gt;&nbsp;&nbsp; // lcd.c dosyası tanıtılıyor<br />
<br />
#define sut1&nbsp;&nbsp; pin_d0 // sut1 ifadesi pin_d0 ifadesine eşitleniyor<br />
#define sut2&nbsp;&nbsp; pin_d1 // sut2 ifadesi pin_d1 ifadesine eşitleniyor<br />
#define sut3&nbsp;&nbsp; pin_d2 // sut3 ifadesi pin_d2 ifadesine eşitleniyor<br />
<br />
#define sat1&nbsp;&nbsp; pin_d3 // sat1 ifadesi pin_d3 ifadesine eşitleniyor<br />
#define sat2&nbsp;&nbsp; pin_d4 // sat2 ifadesi pin_d4 ifadesine eşitleniyor<br />
#define sat3&nbsp;&nbsp; pin_d5 // sat3 ifadesi pin_d5 ifadesine eşitleniyor<br />
#define sat4&nbsp;&nbsp; pin_d6 // sat3 ifadesi pin_d6 ifadesine eşitleniyor<br />
<br />
 char tus=0; // karakter tipinde değişken tanımlanıyor<br />
 char sifre[];<br />
 int i;<br />
<br />
//*********** Keypad Tarama Fonksiyonu *********<br />
<br />
char keypad_oku() // Fonksiyon ismi<br />
{<br />
&nbsp;&nbsp; output_d(0x00); // D portu çıkışı sıfırlanıyor<br />
<br />
&nbsp;&nbsp; output_high(sat1); // 1. satır lojik-1 yapılıyor<br />
&nbsp;&nbsp; if (input(sut1))&nbsp;&nbsp; // 1. sütun okunuyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ delay_ms(20); tus=1; }<br />
&nbsp;&nbsp; if (input(sut2))&nbsp;&nbsp; // 2. sütun okunuyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ delay_ms(20); tus=2; }<br />
&nbsp;&nbsp; if (input(sut3))&nbsp;&nbsp; // 3. sütun okunuyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ delay_ms(20); tus=3; }<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp; output_low(sat1); // 1. satır lojik-0 yapılıyor<br />
<br />
&nbsp;&nbsp; output_high(sat2); // 2. satır lojik-1 yapılıyoradf<br />
&nbsp;&nbsp; if (input(sut1))&nbsp;&nbsp; // 1. sütun okunuyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ delay_ms(20); tus=4; }<br />
&nbsp;&nbsp; if (input(sut2))&nbsp;&nbsp; // 2. sütun okunuyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ delay_ms(20); tus=5; }<br />
&nbsp;&nbsp; if (input(sut3))&nbsp;&nbsp; // 3. sütun okunuyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ delay_ms(20); tus=6; }<br />
<br />
&nbsp;&nbsp; output_low(sat2); // 2. satır lojik-0 yapılıyor<br />
<br />
&nbsp;&nbsp; output_high(sat3); // 3. satır lojik-1 yapılıyor<br />
&nbsp;&nbsp; if (input(sut1))&nbsp;&nbsp; // 1. sütun okunuyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ delay_ms(20); tus=7; }<br />
&nbsp;&nbsp; if (input(sut2))&nbsp;&nbsp; // 2. sütun okunuyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ delay_ms(20); tus=8; }<br />
&nbsp;&nbsp; if (input(sut3))&nbsp;&nbsp; // 3. sütun okunuyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ delay_ms(20); tus=9; }<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; output_low(sat3); // 3. satır lojik-0 yapılıyor<br />
<br />
&nbsp;&nbsp; output_high(sat4); // 3. satır lojik-1 yapılıyor<br />
&nbsp;&nbsp; if (input(sut1))&nbsp;&nbsp; // 1. sütun okunuyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ delay_ms(20); tus='*'; }<br />
&nbsp;&nbsp; if (input(sut2))&nbsp;&nbsp; // 2. sütun okunuyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ delay_ms(20); tus=0; }<br />
&nbsp;&nbsp; if (input(sut3))&nbsp;&nbsp; // 3. sütun okunuyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ delay_ms(20); tus='#'; }<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; output_low(sat4); // 3. satır lojik-0 yapılıyor<br />
<br />
&nbsp;&nbsp; return tus; // Fonksiyon "tus" değeri ile geri döner<br />
}<br />
<br />
//********** ANA PROGRAM FONKSİYONU*******<br />
<br />
void main ( )<br />
{<br />
&nbsp;&nbsp; setup_psp(PSP_DISABLED);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// PSP birimi devre dışı<br />
&nbsp;&nbsp; setup_spi(SPI_SS_DISABLED);&nbsp;&nbsp;&nbsp;&nbsp; // SPI birimi devre dışı<br />
&nbsp;&nbsp; setup_timer_1(T1_DISABLED);&nbsp;&nbsp;&nbsp;&nbsp; // T1 zamanlayıcısı devre dışı<br />
&nbsp;&nbsp; setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı<br />
&nbsp;&nbsp; setup_adc_ports(NO_ANALOGS);&nbsp;&nbsp;&nbsp;&nbsp;// ANALOG giriş yok<br />
&nbsp;&nbsp; setup_adc(ADC_OFF);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // ADC birimi devre dışı<br />
<br />
&nbsp;&nbsp; set_tris_b(0x00);&nbsp;&nbsp; // B portu komple çıkış<br />
&nbsp;&nbsp; set_tris_d(0x0F);&nbsp;&nbsp; // Yüksek değerlikli 4 bit çıkış, düşük değerlikli 4 bit giriş<br />
<br />
&nbsp;&nbsp; lcd_init();&nbsp;&nbsp; // LCD hazırlanıyor<br />
<br />
&nbsp;&nbsp; printf(lcd_putc,"&#92;fsifre="); // LCD'ye string yazdırılıyor<br />
<br />
&nbsp;&nbsp; while(1) // Sonsuz döngü<br />
&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//lcd_gotoxy(2,2); // İmleç 3.sütun, 1.satıra konumlandırılıyor<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//if (keypad_oku()&lt;=9)&nbsp;&nbsp; // Eğer basılan tuş değeri 9'dan büyük ise<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(lcd_putc,"%d",keypad_oku());&nbsp;&nbsp;// Tuş değeri LCD'ye yazdırılıyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Eğer basılan tuş değeri 9'dan büyük değilse<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //printf(lcd_putc,"%c ",keypad_oku()); // Tuş değeri LCD'ye yazdırılıyor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;for(i=1; i=4; i++)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sifre[i]=keypad_oku();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lcd_gotoxy(2,i);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(lcd_putc,"%c ",sifre[i]);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp; }<br />
}<br />
<br />
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[maksimum zaman ayarı]]></title>
			<link>http://ccspic.com/forum/showthread.php?tid=18</link>
			<pubDate>Wed, 18 Nov 2009 14:20:32 +0200</pubDate>
			<guid isPermaLink="false">http://ccspic.com/forum/showthread.php?tid=18</guid>
			<description><![CDATA[Sayın Admin, aşağıdaki yazılımda 1. delay süresini 5dakika veya daha fazla(10-20-30dakika gibi) yapmak istiyorum ondan sonraki delaylarda sorun yok ancak ilk delay değerini arttırdığım halde enfazla 35 saniyelik bir gecikme oluyor nasıl yapacağım konusunda yardım edermisiniz tşkler. <br />
while (TRUE)<br />
   {<br />
   output_high(pin_B0);<br />
   output_low(pin_B1);<br />
   output_low(pin_B2);<br />
   delay_ms(85000);// buradaki süre 5 dakika veya 10 dakika veya20 veya 30 dakika nasıl yaparım diğer süreler ms kalacak<br />
   output_high(pin_B1);//<br />
   delay_ms(200);<br />
   output_low(pin_B1);  <br />
   output_low(pin_B0);    <br />
   output_low(pin_B2);<br />
   delay_ms(14000);<br />
   output_high(pin_B2);//<br />
   delay_ms(200);<br />
   output_low(pin_B2);<br />
   output_low(pin_B0);    <br />
   output_low(pin_B1);<br />
  }]]></description>
			<content:encoded><![CDATA[Sayın Admin, aşağıdaki yazılımda 1. delay süresini 5dakika veya daha fazla(10-20-30dakika gibi) yapmak istiyorum ondan sonraki delaylarda sorun yok ancak ilk delay değerini arttırdığım halde enfazla 35 saniyelik bir gecikme oluyor nasıl yapacağım konusunda yardım edermisiniz tşkler. <br />
while (TRUE)<br />
   {<br />
   output_high(pin_B0);<br />
   output_low(pin_B1);<br />
   output_low(pin_B2);<br />
   delay_ms(85000);// buradaki süre 5 dakika veya 10 dakika veya20 veya 30 dakika nasıl yaparım diğer süreler ms kalacak<br />
   output_high(pin_B1);//<br />
   delay_ms(200);<br />
   output_low(pin_B1);  <br />
   output_low(pin_B0);    <br />
   output_low(pin_B2);<br />
   delay_ms(14000);<br />
   output_high(pin_B2);//<br />
   delay_ms(200);<br />
   output_low(pin_B2);<br />
   output_low(pin_B0);    <br />
   output_low(pin_B1);<br />
  }]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[lcd_gotoxy(x,y) fonksiyonu]]></title>
			<link>http://ccspic.com/forum/showthread.php?tid=17</link>
			<pubDate>Thu, 29 Oct 2009 21:55:27 +0200</pubDate>
			<guid isPermaLink="false">http://ccspic.com/forum/showthread.php?tid=17</guid>
			<description><![CDATA[Merhaba,<br />
Aşağıdaki kodda "lcd_gotoxy(1,2);" komutunu kullandım ama simülasyonda imleç 2. satıra inmiyor. "lcd_gotoxy(1,2);" komutunu kodun değişik yerlerinde de denedim (for döngüsünün içine de koydum) ama gene  olmadı. Acaba nerede hata yapıyorum? <br />
<br />
Kod:<br />
#include &lt;16F877.h&gt;<br />
<br />
#FUSES NOWDT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//No Watch Dog Timer<br />
#FUSES RC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Resistor/Capacitor Osc with CLKOUT<br />
#FUSES NOPUT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//No Power Up Timer<br />
#FUSES NOPROTECT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Code not protected from reading<br />
#FUSES BROWNOUT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Reset when brownout detected<br />
#FUSES LVP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Low Voltage Programming on B3(PIC16) or B5(PIC18)<br />
#FUSES NOCPD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//No EE protection<br />
#FUSES NOWRT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Program memory not write protected<br />
#FUSES NODEBUG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//No Debug mode for ICD<br />
<br />
#use delay(clock=4000000)<br />
<br />
#use fast_io(b)<br />
<br />
#define use_portb_lcd true<br />
<br />
#include &lt;lcd.c&gt;<br />
<br />
int i;<br />
<br />
void main()<br />
{<br />
&nbsp;&nbsp; setup_adc_ports(NO_ANALOGS);<br />
&nbsp;&nbsp; setup_adc(ADC_OFF);<br />
&nbsp;&nbsp; setup_psp(PSP_DISABLED);<br />
&nbsp;&nbsp; setup_spi(FALSE);<br />
&nbsp;&nbsp; setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);<br />
&nbsp;&nbsp; setup_timer_1(T1_DISABLED);<br />
&nbsp;&nbsp; setup_timer_2(T2_DISABLED,0,1);<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; set_tris_b(0x00);<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; lcd_init();<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; while(1)<br />
&nbsp;&nbsp; {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(lcd_putc,"&#92;fsayim basliyor");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay_ms(1000);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lcd_gotoxy(1,2);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(i=0; i&lt;100; i++)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(lcd_putc,"&#92;f%d ",i);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delay_ms(500);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp; }<br />
&nbsp;&nbsp; <br />
}<br />
<br />
]]></description>
			<content:encoded><![CDATA[Merhaba,<br />
Aşağıdaki kodda "lcd_gotoxy(1,2);" komutunu kullandım ama simülasyonda imleç 2. satıra inmiyor. "lcd_gotoxy(1,2);" komutunu kodun değişik yerlerinde de denedim (for döngüsünün içine de koydum) ama gene  olmadı. Acaba nerede hata yapıyorum? <br />
<br />
Kod:<br />
#include &lt;16F877.h&gt;<br />
<br />
#FUSES NOWDT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//No Watch Dog Timer<br />
#FUSES RC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Resistor/Capacitor Osc with CLKOUT<br />
#FUSES NOPUT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//No Power Up Timer<br />
#FUSES NOPROTECT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Code not protected from reading<br />
#FUSES BROWNOUT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Reset when brownout detected<br />
#FUSES LVP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Low Voltage Programming on B3(PIC16) or B5(PIC18)<br />
#FUSES NOCPD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//No EE protection<br />
#FUSES NOWRT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Program memory not write protected<br />
#FUSES NODEBUG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//No Debug mode for ICD<br />
<br />
#use delay(clock=4000000)<br />
<br />
#use fast_io(b)<br />
<br />
#define use_portb_lcd true<br />
<br />
#include &lt;lcd.c&gt;<br />
<br />
int i;<br />
<br />
void main()<br />
{<br />
&nbsp;&nbsp; setup_adc_ports(NO_ANALOGS);<br />
&nbsp;&nbsp; setup_adc(ADC_OFF);<br />
&nbsp;&nbsp; setup_psp(PSP_DISABLED);<br />
&nbsp;&nbsp; setup_spi(FALSE);<br />
&nbsp;&nbsp; setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);<br />
&nbsp;&nbsp; setup_timer_1(T1_DISABLED);<br />
&nbsp;&nbsp; setup_timer_2(T2_DISABLED,0,1);<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; set_tris_b(0x00);<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; lcd_init();<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; while(1)<br />
&nbsp;&nbsp; {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(lcd_putc,"&#92;fsayim basliyor");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay_ms(1000);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lcd_gotoxy(1,2);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(i=0; i&lt;100; i++)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(lcd_putc,"&#92;f%d ",i);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delay_ms(500);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp; }<br />
&nbsp;&nbsp; <br />
}<br />
<br />
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[32 biti aşan çarpın sonucu]]></title>
			<link>http://ccspic.com/forum/showthread.php?tid=16</link>
			<pubDate>Sun, 25 Oct 2009 15:26:08 +0200</pubDate>
			<guid isPermaLink="false">http://ccspic.com/forum/showthread.php?tid=16</guid>
			<description><![CDATA[ARKADAŞLAR HERKESE SELAMLAR<br />
CCS C DERLEYİSİ VE 16F877 İLE BİR ADC UYGULAMASI YAPMAYA ÇALIŞIYORUM.<br />
ADC DEN OKUDUĞUM DEĞER 0 İLE 500000 ARASINDA VE BU DEĞERİ MANTIKLI BİR SAYIYA ÇEVİRMEM GEREKİYOR.<br />
BUNUN İÇİN FORMÜLÜM ŞU ŞEKİLDE:<br />
SONUC=(HAMDEGER*KALSET)/KAZANC<br />
<br />
SORUNUM YUKARIDAKİ ÇARPIMDA SONUC 32 BİTİ GEÇİYOR VE DOLAYISIYLA BÖLME İŞLEMİ SONUCU HATALI ÇIKIYOR.<br />
BU İŞLEMİ GEÇEKLEŞTİREBİLECEĞİM BİR ALGORİTMA VARMI.<br />
YADA KALİBRASYON İÇİN FARKLI BİR MANTIK VARSA PAYLAŞIRSANIZ SEVİNİRİM.<br />
<br />
BENİM YAPTIĞIM KALİBRASYON ŞU ŞEKİLDE;<br />
SENSÖR 0 DEĞERİNE ALINIR ADC NİN OKUDUĞU DEĞER BİR DEĞİŞKENE AKTARILIR.<br />
DAHA SONRA ADCHAM DEĞERİ-SIFIR DEĞERİ OLARAK ADC TEKRAR OKUNUR<br />
VE ADC YE BELLİ BİR GERİLİM SEVİYESİ UYGULANIR.<br />
BU SEVİYEDE BENİM GERÇEKTE OKUMAK İSEDİĞİM DEĞER GİRİLİR(BU DEĞERİ KULLANICI GİRİYOR)<br />
VE HEM KULLANICI DEĞERİ HEMDE ADC NİN OKUDUĞU DEĞER KAYDEDİLİR.<br />
DAHA SONRA BASİT BİR ORAN ORANTI İLE <br />
MESELA ADC=1000  DE KULLANICI      500000 GÖRMEK İSTER İSE<br />
           ADC=20000 DE KULLANICI          X    NE GÖRÜR.<br />
<br />
<br />
SORUN BURADAKİ ÇARPIMDA İŞTE..<br />
ÇOK UZUN BİR YAZI OLDU AMA ASLINDA SORUNUM ÇOK BASİT.<br />
YARDIMLARINIZ İÇİN ŞİMDİDEN TEŞEKKÜRLER......]]></description>
			<content:encoded><![CDATA[ARKADAŞLAR HERKESE SELAMLAR<br />
CCS C DERLEYİSİ VE 16F877 İLE BİR ADC UYGULAMASI YAPMAYA ÇALIŞIYORUM.<br />
ADC DEN OKUDUĞUM DEĞER 0 İLE 500000 ARASINDA VE BU DEĞERİ MANTIKLI BİR SAYIYA ÇEVİRMEM GEREKİYOR.<br />
BUNUN İÇİN FORMÜLÜM ŞU ŞEKİLDE:<br />
SONUC=(HAMDEGER*KALSET)/KAZANC<br />
<br />
SORUNUM YUKARIDAKİ ÇARPIMDA SONUC 32 BİTİ GEÇİYOR VE DOLAYISIYLA BÖLME İŞLEMİ SONUCU HATALI ÇIKIYOR.<br />
BU İŞLEMİ GEÇEKLEŞTİREBİLECEĞİM BİR ALGORİTMA VARMI.<br />
YADA KALİBRASYON İÇİN FARKLI BİR MANTIK VARSA PAYLAŞIRSANIZ SEVİNİRİM.<br />
<br />
BENİM YAPTIĞIM KALİBRASYON ŞU ŞEKİLDE;<br />
SENSÖR 0 DEĞERİNE ALINIR ADC NİN OKUDUĞU DEĞER BİR DEĞİŞKENE AKTARILIR.<br />
DAHA SONRA ADCHAM DEĞERİ-SIFIR DEĞERİ OLARAK ADC TEKRAR OKUNUR<br />
VE ADC YE BELLİ BİR GERİLİM SEVİYESİ UYGULANIR.<br />
BU SEVİYEDE BENİM GERÇEKTE OKUMAK İSEDİĞİM DEĞER GİRİLİR(BU DEĞERİ KULLANICI GİRİYOR)<br />
VE HEM KULLANICI DEĞERİ HEMDE ADC NİN OKUDUĞU DEĞER KAYDEDİLİR.<br />
DAHA SONRA BASİT BİR ORAN ORANTI İLE <br />
MESELA ADC=1000  DE KULLANICI      500000 GÖRMEK İSTER İSE<br />
           ADC=20000 DE KULLANICI          X    NE GÖRÜR.<br />
<br />
<br />
SORUN BURADAKİ ÇARPIMDA İŞTE..<br />
ÇOK UZUN BİR YAZI OLDU AMA ASLINDA SORUNUM ÇOK BASİT.<br />
YARDIMLARINIZ İÇİN ŞİMDİDEN TEŞEKKÜRLER......]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[16F628A polis lambası]]></title>
			<link>http://ccspic.com/forum/showthread.php?tid=14</link>
			<pubDate>Wed, 21 Oct 2009 01:57:19 +0300</pubDate>
			<guid isPermaLink="false">http://ccspic.com/forum/showthread.php?tid=14</guid>
			<description><![CDATA[Arkadaşlar bu projede genellikle polis eskortlarında olan mavi kırmızı flaşör yapan devreyi CCS C kodları ve devreyi koyacağım.Yeni başlayanlar için yardımı dokunur <br />
pic in dahili kristalini kullandım çok ucuz ve basit bir devre şemasınıda EKLEDİM EKTE GÖREBİLİRSİNİZ.<br />
CCS C KODLARI:<br />
<br />
#include <br />
<br />
<br />
void main()<br />
{<br />
<br />
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);<br />
   setup_timer_1(T1_DISABLED);<br />
   setup_timer_2(T2_DISABLED,0,1);<br />
   setup_comparator(NC_NC_NC_NC);<br />
   setup_vref(FALSE);<br />
//Setup_Oscillator parameter not selected from Intr Oscillator Config tab<br />
while (true)<br />
{<br />
   output_high(pin_B3);    //PORT BNİN 3.BİTİNİ HİGH YAPKİ YANSIN<br />
   delay_ms(20);<br />
   output_low(pin_B3);<br />
   delay_ms(20);<br />
   output_high(pin_B3);<br />
   delay_ms(20);<br />
   output_low(pin_B3);<br />
   delay_ms(20);<br />
   output_high(pin_B3);<br />
   delay_ms(20);<br />
   output_low(pin_B3);<br />
   delay_ms(20);<br />
   output_high(pin_B3);<br />
   delay_ms(20);<br />
   output_low(pin_B3);  // DÖRT DEFA FLSH YAPACAK SİZ DAHADA ARTIRABİLİRSİNİZ.<br />
   delay_ms(20);<br />
   output_high(pin_B4);<br />
   delay_ms(20);<br />
   output_low(pin_B4);<br />
   delay_ms(20);<br />
   output_high(pin_B4);<br />
   delay_ms(20);<br />
   output_low(pin_B4);<br />
   delay_ms(20);<br />
   output_high(pin_B4);<br />
   delay_ms(20);<br />
   output_low(pin_B4);<br />
   delay_ms(20);<br />
   output_high(pin_B4);<br />
   delay_ms(20);<br />
   output_low(pin_B4);<br />
   delay_ms(20);<br />
}<br />
}]]></description>
			<content:encoded><![CDATA[Arkadaşlar bu projede genellikle polis eskortlarında olan mavi kırmızı flaşör yapan devreyi CCS C kodları ve devreyi koyacağım.Yeni başlayanlar için yardımı dokunur <br />
pic in dahili kristalini kullandım çok ucuz ve basit bir devre şemasınıda EKLEDİM EKTE GÖREBİLİRSİNİZ.<br />
CCS C KODLARI:<br />
<br />
#include <br />
<br />
<br />
void main()<br />
{<br />
<br />
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);<br />
   setup_timer_1(T1_DISABLED);<br />
   setup_timer_2(T2_DISABLED,0,1);<br />
   setup_comparator(NC_NC_NC_NC);<br />
   setup_vref(FALSE);<br />
//Setup_Oscillator parameter not selected from Intr Oscillator Config tab<br />
while (true)<br />
{<br />
   output_high(pin_B3);    //PORT BNİN 3.BİTİNİ HİGH YAPKİ YANSIN<br />
   delay_ms(20);<br />
   output_low(pin_B3);<br />
   delay_ms(20);<br />
   output_high(pin_B3);<br />
   delay_ms(20);<br />
   output_low(pin_B3);<br />
   delay_ms(20);<br />
   output_high(pin_B3);<br />
   delay_ms(20);<br />
   output_low(pin_B3);<br />
   delay_ms(20);<br />
   output_high(pin_B3);<br />
   delay_ms(20);<br />
   output_low(pin_B3);  // DÖRT DEFA FLSH YAPACAK SİZ DAHADA ARTIRABİLİRSİNİZ.<br />
   delay_ms(20);<br />
   output_high(pin_B4);<br />
   delay_ms(20);<br />
   output_low(pin_B4);<br />
   delay_ms(20);<br />
   output_high(pin_B4);<br />
   delay_ms(20);<br />
   output_low(pin_B4);<br />
   delay_ms(20);<br />
   output_high(pin_B4);<br />
   delay_ms(20);<br />
   output_low(pin_B4);<br />
   delay_ms(20);<br />
   output_high(pin_B4);<br />
   delay_ms(20);<br />
   output_low(pin_B4);<br />
   delay_ms(20);<br />
}<br />
}]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[buton ile delay ayarlama]]></title>
			<link>http://ccspic.com/forum/showthread.php?tid=13</link>
			<pubDate>Tue, 20 Oct 2009 04:14:33 +0300</pubDate>
			<guid isPermaLink="false">http://ccspic.com/forum/showthread.php?tid=13</guid>
			<description><![CDATA[Sayın Admin sizin ve sitede ki emeği geçen tüm emekcileri Serdar ÇİÇEK hocayı içten tebrik ediyorum çok kısa sürede bayağı yol aldım emeğinize sağlık.<br />
Sizden şunu rica ediyorum: 8 adet ledi istediğim süre ve sıra ile yakıyorum sorun yok ancak her değişik kombinasyonda pici tekrar proramlamam gerkiyor azalt ve arttır butonları tanımlayarak 8 veya daha fazla ledin delay sürelerini ayarlamak istediğimde ve bu süreleride bir displayde görmem için hangi pici seçmeliyim bana sadeced yol göstermenizi rica ediyorum atadığım butunlar azalt ve arttır butonları delay sürelerini ayarlamalı inanın 2 haftadır okumadığım yazı kalmadı ancak bununla ilgili hiçbirşey bulamdım şimdiden teşekkür eder çalışmalarınızda başarılar dilerim]]></description>
			<content:encoded><![CDATA[Sayın Admin sizin ve sitede ki emeği geçen tüm emekcileri Serdar ÇİÇEK hocayı içten tebrik ediyorum çok kısa sürede bayağı yol aldım emeğinize sağlık.<br />
Sizden şunu rica ediyorum: 8 adet ledi istediğim süre ve sıra ile yakıyorum sorun yok ancak her değişik kombinasyonda pici tekrar proramlamam gerkiyor azalt ve arttır butonları tanımlayarak 8 veya daha fazla ledin delay sürelerini ayarlamak istediğimde ve bu süreleride bir displayde görmem için hangi pici seçmeliyim bana sadeced yol göstermenizi rica ediyorum atadığım butunlar azalt ve arttır butonları delay sürelerini ayarlamalı inanın 2 haftadır okumadığım yazı kalmadı ancak bununla ilgili hiçbirşey bulamdım şimdiden teşekkür eder çalışmalarınızda başarılar dilerim]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[#DEVICE errors]]></title>
			<link>http://ccspic.com/forum/showthread.php?tid=11</link>
			<pubDate>Sun, 09 Aug 2009 17:07:49 +0300</pubDate>
			<guid isPermaLink="false">http://ccspic.com/forum/showthread.php?tid=11</guid>
			<description><![CDATA[arkadaşlar CCS ile Pic programlamadaki kitapta uygulamada ilk örnekte takıldım kaldım. kitaptaki programın (Led yakma söndürme) aynısını yazıyorum fakat error veriyor. hata da şu:<br />
<br />
 A #DEVICE requier before on line...<br />
<br />
acaba kitapta yazmayan ve yazmam gereken başka bir satır veya tanımlama mı var...bu kitaptaki programların aynısını yazıp çalıştıran varmı acaba...tşk ederim...]]></description>
			<content:encoded><![CDATA[arkadaşlar CCS ile Pic programlamadaki kitapta uygulamada ilk örnekte takıldım kaldım. kitaptaki programın (Led yakma söndürme) aynısını yazıyorum fakat error veriyor. hata da şu:<br />
<br />
 A #DEVICE requier before on line...<br />
<br />
acaba kitapta yazmayan ve yazmam gereken başka bir satır veya tanımlama mı var...bu kitaptaki programların aynısını yazıp çalıştıran varmı acaba...tşk ederim...]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[kesme]]></title>
			<link>http://ccspic.com/forum/showthread.php?tid=10</link>
			<pubDate>Mon, 03 Aug 2009 23:50:52 +0300</pubDate>
			<guid isPermaLink="false">http://ccspic.com/forum/showthread.php?tid=10</guid>
			<description><![CDATA[Merhaba,<br />
lcd'ye bir şeyler yazdırırken (pic 16f8777 ile) rb0 pininden ve rb4 pininden iki tane kesme kullandım. Proteus'ta sağlıklı bir şekilde çalışıyor, derleyicide altta görülen uyarıları veriyor. Ne demek istediğini anlayamadım. Yardımcı olursanız sevinirim.<br />
proteus uygulamasına bakmak isterseniz : <br />
http://rapidshare.com/files/263371686/kesme.rar<br />
<br />
Alıntı:interrupts disabled during call to prevent re-entrancy: (lcd_init)<br />
interrupts disabled during call to prevent re-entrancy: (lcd_putc)<br />
interrupts disabled during call to prevent re-entrancy: (@delay_ms1)<br />
<br />
<br />
Kod:<br />
#include &lt;16f877.h&gt;<br />
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD<br />
<br />
#use delay(clock=4000000)<br />
<br />
#use fast_io(b)<br />
<br />
<br />
#include &lt;lcd.c&gt;<br />
<br />
#int_ext<br />
<br />
void kesme()<br />
{<br />
&nbsp;&nbsp; lcd_init();<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; printf(lcd_putc,"kesme");<br />
&nbsp;&nbsp; printf(lcd_putc,"&#92;n.............");<br />
&nbsp;&nbsp; delay_ms(1000);<br />
}<br />
<br />
#int_rb<br />
void bportu()<br />
{<br />
&nbsp;&nbsp; if(input(pin_b4))<br />
&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lcd_init();<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(lcd_putc,"kesme");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(lcd_putc,"&#92;n b portu");<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay_ms(1000);<br />
&nbsp;&nbsp; }<br />
}<br />
<br />
void main()<br />
{<br />
&nbsp;&nbsp; setup_psp(PSP_DISABLED);<br />
&nbsp;&nbsp; setup_timer_1(T1_DISABLED);<br />
&nbsp;&nbsp; setup_timer_2(T2_DISABLED,0,1);<br />
&nbsp;&nbsp; setup_adc_ports(NO_ANALOGS);<br />
&nbsp;&nbsp; setup_adc(ADC_OFF);<br />
&nbsp;&nbsp; setup_CCP1(CCP_OFF);<br />
&nbsp;&nbsp; setup_CCP2(CCP_OFF);<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; set_tris_d(0x00);<br />
&nbsp;&nbsp; set_tris_b(0xff);<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; ext_int_edge(h_to_l);<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; enable_interrupts(int_ext);<br />
&nbsp;&nbsp; enable_interrupts(int_rb);<br />
&nbsp;&nbsp; enable_interrupts(global);<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; lcd_init();<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; while(1)<br />
&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(lcd_putc,"&#92;f dongu");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay_ms(500);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(lcd_putc,"&#92;n devam");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay_ms(500);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(lcd_putc,"&#92;f ediyor");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay_ms(500);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp; }<br />
}<br />
<br />
]]></description>
			<content:encoded><![CDATA[Merhaba,<br />
lcd'ye bir şeyler yazdırırken (pic 16f8777 ile) rb0 pininden ve rb4 pininden iki tane kesme kullandım. Proteus'ta sağlıklı bir şekilde çalışıyor, derleyicide altta görülen uyarıları veriyor. Ne demek istediğini anlayamadım. Yardımcı olursanız sevinirim.<br />
proteus uygulamasına bakmak isterseniz : <br />
http://rapidshare.com/files/263371686/kesme.rar<br />
<br />
Alıntı:interrupts disabled during call to prevent re-entrancy: (lcd_init)<br />
interrupts disabled during call to prevent re-entrancy: (lcd_putc)<br />
interrupts disabled during call to prevent re-entrancy: (@delay_ms1)<br />
<br />
<br />
Kod:<br />
#include &lt;16f877.h&gt;<br />
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD<br />
<br />
#use delay(clock=4000000)<br />
<br />
#use fast_io(b)<br />
<br />
<br />
#include &lt;lcd.c&gt;<br />
<br />
#int_ext<br />
<br />
void kesme()<br />
{<br />
&nbsp;&nbsp; lcd_init();<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; printf(lcd_putc,"kesme");<br />
&nbsp;&nbsp; printf(lcd_putc,"&#92;n.............");<br />
&nbsp;&nbsp; delay_ms(1000);<br />
}<br />
<br />
#int_rb<br />
void bportu()<br />
{<br />
&nbsp;&nbsp; if(input(pin_b4))<br />
&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lcd_init();<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(lcd_putc,"kesme");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(lcd_putc,"&#92;n b portu");<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay_ms(1000);<br />
&nbsp;&nbsp; }<br />
}<br />
<br />
void main()<br />
{<br />
&nbsp;&nbsp; setup_psp(PSP_DISABLED);<br />
&nbsp;&nbsp; setup_timer_1(T1_DISABLED);<br />
&nbsp;&nbsp; setup_timer_2(T2_DISABLED,0,1);<br />
&nbsp;&nbsp; setup_adc_ports(NO_ANALOGS);<br />
&nbsp;&nbsp; setup_adc(ADC_OFF);<br />
&nbsp;&nbsp; setup_CCP1(CCP_OFF);<br />
&nbsp;&nbsp; setup_CCP2(CCP_OFF);<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; set_tris_d(0x00);<br />
&nbsp;&nbsp; set_tris_b(0xff);<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; ext_int_edge(h_to_l);<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; enable_interrupts(int_ext);<br />
&nbsp;&nbsp; enable_interrupts(int_rb);<br />
&nbsp;&nbsp; enable_interrupts(global);<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; lcd_init();<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; while(1)<br />
&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(lcd_putc,"&#92;f dongu");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay_ms(500);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(lcd_putc,"&#92;n devam");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay_ms(500);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(lcd_putc,"&#92;f ediyor");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay_ms(500);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp; }<br />
}<br />
<br />
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[değişken tanımlama]]></title>
			<link>http://ccspic.com/forum/showthread.php?tid=9</link>
			<pubDate>Fri, 31 Jul 2009 21:24:17 +0300</pubDate>
			<guid isPermaLink="false">http://ccspic.com/forum/showthread.php?tid=9</guid>
			<description><![CDATA[Herkese merhaba,<br />
main() fonksiyonunda değişken tanımlarken değişkeni<br />
<br />
Alıntı:setup_psp(PSP_DISABLED);<br />
          setup_timer_1(T1_DISABLED);<br />
          setup_timer_2(T2_DISABLED,0,1);<br />
          setup_adc_ports(NO_ANALOGS);<br />
          setup_adc(ADC_OFF);<br />
          setup_CCP1(CCP_OFF);<br />
          setup_CCP2(CCP_OFF);<br />
          int k;<br />
<br />
kısmından sonra tanımladığımda "a numeric expression must appear here" şeklinde bir hata veriyor. Değişkeni yukardaki kısımdan ya da ana fonksiyona başlamadan tanımlarsam hatasız çalışıyor. Acaba bahsettiğim hatayı vermesinin sebebi nedir?]]></description>
			<content:encoded><![CDATA[Herkese merhaba,<br />
main() fonksiyonunda değişken tanımlarken değişkeni<br />
<br />
Alıntı:setup_psp(PSP_DISABLED);<br />
          setup_timer_1(T1_DISABLED);<br />
          setup_timer_2(T2_DISABLED,0,1);<br />
          setup_adc_ports(NO_ANALOGS);<br />
          setup_adc(ADC_OFF);<br />
          setup_CCP1(CCP_OFF);<br />
          setup_CCP2(CCP_OFF);<br />
          int k;<br />
<br />
kısmından sonra tanımladığımda "a numeric expression must appear here" şeklinde bir hata veriyor. Değişkeni yukardaki kısımdan ya da ana fonksiyona başlamadan tanımlarsam hatasız çalışıyor. Acaba bahsettiğim hatayı vermesinin sebebi nedir?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[#byte komutu]]></title>
			<link>http://ccspic.com/forum/showthread.php?tid=8</link>
			<pubDate>Thu, 30 Jul 2009 15:00:31 +0300</pubDate>
			<guid isPermaLink="false">http://ccspic.com/forum/showthread.php?tid=8</guid>
			<description><![CDATA[Herkese merhaba,<br />
Aşağıda bulunan kod Serdar Çiçek'in kitabındaki tuş takımı-2 (74c922 ile) uygulamasına aittir. Bu kodda bulunan " #byte portc=0x07 " komutu ne işe yarıyor ve kullanımı amacı nedir anlayamadım. Yardımıcı olursanız sevinirim. <br />
<br />
#include <br />
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD<br />
#use delay(clock=4000000)<br />
<br />
#use fast_io(b)<br />
#use fast_io&copy;<br />
<br />
#byte portc=0x07<br />
<br />
char const keys[]={1,2,3,0,<br />
                   4,5,6,0,<br />
                   7,8,9,0,<br />
                   0xf,0,0xf,0};<br />
                   <br />
#int_ext<br />
void kesme()<br />
{<br />
   portc=keys[portc>>4];<br />
   delay_ms(2000);<br />
   output_c(0x00);<br />
   <br />
}<br />
<br />
void main()<br />
{<br />
   setup_psp(PSP_DISABLED);<br />
   setup_timer_1(T1_DISABLED);<br />
   setup_timer_2(T2_DISABLED,0,1);<br />
   setup_adc_ports(NO_ANALOGS);<br />
   setup_adc(ADC_OFF);<br />
   setup_CCP1(CCP_OFF);<br />
   setup_CCP2(CCP_OFF);<br />
   <br />
   set_tris_b(0x01);<br />
   set_tris_c(0xf0);<br />
   <br />
   ext_int_edge(l_to_h);<br />
   <br />
   enable_interrupts(int_ext);<br />
   enable_interrupts(global);<br />
   <br />
   portc=0;<br />
   <br />
   while(1);<br />
   <br />
}]]></description>
			<content:encoded><![CDATA[Herkese merhaba,<br />
Aşağıda bulunan kod Serdar Çiçek'in kitabındaki tuş takımı-2 (74c922 ile) uygulamasına aittir. Bu kodda bulunan " #byte portc=0x07 " komutu ne işe yarıyor ve kullanımı amacı nedir anlayamadım. Yardımıcı olursanız sevinirim. <br />
<br />
#include <br />
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD<br />
#use delay(clock=4000000)<br />
<br />
#use fast_io(b)<br />
#use fast_io&copy;<br />
<br />
#byte portc=0x07<br />
<br />
char const keys[]={1,2,3,0,<br />
                   4,5,6,0,<br />
                   7,8,9,0,<br />
                   0xf,0,0xf,0};<br />
                   <br />
#int_ext<br />
void kesme()<br />
{<br />
   portc=keys[portc>>4];<br />
   delay_ms(2000);<br />
   output_c(0x00);<br />
   <br />
}<br />
<br />
void main()<br />
{<br />
   setup_psp(PSP_DISABLED);<br />
   setup_timer_1(T1_DISABLED);<br />
   setup_timer_2(T2_DISABLED,0,1);<br />
   setup_adc_ports(NO_ANALOGS);<br />
   setup_adc(ADC_OFF);<br />
   setup_CCP1(CCP_OFF);<br />
   setup_CCP2(CCP_OFF);<br />
   <br />
   set_tris_b(0x01);<br />
   set_tris_c(0xf0);<br />
   <br />
   ext_int_edge(l_to_h);<br />
   <br />
   enable_interrupts(int_ext);<br />
   enable_interrupts(global);<br />
   <br />
   portc=0;<br />
   <br />
   while(1);<br />
   <br />
}]]></content:encoded>
		</item>
	</channel>
</rss>