الوصف (Description):-
سوف نتناول إنشاء عداد ثنائى باستخدام
الليدات الرقم الثنائى1و0سوف يمثلان توصيل وفصل الليدات أى on-offسوف
نقوم بإنشاء عداد ذو أربع خانات 4-bit binary counter (باستخدام أربع
ليدات) والذى يستخدم فى العد من 0 إلى 15
(0000-1111 binary) . الليدات الأربعة متصلة بالأطراف
Rb0 إلى Rb3 للمنفذ PORTb للميكروكونترولر
PIC16F88 من خلال مقامات تحديد
للتيار 220 OHM .يتم توصيل مفتاح ضاغط بالطرف Rb4 ليعطى إشارة الدخل للعداد .يبدأ
العداد من الصفر ويتزايد بواحد كلما تم الضغط على المفتاح الضاغط . عندما يصل
العداد إلى 15 (جميع الليدات تكون مضاءة) فأذا
تم الضغط علي المفتاح فسوف يتم تصفيره reset إلى الصفر وتتكرر
العمليه .
النظرية المطلوبة ( Required Theory)
مخطط الدائرة (Circuit Diagram)
البرنامج(Software)
/*
Lab 3: 4-bit
up counter
Internal
Clock @ 8MHz, MCLR Enabled, PWRT Enabled, WDT OFF
Copyright @
moha162003
nov 6, 2012
*/
sbit Switch
at Rb4_bit
#define Switch_Pin 4
#define
Switch_Port PORTb
#define
Debounce_Time 20
unsigned short count ;
void main() {
ANSEL = 0b00000000;
CMCON0
= 0x07 ;
TRISb = 0b00010000;
TRISA = 0b00001000;
count
= 0;
PORTb = count;
do {
if (Button(&Switch_Port, Switch_Pin,
Debounce_Time, 0)) {
if (!Switch) {
count ++;
if (count ==16) count =0;
PORTb = count;
}
while
(!Switch);
}
} while(1)
}
|
شرح البرنامج
نفس
التجربه السابقه ولكن هنا سوف نستخدم متغير بأسم count في بدايه البرنامج نعطيه القيمه (0) وعند الضغط علي المفتاح يزيد هذا
المتغير بمقدار واحد وذلك عن طريق الأمر count++ووضعنا جمله
شرطيه if (count ==16) count =0وذلك لتصفير هذا
المتغير بمجرد ان محتوياته تساوي 16 ليبدأ العد من صفر مره اخري ويتم عرض محتويات هذا المتغير علي الخرج عن
طريق الامرPORTb = count
فيديو التجربة
ليست هناك تعليقات :
إرسال تعليق