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

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

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:334
قديم 19-08-2013, 07:18 PM المشاركة 1   
افتراضي الدائرة المتكاملة 4511 والسفن سيجمنت و لغة Basic والمترجم Proton : Twitter FaceBook Google+



الدائرة المتكاملة 4511 والسفن سيجمنت و لغة Basic والمترجم Proton :


الدائرة المتكاملة 4511 :
أطراف التوصيل :





الدائرة المتكاملة4511هى مفسر شفرة decoder من كود ثنائى مشفر عشرى BCDإلى كود تشغيل وحدة العرض السفن سيجمنت ، ومشغل Driverوظيفتها تحويل الحالات المنطقية عند المداخل A,B,C,D والتى على شكل كود ثنائى مكود عشرى إلى إشارات والتى سوف تقوم بقيادةوحدة العرض السفن سيجمنت لعرض الأرقام العشرية من 0 إلى 9.
الشرائح المفردة التى تصنع وحدة العرض السفنسيحمنت يتم تعريفها بحروف كما فى الشكل التالى:



يوجد نوعان من وحدات العرض السفن سيجمنت : نوع الكاثودالمشترك ، وفيه يتم توصيل جميع كاثودات شرائح الليدات معا ويتم إضاءة الشرائجالمنفردة عن طريق توصيل الجهود المرتفعة high إلى الأنودات ، ونوع الأنود المشترك ، وفيه يتم توصيل جميعأنودات شرائح الليدات معا ويتم إضاءة الشرائح المنفردة عن طريق توصيل الجهودالمنخفضة low إلى الكاثودات .
الدائرة المتكاملة4511مصممة لقيادة وحدة العرض نوع المهبط المشترك ولا تعمل معوحدة العرض نوع الأنود المشترك . يجب عليك التحقق من استخدام النوع الصحيح .
عندما يتم تهيئة الدائرة المتكاملة بالشكلالصحيح فإن المخارج تتبع جدول الحقيقة التالى :




يوجد سؤال حول شكل الرقم 6 والرقم 9 : هل لهما ذيل tail أم لا ؟ .
الدائرة المتكاملة تنتج عرض "بدون ذيل". إذا تمتوصيل قيم ثنائية أكبر من 1001 إلى مداخل الدائرة المتكاملة فإن جميع المخارج تكون أصفار 0's ويتم مسح blank وحدة العرض .

العمل الأساسى :
فى العمل العادى : يتم توصيل بيانات مصاعد الشرائح إلى المداخل A,B,C,D وتوصيل مدخل "اختبار اللمبات) LTومدخل "الإطفاء" BIبالجهد المرتفع high بشكل دائم وتوصيل مدخل التمكين LEبالجهد المنخفض low عند الرغبة فى إظهار بيانات الخرج QA : QG)) وبالتالى فإن هذا الطرف يستخدم لانتخاب وحدة العرض المطلوب عرض بياناتها عند استخدام وحدات عرض متعددة .



جدول الحقيقة :



من جدول الحقيقة يتضح وجود أربع حالات للعمل :
1- حالة اختبار اللمبات (الشرائح) :
عند وضع طرف الدخل LT(3) (لاحظ وجود شرطة أعلاه وهى تعنى أنه فعال فى الحالة المنخفضة) فى الحالة المنخفضة ، وبغض النظر عن حالة المداخل الأخرى (وهو ما يعبر عنه بعلامة X ) ، فإن جميع مخارج أنودات الشرائح تصبح مرتفعة لإضاءة الشرائح عندما يكون المهبط المشترك عند الحالة المنخفضة .
2- حالة الإطفاء :
عندما يكون الطرف LT(3) فى الحالة المرتفعة (غير فعال) ، وعند وضع طرف الدخل BI(4) عند الحالة المنخفضة (الحالة الفعالة) فإن جميع مخارج الشرائح تجبر على الحالة المنخفضة (إطفاء) . نتيجة لذلك يمكن استخدام هذا الدخل لإطفاء الأصفار الغير مهمة ( أقصى اليسار) فى وحدات العرض متعددة الأرقام .
3- حالة العرض (التشغيل العادى) :
عندما يكون الطرف LT(3) فى الحالة المرتفعة (غير فعال) ، والطرف BI(4) فى الحالة المرتفعة (غير فعال) ، وعند وضع طرف الدخل LE(5) فى الحالة المرتفعة (فعال) يتم إخراج كود السفن سيجمنت
QA : QG)) المناظر لكود العدد الثنائى المكود عشرى الموجود على المداخل A,B,C,D .



البرنامج الأول : البرنامج الاساسى باستخدم وحدة عرض واحدة للعد من 0 إلى 9 :

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:334
قديم 19-08-2013, 07:22 PM المشاركة 2   
افتراضي


البرنامج الأول : البرنامج الاساسى باستخدم وحدة عرض واحدة للعد من 0 إلى 9 :
الدائرة الكهربية :




البرنامج :
كود:
;prog1-Basic -7-segment-with IC 4511 Device = 16F628A ; Produce code for a 16F628A device Xtal 4 ; 4MHz oscillator All_Digital True Output PORTB ; as TRISB=0 i.e. all as output PORTB=0 ;Clear PORTB Dim Number As Byte ; Dfine variable "Number" , will contain 0,1,...9 so byte zise start: Number=0 ;Clear variable "Number" , Start from 0 Display: PORTB = Number ; Cpoy Number data (0,1,2...9) to PORTB DelayMS 1000 ; Wait to display If Number = 9 Then start ; if number = 9 start number = 0 Number=Number+1 ;Increment Number value , add 1 To the Variable Number GoTo Display ; jump to display to loop again End

البرنامج الثانى : استخدام وحدتين مع الانتخاب بينهما عن طريق مدخل التمكين للعد من 00 إلى 99 :

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

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:334
قديم 19-08-2013, 07:24 PM المشاركة 3   
افتراضي


البرنامج الثانى : استخدام وحدتين مع الانتخاب بينهما عن طريق مدخل التمكين للعد من 00 إلى 99 :
الدائرة الكهربية :

البرنامج :

كود:
;Prog2-7-segment-4511-00-99-COUNTER Device = 16F628A ; Produce code for a 16F628A device Xtal 4 ; 4MHz oscillator All_Digital True Output PORTB ; as TRISB=0 i.e. all as output PORTB=0 ;Clear PORTB Dim Number As Byte ; Dfine variable "Number" , will contain 00 to 99 so byte zise Dim ONES As Byte ;DIGIT 0 for ONES Dim TENS As Byte ;DIGIT 1 for TENS Symbol Enable_ONES = PORTB.5 ; LE Input for digit 0 Symbol Enable_TENS = PORTB.4 ; LE Input for digit 1 START: Number=0 ;Clear variable "Number" , Start from 0 Display: ;Number consists of ONES=Number Dig 0 ; To get ONES digit from Number TENS=Number Dig 1 ; To get TENS digit from Number PORTB=240 | ONES ; To Send ONES data to PORTB ; Note : 240 = %11110000 , (|) OR to use bit0 to bit3 for 7 segment ;and make bit4 to bit7 high for enable function ;Enable (LE) 4511 ONES digit by low pulse Low Enable_ONES : DelayMS 1 : High Enable_ONES : DelayMS 1 PORTB=240 | TENS ; To Send TENS data ;Enable (LE) 4511 TENS digit by low pulse Low Enable_TENS : DelayMS 1 : High Enable_TENS : DelayMS 1 DelayMS 250 If Number = 99 Then START ; if number = 9 start number = 0 Number=Number+1 GoTo Display End


البرنامج الثالث : استخدام ثلاث وحدات مع الانتخاب بينهما عن طريق مدخل التمكين للعد من 000 إلى 999 :


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:334
قديم 19-08-2013, 07:27 PM المشاركة 4   
افتراضي


البرنامج الثالث : استخدام ثلاث وحدات مع الانتخاب بينهما عن طريق مدخل التمكين للعد من 000 إلى 999 :
الدائرة الكهربية :

البرنامج :

كود:
;Prog3-7-segment-4511-000-999-COUNTER Device = 16F628A Xtal 4 All_Digital True Output PORTB ; All PORTB pins as output PORTB = 0 ;Clear PORTB Dim Number As Word ; 000 to 999 i.e. word Dim ONES As Word ;DIGIT 0 for ONES 0 to 9 Dim TENS As Word ;DIGIT 1 for TENS 0 to 9 Dim HUNDREDS As Word ;DIGIT 2 for HUNDREDS 0 to 9 Symbol Enable_ONES = PORTB.6 Symbol Enable_TENS = PORTB.5 Symbol Enable_HUNDREDS = PORTB.4 START: Number=0 ;Clear Number , start from 0 Display: ;Number consists of ONES=Number Dig 0 TENS=Number Dig 1 HUNDREDS = Number Dig 2 PORTB=240 | ONES ; Sens ONES data ; Note : 240 = %11110000 , (|) OR to use bit0 to bit3 for 7 segment ;and make bit4 to bit7 high for enable function ;Enable (LE) 4511 ONES digit by low pulse Low Enable_ONES : DelayMS 1 : High Enable_ONES : DelayMS 1 PORTB=240 | TENS ; Send TENS data ;Enable (LE) 4511 TENS digit by low pulse Low Enable_TENS : DelayMS 1 : High Enable_TENS : DelayMS 1 PORTB=240 | HUNDREDS ; Send HUNDREDS data ;Enable (LE) 4511 HUNDREDS digit by low pulse Low Enable_HUNDREDS : DelayMS 1 : High Enable_HUNDREDS : DelayMS 1 DelayMS 250 If Number = 999 Then START ; to start from 0 again Number=Number+1 GoTo Display ; to display the next Number End





البرنامج الرابع : استخدام أربع وحدات مع الانتخاب بينهما عن طريق مدخل التمكين للعد من 0000 إلى 9999 :


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:334
قديم 19-08-2013, 07:29 PM المشاركة 5   
افتراضي


البرنامج الرابع : استخدام أربع وحدات مع الانتخاب بينهما عن طريق مدخل التمكين للعد من 0000 إلى 9999 :


الدائرة الكهربية :

البرنامج :


كود:
;Prog4-7-segment-4511-0000-9999-COUNTER Device = 16F628A Xtal 4 All_Digital True Output PORTB ; All PORTB pins as output PORTB = 0 ;Clear PORTB Dim Number As Word ; 000 to 999 i.e. word Dim ONES As Word ;DIGIT 0 for ONES 0 to 9 Dim TENS As Word ;DIGIT 1 for TENS 0 to 9 Dim HUNDREDS As Word ;DIGIT 2 for HUNDREDS 0 to 9 Dim THOUSANDS As Word Symbol Enable_ONES = PORTB.7 Symbol Enable_TENS = PORTB.6 Symbol Enable_HUNDREDS = PORTB.5 Symbol Enable_THOUSANDS = PORTB.4 START: Number=0 ;Clear Number Display: ;Number consists of ONES=Number Dig 0 TENS=Number Dig 1 HUNDREDS = Number Dig 2 THOUSANDS = Number Dig 3 PORTB=240 | ONES ; Sens ONES data ; Note : 240 = %11110000 , (|) OR to use bit0 to bit3 for 7 segment ;and make bit4 to bit7 high for enable function ;Enable (LE) 4511 ONES digit by low pulse Low Enable_ONES : DelayMS 1 : High Enable_ONES : DelayMS 1 PORTB=240 | TENS ; Send TENS data ;Enable (LE) 4511 TENS digit by low pulse Low Enable_TENS : DelayMS 1 : High Enable_TENS : DelayMS 1 PORTB=240 | HUNDREDS ; Send HUNDREDS data ;Enable (LE) 4511 HUNDREDS digit by low pulse Low Enable_HUNDREDS : DelayMS 1 : High Enable_HUNDREDS : DelayMS 1 PORTB=240 | THOUSANDS ; Send THOUSANDS data ;Enable (LE) 4511 THOUSANDS digit by low pulse Low Enable_THOUSANDS : DelayMS 1 : High Enable_THOUSANDS : DelayMS 1 DelayMS 10 If Number = 9999 Then START Number=Number+1 GoTo Display End


البرنامج الخامس : استخدام خمس وحدات مع الانتخاب بينهما عن طريق مدخل التمكين للعد من 00000 إلى 65535 :


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:334
قديم 19-08-2013, 07:31 PM المشاركة 6   
افتراضي


البرنامج الخامس : استخدام خمس وحدات مع الانتخاب بينهما عن طريق مدخل التمكين للعد من 00000 إلى 65535 :


الدائرة الكهربية :

البرنامج :


كود:
;Prog5-7-segment-4511-00000-65535-COUNTER 
Device = 16F628A
Xtal 4 
All_Digital True

Output PORTB                            ; All PORTB pins as output
Output PORTA                            ; All PORTA pins as output 
PORTB = 0                               ;Clear PORTB
PORTA = 0                               ;Clear PORTA

Dim Number As Word ; 000 to 999 i.e. word 
Dim ONES As Word                       ;DIGIT 0 for ONES 0 to 9 
Dim TENS As Word                      ;DIGIT 1 for TENS  0 to 9   
Dim HUNDREDS As Word                    ;DIGIT 2 for HUNDREDS 0 to 9 
Dim THOUSANDS As Word                   ;DIGIT 3 for HUNDREDS 0 to 9 
Dim ONE_THOUSANDS As Word               ;DIGIT 4 for HUNDREDS 0 to 9 

Symbol Enable_ONES = PORTB.7
Symbol Enable_TENS = PORTB.6
Symbol Enable_HUNDREDS = PORTB.5
Symbol Enable_THOUSANDS = PORTB.4
Symbol Enable_ONE_THOUSANDS = PORTA.4

START:
Number=0                              ;Clear Number  

Display:
;Number consists of   
ONES=Number Dig 0
TENS=Number Dig 1
HUNDREDS = Number Dig 2 
THOUSANDS = Number Dig 3 
ONE_THOUSANDS = Number Dig 4 

PORTB=240 | ONES ; Sens ONES data           
; Note : 240 = %11110000 , (|) OR to use bit0 to bit3 for 7 segment 
;and make bit4 to bit7 high for enable function     

;Enable (LE) 4511 ONES digit by low pulse 
Low Enable_ONES : DelayMS 1 : High Enable_ONES : DelayMS 1     

PORTB=240 | TENS ; Send TENS data

;Enable (LE) 4511 TENS digit by low pulse 
Low Enable_TENS : DelayMS 1 : High Enable_TENS : DelayMS 1 

PORTB=240 | HUNDREDS ; Send HUNDREDS data

;Enable (LE) 4511 HUNDREDS digit by low pulse 
Low Enable_HUNDREDS : DelayMS 1 : High Enable_HUNDREDS : DelayMS 1

PORTB=240 | THOUSANDS ; Send THOUSANDS data

;Enable (LE) 4511 THOUSANDS digit by low pulse 
Low Enable_THOUSANDS : DelayMS 1 : High Enable_THOUSANDS : DelayMS 1

PORTA=240 | ONE_THOUSANDS ; Send ONE_THOUSANDS data

;Enable (LE) 4511 ONE_THOUSANDS digit by low pulse 
Low Enable_ONE_THOUSANDS : DelayMS 1 : High Enable_ONE_THOUSANDS : DelayMS 1     

DelayMS 10
If Number = 65535 Then START

Number=Number+1


GoTo Display
End

إضافة رد

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

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

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


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

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