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

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

الصورة الرمزية nazar sss
nazar sss
:: مهندس متميز ::
تاريخ التسجيل: Mar 2008
الدولة: lraq / Salah al-Din
المشاركات: 307
نشاط [ nazar sss ]
قوة السمعة:0
قديم 05-04-2020, 02:50 PM المشاركة 1   
افتراضي الرجاء--ممكن نعدل هذا الكود Twitter FaceBook Google+



السلام عليكم
احتاج اضافة على هذا البرنامج لقياس الجهد اضافة سويج على porta1
عند الضغط الاولى يعمل الريلي الاول وعند ضغط السويج مرت ثانية
يعمل ريلي الثاني ويقف الريلي الاول يتم ربطها على porta4/5
بدون مايتاثر عمل 7s و ADC
كود:
char u0;
char u1;
char u2;
char nnn=0;
////////////////////////////////////////////////////
char seg[]={64,121,36,48,25,18,2,120,0,16};
void cck ()
    {
     u0=(nnn%10);
     u1=((nnn%100)/10);
     u2=(nnn%1000)/100;
     PORTB=32;PORTC=seg[u0];portc.f7=1;Delay_ms(4);
     PORTB=64;PORTC=seg[u1];portc.f7=0;Delay_ms(4);
     PORTB=128;PORTC=seg[u2];portc.f7=1;Delay_ms(4);}
 /////////////////////////////////////////////////////////////
char ADC_VVV;

void main( )
{         char p;
 ANSEL=0; ANSELH=0; TRISA=0b00000001;
 TRISB=0b00010000;
 TRISC=0;
 PORTC=0;
 portb=0;
 porta=0;

while(1){

ADC_VVV = ADC_Read(0);nnn =(ADC_VVV*5.4)/10;

    {cck ();} }}
[IMG][/IMG]

اعلانات

فيصل الريامي
:: مهندس ::
تاريخ التسجيل: Dec 2018
المشاركات: 36
نشاط [ فيصل الريامي ]
قوة السمعة:0
قديم 08-04-2020, 08:41 AM المشاركة 2   
افتراضي


أضف متغير جديد
Select;
if(porta.f1==0) {delay_ms(300);
select++;
if(select ==2){ (select =0}}
if(select ==0){porta.f3=1;porta.f4=0;}
if(select ==1)
{porta.f4=1;porta.f3=0;}

عذرا على التنسيق الكود لا أعرف كيف انسق وصلت لك الفكره

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

الصورة الرمزية nazar sss
nazar sss
:: مهندس متميز ::
تاريخ التسجيل: Mar 2008
الدولة: lraq / Salah al-Din
المشاركات: 307
نشاط [ nazar sss ]
قوة السمعة:0
قديم 09-04-2020, 01:57 AM المشاركة 3   
افتراضي


الف شكر استاذ فيصل


TIME0
:: مهندس جيد ::
تاريخ التسجيل: Mar 2012
المشاركات: 277
نشاط [ TIME0 ]
قوة السمعة:0
قديم 17-09-2023, 02:59 AM المشاركة 4   
افتراضي


char u0;
char u1;
char u2;
char nnn = 0;

char seg[] = {64, 121, 36, 48, 25, 18, 2, 120, 0, 16};

void display_number() {
u0 = nnn % 10;
u1 = (nnn % 100) / 10;
u2 = (nnn % 1000) / 100;
PORTB = 32; PORTC = seg[u0]; portc.f7 = 1; Delay_ms(4);
PORTB = 64; PORTC = seg[u1]; portc.f7 = 0; Delay_ms(4);
PORTB = 128; PORTC = seg[u2]; portc.f7 = 1; Delay_ms(4);
}

void main() {
char ADC_VVV;
ANSEL = 0; ANSELH = 0; TRISA = 0b00000001;
TRISB = 0b00010000;
TRISC = 0;
PORTC = 0;
PORTB = 0;
PORTA = 0;

while (1) {
ADC_VVV = ADC_Read(0);
nnn = (ADC_VVV * 54) / 10; // Scale the ADC reading to the desired voltage range (adjust as needed)

// Display the voltage reading on the 7-segment display
display_number();
}
}

إضافة رد

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

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

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


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

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