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

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

abdewidad
:: مهندس متميز ::
تاريخ التسجيل: Dec 2013
الدولة: casablanca
المشاركات: 712
نشاط [ abdewidad ]
قوة السمعة:0
قديم 16-01-2015, 10:18 PM المشاركة 1   
افتراضي lm335 et max232 et vb6 Twitter FaceBook Google+



السلام عليكم ورحمة الله وبركاته
هدا الموضوع ينتظر اراءكم و مساعدتكم ونحن جميعا بفضل الله نحل جميع الصعاب
ساقوم بئدراج الكود مع المحاكات مع بعض الشرح حتى يستفيد الجميع
ونقوم بعرضها على الحاسوب يواسطة لغة vb6 بمساعدتكم

كود:
sbit LCD_RS at Rb0_bit;
sbit LCD_EN at Rb1_bit;
sbit LCD_D7 at Rb7_bit;
sbit LCD_D6 at Rb6_bit;
sbit LCD_D5 at Rb5_bit;
sbit LCD_D4 at Rb4_bit;

// Pin direction
sbit LCD_RS_Direction at TRISb0_bit;
sbit LCD_EN_Direction at TRISb1_bit;
sbit LCD_D7_Direction at TRISb7_bit;
sbit LCD_D6_Direction at TRISb6_bit;
sbit LCD_D5_Direction at TRISb5_bit;
sbit LCD_D4_Direction at TRISb4_bit;
unsigned char text0[4] ;
unsigned char text1[4] ;

int temp0 = 0;
void main ()
{

 Uart1_Init (9600);
  Lcd_Init();
  Lcd_Cmd(_LCD_CLEAR);
  Lcd_Cmd(_LCD_CURSOR_OFF);
  Lcd_Out(1, 1, "Temperature");
do {
temp0 = Adc_Read(0);    // Lu canal AN0 et enregistrez la valeur dans la variable temp0
temp0 =temp0/2.05;// Convertir de valeur à la température
temp0= (temp0-271.5 );
ByteToStr(temp0, text0);// Convertit la chaîne TEMP.
Lcd_Out(2, 1, text0);
Lcd_Chr_cp('C');
UART1_Write_Text(text0); // Envoyé à l'uart
UART1_Write_Text(" C");
Uart1_Write('\r'); //  OR 13 :  Retour chariot
delay_ms(500);
}
while (1);
}


التعديل الأخير تم بواسطة : abdewidad بتاريخ 16-01-2015 الساعة 10:31 PM
احصائية الشكر والاعجاب - 2 شكراً, 0 عدم اعجاب, 2 اعجاب
شكراً hamadalla31, Tico ( شكر العضو على هذه المشاركة )
اعجاب hamadalla31, Tico ( أعجبته المشاركة )
اعلانات

abdewidad
:: مهندس متميز ::
تاريخ التسجيل: Dec 2013
الدولة: casablanca
المشاركات: 712
نشاط [ abdewidad ]
قوة السمعة:0
قديم 16-01-2015, 10:27 PM المشاركة 2   
افتراضي


ملفات المحاكات

http://www.gulfup.com/?FMffI8

احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 1 اعجاب
شكراً hamadalla31 ( شكر العضو على هذه المشاركة )
اعجاب hamadalla31 ( أعجبته المشاركة )
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

abdewidad
:: مهندس متميز ::
تاريخ التسجيل: Dec 2013
الدولة: casablanca
المشاركات: 712
نشاط [ abdewidad ]
قوة السمعة:0
قديم 16-01-2015, 10:42 PM المشاركة 3   
افتراضي


كود:
sbit LCD_RS at Rb0_bit;
sbit LCD_EN at Rb1_bit;
sbit LCD_D7 at Rb7_bit;
sbit LCD_D6 at Rb6_bit;
sbit LCD_D5 at Rb5_bit;
sbit LCD_D4 at Rb4_bit;

// Pin direction
sbit LCD_RS_Direction at TRISb0_bit;
sbit LCD_EN_Direction at TRISb1_bit;
sbit LCD_D7_Direction at TRISb7_bit;
sbit LCD_D6_Direction at TRISb6_bit;
sbit LCD_D5_Direction at TRISb5_bit;
sbit LCD_D4_Direction at TRISb4_bit;
تمتلك هذه الشاشة 16 قطب وهي :
- القطب (1) VSS:قطب التغذية السالب ويطبق عليه جهد صفر فولط
- القطب (2) : VDD قطب التغذية الموجب ويطبق عليه خمسة فولط
- القطب (3) VEE قطب التباين عندما يطبق عليه خمسة فولط لايمكن رؤية شيء بينما يصبح
في أعلى حدة تباين عندما نطبق عليه صفر فولط .
- القطب (4) RS مسجل اختيار الدخل ( يطبق عليه صفر عند ارسال كلمة تحكم , ويطبق واحد
عند ارسال معطيات
- القطب (5) RW قطب القراءة أو الكتابة : عند الكتابة على الشاشة نطبق صفر وعند القراءة
منها نطبق واحد وعادة يوصل مباشرة إلى الأرضي عند استعمال الشاشة
للعرض فقط .
- القطب (6) E قطب التمكين بحيث أن اي عملية على الشاشة يجب ارفاقها بنبضة تمكين وهي
تحدث عند الجبهة الهابطة
- الأقطاب (7 إلى14) D0 ..to D7 أقطاب المعطيات للشاشة بطول 8 بت لارسال المعطيات
وكلمات التحكم .
- القطبين ( 15و 16) K , A قطبي الليد الذي يضيء خلفية الشاشة يوصل 15 بالارضي وال
16بالخمسة فولط

احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 2 اعجاب
شكراً hamadalla31 ( شكر العضو على هذه المشاركة )
اعجاب hamadalla31, Tico ( أعجبته المشاركة )

abdewidad
:: مهندس متميز ::
تاريخ التسجيل: Dec 2013
الدولة: casablanca
المشاركات: 712
نشاط [ abdewidad ]
قوة السمعة:0
قديم 16-01-2015, 10:54 PM المشاركة 4   
افتراضي


كود:
unsigned char text0[4] ;
unsigned char text1[4] ;

int temp0 = 0;
قمت بتعريف االمصفوفة الحرفية characte
المصفوفة التانية لم استعملها
كدلك تعريف المتغير temp0 من نوع int وهو عدد صحيح طبيعي
جعلت قيمة البدئية لي temp0 هي صفر

احصائية الشكر والاعجاب - 0 شكراً, 0 عدم اعجاب, 1 اعجاب
اعجاب Tico ( أعجبته المشاركة )

abdewidad
:: مهندس متميز ::
تاريخ التسجيل: Dec 2013
الدولة: casablanca
المشاركات: 712
نشاط [ abdewidad ]
قوة السمعة:0
قديم 17-01-2015, 09:38 AM المشاركة 5   
افتراضي


كود:
 Uart1_Init (9600);
  Lcd_Init();
  Lcd_Cmd(_LCD_CLEAR);
  Lcd_Cmd(_LCD_CURSOR_OFF);
  Lcd_Out(1, 1, "Temperature");
الدالة UART1_Init(9600) مهمتها تهيئة موديول UART لبدء عمل الاتصال التسلسلى وتحديد سرعة الاتصال بالقيمة 9600 bps

الامر Lcd_Init(); مهم لشاشة lcd فهو تابت بدونه لن تعمل اوامر كتبت لشاشة
الامر Lcd_Cmd(_LCD_CLEAR); هو مسح اي كتابة في الشاشة
الامر Lcd_Cmd(_LCD_CURSOR_OFF); هو الغاء مؤشر
الامر Lcd_Out(1, 1, "Temperature"); يستخدم في اظهار الكتابة والرقمين 1 و1 يعني اظهر لي كلمة Temperature في الاسطر الاول من العمود الاول

احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 2 اعجاب
شكراً hamadalla31 ( شكر العضو على هذه المشاركة )
اعجاب hamadalla31, Tico ( أعجبته المشاركة )

abdewidad
:: مهندس متميز ::
تاريخ التسجيل: Dec 2013
الدولة: casablanca
المشاركات: 712
نشاط [ abdewidad ]
قوة السمعة:0
قديم 17-01-2015, 10:17 AM المشاركة 6   
افتراضي


كود:
temp0 = Adc_Read(0);    // Lu canal AN0 et enregistrez la valeur dans la variable temp0
temp0 =temp0/2.05;// Convertir de valeur à la température
temp0= (temp0-271.5 );
ByteToStr(temp0, text0);// Convertit la chaîne TEMP.
Lcd_Out(2, 1, text0);
Lcd_Chr_cp('C');
UART1_Write_Text(text0); // Envoyé à l'uart
UART1_Write_Text(" C");
Uart1_Write('\r'); //  OR 13 :  Retour chariot
الامر temp0 = Adc_Read(0); جعلت المتحكم يدهب الى المحول في الرجل الاولى
ويخزنها في المتغير temp0 من تماتلي الى رقمي
الامر temp0 =temp0/2.05; يقوم بتحويل الحرارة الى توتر
المعادلة vin*1024)/vréfirence = variblr_adc)
vréfirence =5v هو الجهد المرجعي
variblr_adc الناتج عن تحويل من تماتلي رقمي
vin عملية تحويل الجهد داخل المتحكم
1024 العدد هو ان المحول لديه 10 بتات يعني عدد المستويات هو (2 اس 10) -1
المعادلة تصبح variblr_adc/1024)*vréfirence = vin)
variblr_adc/1024)*5 = vin)
الامر ByteToStr(temp0, text0); هو اخد القيم من temp0 وتحويلها الى المصفوفة text0
الامر Lcd_Out(2, 1, text0); هو اظهارفي الشاشة رقيم text0
الامر Lcd_Chr_cp('C'); هو اظهارفي الشاشة حرف c
الامر
UART1_Write_Text(text0); // Envoyé à l'uart
UART1_Write_Text(" C");
Uart1_Write('\r'); // OR 13 : Retour chariot[/CODE]
هو الارسال

احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 1 اعجاب
شكراً hamadalla31 ( شكر العضو على هذه المشاركة )
اعجاب Tico ( أعجبته المشاركة )

abdewidad
:: مهندس متميز ::
تاريخ التسجيل: Dec 2013
الدولة: casablanca
المشاركات: 712
نشاط [ abdewidad ]
قوة السمعة:0
قديم 17-01-2015, 10:22 AM المشاركة 7   
افتراضي


المرجوا تصحيح كود visual basic 6

كود:
Private Sub Form_Load()
' cai dat thong so cho cong com...." COMFIG FOR COM PORT "
With MSComm1
    .CommPort = 1                     'cong COM 1
    .Settings = "9600,N,8,1"          'Baudrate=9600,Ko KT chan le,frame 8 bit,1 bit stop
    .InBufferSize = 1024              'Bo dem 1024 byte thi day
    .InputLen = 0                     'Doc toan bo gia tri bo dem
    .RThreshold = 1                   'Cho phep ngat khi su kien Receiver o MSCOMM
    .SThreshold = 0                   'Ko cho phep ngat khi su kien Send o MMSCOMM
    .OutBufferSize = 512
    .InputMode = comInputModeText
    .PortOpen = True                  'Mo cong COM
End With
End Sub

احصائية الشكر والاعجاب - 2 شكراً, 0 عدم اعجاب, 1 اعجاب
شكراً hamadalla31, Tico ( شكر العضو على هذه المشاركة )
اعجاب hamadalla31 ( أعجبته المشاركة )

abdewidad
:: مهندس متميز ::
تاريخ التسجيل: Dec 2013
الدولة: casablanca
المشاركات: 712
نشاط [ abdewidad ]
قوة السمعة:0
قديم 17-01-2015, 10:23 AM المشاركة 8   
افتراضي


كود:
Private Sub MSComm1_OnComm()
Dim StringIn As String
If MSComm1.CommEvent = comEvReceive Then
    StringIn = MSComm1.Input
       Text1.Text = Asc(StringIn)
    
End If
End Sub

احصائية الشكر والاعجاب - 2 شكراً, 0 عدم اعجاب, 1 اعجاب
شكراً hamadalla31, Tico ( شكر العضو على هذه المشاركة )
اعجاب hamadalla31 ( أعجبته المشاركة )
إضافة رد

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

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

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


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

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