Arama butonu
Bu konudaki kullanıcılar: 1 misafir
18
Cevap
6736
Tıklama
0
Öne Çıkarma
c # dilinde yazılmış pic kodlarını hex e hangi program ile çevirebilirim
E
17 yıl
Yüzbaşı
Konu Sahibi

c# dilinde yazılmış pic kodları var fakat ben bsaic kullanıyorum materyallerim bu yönde elimde c# kodlarını hex e çevirmek için program kolay bulabileceğim bi program ismi söylermisiniz

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



S
17 yıl
Yarbay

M
17 yıl
Binbaşı

#code# tag larını kullanarak programını buraya koy çeviren çıkacaktır.

Satırlarına bakınca bilenler şu derleyici diyebilirler...


Bu mesaja 1 cevap geldi.
E
17 yıl
Yüzbaşı
Konu Sahibi

kodlardan bazıları;



#include <16F688.h>
#device adc=10
#fuses NOBROWNOUT,MCLR,INTRC_IO,NOCPD,NOWDT,PUT,NOIESO,NOFCMEN
#use delay(clock=8000000)
#byte lcdport = 0x06 // PORTB
#byte lcdport_tris = 0x86 // PORTB tris






nokia_erase_y(4);
nokia_gotoxy(0,4);
switch(cmode){
case 1: if(!input(PIN_A1)) { hr=hr+1; if(hr==23) hr=0; bit_set(bayrak,0);}
printf(nokia_printchar,"Set HH");
break;
case 2: if(!input(PIN_A1)) { min=min+1; if(min==60) min=0; bit_set(bayrak,0); }
printf(nokia_printchar,"Set MM");
break;
case 3: if(!input(PIN_A1)) { day=day+1; if(day==32) day=0; bit_set(bayrak,0); }
printf(nokia_printchar,"Set DD");
break;
case 4: if(!input(PIN_A1)) { mth=mth+1; if(mth==13) mth=0; bit_set(bayrak,0); }
printf(nokia_printchar,"Set Mh");
break;
case 5: if(!input(PIN_A1)) { year=year+1; if(year==51) year=0; bit_set(bayrak,0);}
printf(nokia_printchar,"Set YY");
break;
}
delay_ms(300)


bu kodları hex e çevirmek için hangi programı kullanmalıyım?


Bu mesaja 1 cevap geldi.
M
17 yıl
Binbaşı

Sanırım önemli sırlar içerdiği için hepsini yazamadın.
Hepsini yazsa idin derleyip hex dosyasını verirdik.

Derleyicinin adı CCS...

http://www.ccsinfo.com/content.php?page=compilers
------------
code taglarının örneği :
üst barda code kutusuna tıkla,iki köşeli parantez arasına kodlarını yapıştır...

#include <16F688.h>  
#device adc=10
#fuses NOBROWNOUT,MCLR,INTRC_IO,NOCPD,NOWDT,PUT,NOIESO,NOFCMEN
#use delay(clock=8000000)
#byte lcdport = 0x06 // PORTB
#byte lcdport_tris = 0x86 // PORTB tris


Bu mesaja 1 cevap geldi.
E
17 yıl
Yüzbaşı
Konu Sahibi

quote:

Orjinalden alıntı: musallim

Sanırım önemli sırlar içerdiği için hepsini yazamadın.
Hepsini yazsa idin derleyip hex dosyasını verirdik.

Derleyicinin adı CCS...

http://www.ccsinfo.com/content.php?page=compilers
------------
code taglarının örneği :
üst barda code kutusuna tıkla,iki köşeli parantez arasına kodlarını yapıştır...

#include <16F688.h>  
#device adc=10
#fuses NOBROWNOUT,MCLR,INTRC_IO,NOCPD,NOWDT,PUT,NOIESO,NOFCMEN
#use delay(clock=8000000)
#byte lcdport = 0x06 // PORTB
#byte lcdport_tris = 0x86 // PORTB tris




yok hayır öyle gizemli bi kodlar değil durum şöyle; bi abi bana bu kodları hediye etti normalde parayla satıyo olurya nette falan gezinirken denk gelirse bende hepsini yayınlarsam ayıp olur.zaten bu işi bilenlenler tarih saat devresinin kodları olduğunu anlayacaktır. ilginiz için teşekkür ederim


Bu mesaja 1 cevap geldi.
M
17 yıl
Binbaşı

E
17 yıl
Yüzbaşı
Konu Sahibi

c# dilinde devrenn açık kodları var hex e dönüşmüş halide var fakat ben açık kodlarda ufak bi değişiklik yaptım değişiklikte şu; ekranda koıdları yazan kişinin adı yazıyodu bene açık kodların içinden o kısmı silip kendi adımı yazdım yani dolayısıyla tekrar hex e çevirmem gerekiyo bunu yapamadım.elimde kodlar hazır olarak var ama hexe çeviremiyorum bilmemek kadar kötü bişey yokmuş ekrana kendi ismimi yazdırmak istiyorum verdiğiniz en son linkteki devre çok hoşuma gitti o devreye kendi adımı yazdırabilmem mümknmü ?

pic c compiler ccs pswhd programının tam sürümünü buldum bu programla hex e çevirmeye çalıştım fakat 2 satırda hata verdi satırları yazayım belki düzeltebilirsiniz

nokia_gotoxy(0,5)111; printf(nokia_printchar,("reha")

(111 rakamını ben koydum hata yerini belirtmek için; program 111 rakamının hemen önndeki parantezi işaret ederek hata veriyor)


i=hr-((hr/10)*10);222 yaz(i,8,0);

(gene 222 rakamının önndeki noktalı vrgülde hata veriyor program , sorun ne anlayamadım


Bu mesaja 1 cevap geldi.
M
17 yıl
Binbaşı

Bu şekilde yardım mümkün olmadığına göre , fırsat bu fırsat.
CCS C öğrenmenin tam zamanı.
Türkçe pek çok kaynak bulabilirsin.
Bir çok kez verilmişti zaten...


Bu mesaja 1 cevap geldi.
K
17 yıl
Çavuş

C# bilmiyorum ama C biliyorum. Bu kodlar C kodları, sen eminmisin bu programın C# da yazıldığından?


Bu mesaja 1 cevap geldi.
E
17 yıl
Yüzbaşı
Konu Sahibi

quote:

Orjinalden alıntı: KaraBekir

C# bilmiyorum ama C biliyorum. Bu kodlar C kodları, sen eminmisin bu programın C# da yazıldığından?



hadi ya ben kisini aynı sanıyodum c yada c# hakkında hiçbi bilgim yok sadece elimdeki hazır kodları hex e çevirmeliyim tüm yapmak istediğim bu.


Bu mesaja 1 cevap geldi.
H
14 yıl
Er

#include <pic.h>
#include <delay.c>
main(void)
{
unsigned char gecici_dizi[16];
unsigned char i,a,toplam_sutun;
signed int kayma,deger;
unsigned const char metin[]={
0x7F,0x08,0x08,0x08,0x76,0x00, // B
0x84,0xFD,0x84,0x00, // İ
0xFF,0x80,0x80,0x80,0x80,0x00, // L
0x84,0xFD,0x84,0x00, // İ
0xFF,0x02,0x0C,0x02,0xFF,0x00, // M
0x00,0x00,0x00,0x00, // Bosluk
0x38,0x40,0x80,0x40,0x38,0x00, // v
0x70,0xA8,0xA8,0xA8,0xB0,0x00, // e
0x00,0x00,0x00,0x00, // Bosluk
0x01,0x01,0xFF,0x01,0x01,0x00, // T
0xFF,0x89,0x89,0x89,0x81,0x00, // E
0xFF,0x18,0x24,0x42,0x81,0x00, // K
0xFF,0x04,0x08,0x10,0xFF,0x00, // N
0x84,0xFD,0x84,0x00, // İ
0xFF,0x18,0x24,0x42,0x81,0x00};// K

//Metindeki sütunların sayısını hesapla
toplam_sutun=80; //10x6+5x4=60+20=80

//Port ayarlama işlemleri
TRISB=0;
TRISA=0;
CMCON=0x07;
PORTB=0x00;

for(;;){//Ana döngü
//Geçici diziyi sıfırla
for(i=0;i<=15;i++){
gecici_dizi=0; //Dizi elemanları başlangıçta 0
}

//Kaydırma işlemleri
for(kayma=-14;kayma<=toplam_sutun;kayma++){

//Metni 16 sütunluk parçalara böl
for(i=0;i<=15;i++){
deger=i+kayma;
if(deger<0)gecici_dizi=0; //metin girişi
if(deger>=0&&deger<=toplam_sutun-1)
gecici_dizi=metin[deger];
if(deger>toplam_sutun)gecici_dizi=0; //metin çıkışı
}

//Tarama işlemleri
for(a=0;a<40;a++){ //Aynı görüntüyü 40 kez tekrarla
for(i=0;i<=15;i++){ //Geçici diziyi görüntüle
PORTB=gecici_dizi; // Veriyi PortB'ye gönder
PORTA=i; // ilgili sütun'u seç
DelayUs(200); // 200 mikrosaniye bekle
}}}

}// işlemleri tekrarla
}// Program sonu



selam arkadaşlar yardımınıza ihtiyacım var.ben bunu bilim teknik yazan yeri silip yerine HUSEYİN & ZEYNEP yazdırmak istiyorum ama hex e dönüştürülmüş olması lazım.bana bunu dönüştürebilirseniz minnettar kalırım.


Bu mesaja 1 cevap geldi.
S
14 yıl
Er

merhaba elimdeki c kodları var nasıl hex e ceviceğimi bilmiyorrum acaba yardım ede bilirmisiniz
KODLAR

#include <pic.h>
#include <delay.c>

main(void)
{

unsigned int i;
unsigned char dizi[]={
0xFF,0x09,0x09,0x09,0x09,0x00, // F
0x7F,0x80,0x80,0x80,0x7F,0x00, // U
0xFF,0x04,0x08,0x10,0xFF,0x00, // N
0xFF,0x81,0x81,0x81,0x7E,0x00, // D
0xFC,0x12,0x11,0x12,0xFC,0x00, // A
0x00,0x00,0x00,0x00,0x00,0x00 // Boluk
0xFC,0x12,0x11,0x12,0xFC,0x00, // A
0xFF,0x18,0x24,0x42,0x81,0x00, // K
0xFC,0x12,0x11,0x12,0xFC,0x00, // A
0xFF,0x19,0x29,0x49,0x86,0x00, // R
0x00,0x00,0x00,0x00,0x00,0x00 // Bosluk
};

TRISB=0;

for(;;){
for(i=0;i<48;i++){
PORTB=dizi;
DelayMs(1); // 1ms bekle
}
DelayMs(48); // 48ms bekle
}
}


Bu mesaja 1 cevap geldi.
Z
13 yıl
Çavuş

rica etsem bu kodları hex yapabilirmiyiz.
pic 16F84A atılacak.


#include <pic.h>
unsigned char time;
unsigned char variable=200;
//--data logic1--
void send1 (void)
{
for(time=variable;time>0;time--)
{ PORTA^=1;
#asm
NOP
NOP
#endasm
}
}
//--data logic0--
void send0 (void)
{
for(time=variable;time>0;time--)
{
PORTA=0;
#asm
NOP
NOP
#endasm
}
}
//--startbit--
void startbit(void) //2400us 1 600us 0
{
send1();
send1();
send1();
send1();
send0();
}
//--device code--
void senddevicecode(void) //device code 10000000 not inverted
{
send1();
send0();
send0();
send0();
send0();
send0();
send0();
send0();
}
//--data--
void senddata_1(void)
{
send1();
send0();
send0();
send0();
send0();
send0();
send0();
send0();
}
void senddata_2(void)
{ send0();
send1();
send0();
send0();
send0();
send0();
send0();
send0();
}
void senddata_3(void)
{
send0();
send0();
send1();
send0();
send0();
send0();
send0();
send0();
}
void senddata_4(void)
{
send0();
send0();
send0();
send1();
send0();
send0();
send0();
send0();
}
void senddata_5(void)
{ send0();
send0();
send0();
send0();
send1();
send0();
send0();
send0();
}
void senddata_6(void)
{ send0();
send0();
send0();
send0();
send0();
send1();
send0();
send0();
}
void senddata_7(void)
{ send0();
send0();
send0();
send0();
send0();
send0();
send1();
send0();
}
void senddata_8(void)
{ send0();
send0();
send0();
send0();
send0();
send0();
send0();
send1();
}
//-----// Butonlara basili degilken gonderilecek veri (hepsi 0)
void senddata_9(void)
{ send0();
send0();
send0();
send0();
send0();
send0();
send0();
send0();
}
//-----------------------------
//--stopbits--
void sendstopbit(void) //stop 11001
{
send1();
}
void main(void)
{
RBPU=0;
TRISA=0;
TRISB=255;

while(1)
{
if(RB0==0){
startbit();
senddevicecode();
senddata_1();
sendstopbit();
for(time=12;time>2;time--) send0;
}
if(RB1==0){
startbit();
senddevicecode();
senddata_2();
sendstopbit();
for(time=12;time>2;time--) send0;
}
if(RB2==0){
startbit();
senddevicecode();
senddata_3();
sendstopbit();
for(time=12;time>2;time--) send0;
}
if(RB3==0){
startbit();
senddevicecode();
senddata_4();
sendstopbit();
for(time=12;time>2;time--) send0;
}
if(RB4==0){
startbit();
senddevicecode();
senddata_5();
sendstopbit();
for(time=12;time>2;time--) send0;
}
if(RB5==0){
startbit();
senddevicecode();
senddata_6();
sendstopbit();
for(time=12;time>2;time--) send0;
}
if(RB6==0){
startbit();
senddevicecode();
senddata_7();
sendstopbit();
for(time=12;time>2;time--) send0;
}
if(RB7==0){
startbit();
senddevicecode();
senddata_8();
sendstopbit();
for(time=12;time>2;time--) send0;
}
//-----------------
//butonlar basili degilse 9 nolu datayi gönder
startbit();
senddevicecode();
senddata_9();
sendstopbit();
for(time=12;time>2;time--) send0;
//------------------
}
}


Bu mesaja 1 cevap geldi.
K
13 yıl
Yarbay

İ
13 yıl
Er

slm arkadaşlar..c de yazılmış bi programım var..bunu hex e çevirirken sorun yaşıyorum yardımcı olabilecek var mı? program bu ;
#include <pic.h>
#include <delay.c>
#include <lcd.c>
#include <stdio.h>

//Konfigurasyon ayarlari
__CONFIG(WDTDIS&LVPDIS&PWRTEN&XT);

// Reed anahtar RA0'a pinine bagli
#define SW RA0

// Global degiskenler
unsigned char kontrol=0;
unsigned char sonuc[]=" ";
unsigned int CX;
float pi=3.14159, r=0.0022; //Türbin yaricapi

//---- TIMER kesme alt programi -----
void interrupt kesme(void){
CX++;
if(CX>10000)kontrol=1;

T0IF=0; // Bayragi temizle
TMR0=131; // TIMER'i tekrar yukle
}

//--------- LCD alt programi----------
void LCD_yaz(void){
float hiz;
unsigned int hiz2;

lcd_clear(); // LCD'yi temizle
hiz=2*pi*r*10^(-3)/CX; // m/sn cinsinden
hiz2=(int)hiz; // hiz degerini hesapla

lcd_goto(0x00); lcd_puts(" AKISKAN HIZI ");

if(kontrol==0){ // Sonucu LCD'ye yazdir
sprintf(sonuc+3,"%d m/sn",hiz2);
lcd_goto(0x40); lcd_puts(sonuc);
}

else{ // Türbin duruyorsa Hiz=0 yazdir
lcd_goto(0x41); lcd_puts("*** HIZ=0 ***");
}

}
//----------- ANA PROGRAM ------------

main(void)
{

TRISA=0x01; // Port A'nin ilk pini giris
TRISB=0x00; // PortB'nin hepsi cikis
CMCON=0x07; // PortA sayisal giris
PORTA=0; // Baslangic durumu ayarlari
PORTB=0;

// LCD islemleri
DelayMs(250);
lcd_init();
lcd_clear();
lcd_write(0x0C); //imleci gizle
lcd_goto(0x00); lcd_puts(" AKISKAN HIZI ");

// TIMER islemleri
T0CS=0; // Dahili clock
PSA=0; // Prescaler TMR0 icin ayarli
PS0=0; PS1=1; PS2=0; // Oran 1:8
ei(); // Butun kesmeler etkin
T0IE=0; // Baslangicta TIMER pasif
T0IF=0; // Bayrak temizle

// Hiz olcum islemleri
for(;;){

CX=0; kontrol=0;

while(SW==0); // Giris 0 ise bekle
TMR0=131; // 125 sayim (256-131=125)
T0IE=1; // TIMER baslat
while(SW==1); // Giris 1 ise bekle
while(kontrol==0){if(SW==1)break;}

T0IE=0; // TIMER'i durdur
LCD_yaz(); // LCD alt programina git

DelayMs(250); // 250 ms bekle
while(SW==1);

} // islemleri tekrarla
} // Programin sonu
şimdiden teşekkürler..


Bu mesaja 1 cevap geldi.
D
13 yıl
Yüzbaşı

Konu ile alakası yok ama bunlar c# kodu mu? Bana c kodu gibi geldi.


Bu mesaja 1 cevap geldi.
V
13 yıl
Teğmen

konu basligin dikkatimi cekti c# dilinde bir mikro islemciye program yazamazsin c# microsoftun gelistirdigi c ye benzer bir kutuphanedir fakat kodlar kesinliklle c arkadaslarin dedigi gibi ccs c var pic icin



H
9 yıl
Er

#include
#include

main(void)
{

unsigned int i;
unsigned char dizi[]={
0xFF,0x02,0x0C,0x02,0xFF,0x00, // H
0xFF,0x89,0x89,0x89,0x81,0x00, // A
0xFF,0x11,0x31,0x51,0x8E,0x00, // V
0xFF,0x10,0x10,0x10,0xFF,0x00, // V
0xFC,0x12,0x11,0x12,0xFC,0x00, // A
0xFF,0x89,0x89,0x89,0x76,0x00, // N
0xFC,0x12,0x11,0x12,0xFC,0x00, // U
0x00,0x00,0x00,0x00,0x00,0x00 // R
};

TRISB=0;

for(;;){
for(i=0;i<48;i++){
PORTB=dizi;
DelayMs(1); // 1ms bekle
}
DelayMs(48); // 48ms bekle
}
}
bunun hexe dönüşmüş hali lazım arkadaşlar yardımcı olabilir misiniz ? :)



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.