Şimdi Ara

c # dilinde yazılmış pic kodlarını hex e hangi program ile çevirebilirim

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
3 Misafir - 3 Masaüstü
5 sn
19
Cevap
0
Favori
6.736
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • 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



  • hi tech c compiler
  • #code# tag larını kullanarak programını buraya koy çeviren çıkacaktır.

    Satırlarına bakınca bilenler şu derleyici diyebilirler...
  • 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?




  • 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
  • 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








  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • 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 ş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...
  • C# bilmiyorum ama C biliyorum. Bu kodlar C kodları, sen eminmisin bu programın C# da yazıldığından?
  • 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.
  • #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.




  • 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
    }
    }
  • 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;
    //------------------
    }
    }




  • 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..




  • Konu ile alakası yok ama bunlar c# kodu mu? Bana c kodu gibi geldi.
  • 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
  • #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 ? :)
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.