قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

رضوان69
:: مهندس متواجد ::
تاريخ التسجيل: Jun 2011
المشاركات: 71
نشاط [ رضوان69 ]
قوة السمعة:0
قديم 20-05-2013, 07:27 PM المشاركة 1   
افتراضي هل يمكن هذا التعديل في الكود و PIC Twitter FaceBook Google+



السلام عليكم عندي الكود المرفق والدائرة مقياس فولتية بالسفن سكمن
يعمل بالبك 16f877A
احتاج اعدل علي الكود لكي يعمل على البك pic16f687 شكرا

كود:
unsigned short digit_no, digit10, digit1, digit, i; x; Y;
unsigned int volt;
unsigned short mask(unsigned short num) {
  switch (num) {
    case 0 : return 0xC0;
    case 1 : return 0xF9;
    case 2 : return 0xA4;
    case 3 : return 0xB0;
    case 4 : return 0x99;
    case 5 : return 0x92;
    case 6 : return 0x83;
    case 7 : return 0xF8;
    case 8 : return 0x80;
    case 9 : return 0x98;
}
        }
void interrupt() {
  if (digit_no==0) {
    PORTC = 0;          // Turn off all 7seg displays
    PORTD = digit1;     //  send mask for ones digit to PORTD
    PORTC = 1;          //  turn on 1st 7 seg., turn off 2nd
    digit_no =1;
  } else {
    PORTC = 0;           // Turn off all 7seg displays
    PORTD = digit10;    //  send mask for tens digit to PORTD
    PORTC = 2;          //  turn on 2nd 7 seg., turn off 1st
    digit_no = 0;
    }

  TMR0 = 0;             //  clear TMRO
  INTCON = 0x20;        //  clear T0IF and set T0IE
            }
void main() {
  OPTION_REG  = 0x80;   // Timer0 settings
  TMR0        =   0;
  INTCON      = 0xA0;   // Disable PEIE,INTE,RBIE,T0IE
  PORTC       =    0;    // clear PORTc (make sure both displays are off)
  TRISC       =    0b11111100;    // designate PORTc pins as output
  PORTD       =    0;    // clear PORTD (make sure LEDs are off)
  TRISD       =    0;     // designate PORTD pins as output
  TRISA       =   0b00000000;   //PORTA  I/POT
  TRISB       =    0;     //PORTB  O/POT
  PORTB       =    0;
          maty:
    while(1)
    {

                volt = ADC_Read(2);
               volt =  (volt*5*50)/1000;

           {
      digit   = volt % 10u;
      digit1  = mask(digit);           // prepare ones digit
      digit   = (char)(volt / 10u) % 10u;
      digit10 = mask(digit);           // prepare tens digit
      Delay_ms(200);    }




        }
      goto maty
  }
[IMG][/IMG]

اعلانات

الصورة الرمزية #MAAM#
#MAAM#
:: عضو ذهبي ::
تاريخ التسجيل: Jun 2008
الدولة: EGYPT
المشاركات: 567
نشاط [ #MAAM# ]
قوة السمعة:91
قديم 20-05-2013, 09:19 PM المشاركة 2   
افتراضي


https://khamsat.com/programming/2677...88%D9%84%D8%B1

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

رضوان69
:: مهندس متواجد ::
تاريخ التسجيل: Jun 2011
المشاركات: 71
نشاط [ رضوان69 ]
قوة السمعة:0
قديم 22-05-2013, 06:15 PM المشاركة 3   
افتراضي


اين انتم يااخوان

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 04:14 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025