Geri git   Programlama ve Elektronik > Elektronik Programlama > PIC C

PIC C CCS C ve MikroC vb. Hakkında

Cevapla
 
Seçenekler Stil
Alt 3. July 2012, 01:31 PM   #1 (permalink)
Amatör
 
Üyelik tarihi: Mar 2008
Mesajlar: 11
Standart ccsc ile yazılmış pıc'li voltmetre

merhaba devreyle baya bi uğraştım çalıştıramadım yada bilgilerim yetersiz geliyo desem daha doğru olcak derlerken problem yok diyo ama simulasyonda çalıştırmıyo . simulasyon çizimi yazılım hepsi rar içinde
teşekkürler.
[Sadece Üyelere Linkler Açıktır.Üye Olun !!! Tıklayarak Üye Olun !!!]

Kod:
#include <16F676.h>
#device adc=10 
#fuses INTRC_IONOWDTPUTNOPROTECTBROWNOUTNOMCLR
#use delay (clock=4000000) // 4MHz clock

#rom  0x3ff={0x3444}

#byte PORTA = 0x05
#byte PORTC = 0x07
#byte TRISA = 0x85
#byte TRISC = 0x87

#define SPORTA PORTA
#define SPORTC PORTC

#define  TICKS_BETWEEN_INTERRUPTS      5000 //5000
#define  INTERRUPT_OVERHEAD            35
#define  TMR1RESET (0xFFFF-(TICKS_BETWEEN_INTERRUPTS-INTERRUPT_OVERHEAD))

const char SegCode[11] = {0x400x570x220x060x150x0C0x080x560x000x040xFF};
   //                       0    1    2    3    4    5    6    7    8    9
const char Column[3]   = {0x020x010x04};
static char Segment[3] = {0x7f0x7f0x7f};   
static unsigned char ColCount=0x00;

void CPU_SETUP(void);
void Display(void);
void HTO7S(unsigned int32 Num);

byte i;
unsigned int32 result;

#INT_TIMER1
void Timer1(void)
{   
   set_timer1(TMR1RESET);
   Display();   
}   

void main()
{      
   unsigned char i;
   
   CPU_SETUP();
   
   while(true)
   {         
      result=0;
      for (i=0;i<20;i++)
      {
         set_adc_channel(3); 
         delay_ms(1); 
         result=result+read_adc();
      }
        //result = 0x3fe;                           
       HTO7S(result/20);   
      delay_ms(200);          
   }
   
}

void CPU_SETUP()
{
    
   setup_comparator(NC_NC_NC_NC);   // not use comparator module
   setup_adc_ports( sAN3 | VSS_VDD); 
   setup_adc(ADC_CLOCK_DIV_64);
   TRISA=0b00011000;
   PORTA=0x27;
   TRISC=0b00000000;
   PORTC=0x37;
   
   
   setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);
   set_timer1(TMR1RESET);
   enable_interrupts(GLOBAL);
   enable_interrupts(INT_TIMER1);   
}

//-------------------------------------
// Display routine
//-------------------------------------
void Display()
{
   PORTA = 0b00100111;     // off all digits column and Segment G
   PORTC = 0b00111111;   // off segment a-f   
   delay_cycles(2);
   

   if (ColCount>=3) 
   ColCount=0;
       
   SPORTC = Segment[ColCount];
   SPORTA = ((Segment[ColCount] & 0b01000000)>>1) | (Column[ColCount]^0x07);
   ColCount++;            
}   

//--------------------------------------
// Convet HEX 2 byte to 7-Segment code
//--------------------------------------
void HTO7S(unsigned int32 Num)
{

   unsigned int32 res;

   
   Segment[0]=SegCode[30*Num/10230];
   if (Segment[0]==0x40) 
   Segment[0]=0xFF;
   
   res = 30*Num%10230;
   Segment[1]=SegCode[10*res/10230];
   res=10*res%10230;
   Segment[2]=SegCode[10*res/10230];
}
xman isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Alt 3. July 2012, 02:57 PM   #2 (permalink)
Moderator
 
xDoZeRx - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: Apr 2012
Mesajlar: 223
Standart Cevap: ccsc ile yazılmış pıc'li voltmetre

Programımız hex kodlarında bozukluk var kodların yeniden yazılması gerektiğini söylüyor.Real Time de sorun olduğunu söylüyor kodlarını elden geçir
xDoZeRx isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Alt 3. July 2012, 03:57 PM   #3 (permalink)
Tekniker
 
ULAGA - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: Dec 2007
Mesajlar: 448
Standart Cevap: ccsc ile yazılmış pıc'li voltmetre

Geçenlerde bilgisayara format attığım için tüm yazılımlar silindi.
Müsait olduğumda inceleyeceğim.
ULAGA isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Cevapla

Seçenekler
Stil

Yetkileriniz
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
PIC16F877 İle LCD Ekran Voltmetre Yapımı PIONEERNADIR PIC16F877 Devreleri 1 7. December 2012 02:30 AM
Güç kaynağına voltmetre bağlantısı xman İstek ve Sorun 4 14. July 2012 12:33 PM
PIC16F877 İle Gün Saat Derece Ve Takvim Görtergeli Devre Yapımı pic basic ile yazılmış programı lazım yasso_fist İstek ve Sorun 4 10. February 2009 05:31 PM
Assembly ile Yazılmış PIC Karaşimşek Uygulaması Dragon PIC Assembly 2 5. June 2008 10:05 PM