السلام عليكم سبحان الله والحمد لله
القطعة 8870 تعطيك خرج على شكل رقم ثنائي مكون من اربع خانات الرجل 11 تمثل الخانة الدنيا والرجل 14 تمثل الخانة العليا فعندما يأتيها على دخلها نغمة تمثل رقم معين فأنها تخرج ما يقابل هذا الرقم بالنظام الثنائي وتعمل امساك لهذه القيمة حتى تأتي نغمة اخرى او حتى تعمل انت لها ريست وذلك بإرسال نبضة على الرجل 17
كذلك فأنها عندما تأتيها نغمة جديدة وتغير قيمة الخرج فإنها تعطيك تنبيه وذلك بأرسال نبضة على الرجل 15
فإذا اردت ان تقرا من من خلال الميكرو فعليك ان توصل الرجل 15 مع طرف دخل في البيك مثلا ولتكن ال PORTA.F1 وتوصل خرجها بداية من الرجل 11 مع الرجل مثلا RB0 ونهاية بالرجل 14 من القطعة 8870 مع الرجل RB3 من البيك وتبرمج البيك انه اذا اتاه نبضة علر الرجل RA1 ثم انتهت النبضة يقوم بقراءة البورت B ثم يخزن النتيجة في متغير او مصفوفة وبعدها تفعل ما تريد في هذا المتغير وكنت انجزت مشروع
تحكم من خلال الجوال حيث بعد ان تتصل ويفتح الخط تلقائيا من الجوال
حيث تضغط على زر نجمة ثم تضغط ارقام الاجهزة التي تريد تشغيلها وهي من 1 الى 8
او تضغط زر السلم ومن ثم ارقام الاجهزة التي تريد اطفاءها والمشروع نجح
وهذا الكود حيث التوصيل كالتالي على البيك 16f628a :
القطعة 8870 البيك 16f628a
11 RA0
12 RA1
13 RA2
14 RA3
15( الرجل التي RA4
تعلمك بتغير
القيمة )
كود:
char dtmf;
bit a,x;
void main() {
CMCON=0x07;
TRISA=0B11111111;
TRISB=0;
PORTB=0x00;
x=0;
while(1){
if(PORTA.F4==1)
{a=1;}
if(a&&!PORTA.F4==1)
{
a=0;
dtmf=PORTA;
if(dtmf==11)
{x=1;}
if(dtmf==12)
{x=0;}
if(dtmf<=10)
{
if(dtmf==1)
{PORTB.F0=x;}
if(dtmf==2)
{PORTB.F1=x;}
if(dtmf==3)
{PORTB.F2=x;}
if(dtmf==4)
{PORTB.F3=x;}
if(dtmf==5)
{PORTB.F4=x;}
if(dtmf==6)
{PORTB.F5=x;}
if(dtmf==7)
{PORTB.F6=x;}
if(dtmf==8)
{PORTB.F7=x;}
}
}}
}
مع تمنياتي بالتوفيق ورمضان كريم
سبحان الله والحمد لله