|
اخواني من فظلكم ...
ما رايكم ان نعمل المشروع خطوة بعد اخرى ... فانا لم اطلع على موضوع الاخ ابو معاذ الا الان ولم افهمه جيدا بعد ... وربما الكثير مثلي ..
يا حبذا لو نبدأ باضهار رقم واحد مثلا في البداية لكي نعرف كيف تتصرف الدائرة ..
ثم نطوره تباعا ...
|
الموضوع تقريبا سهل لعرض ارقام او حروف
فمثلااا لعرض 01234 اليك الكود الاتي
pic16f84a كرستاله 4 ميجا
كود:
const int zero[5]= {62,65,65,65,62} ;
const int one[5]= {0,66,127,64,0 };
const int two[5] = {66,97,81,73,70 };
const int three[5] = {0,73,77,75,113} ;
const int four[5] = {24,20,18,127,16} ;
const int five[5] = {39,69,69,69,57} ;
const int six[5] = {60,37,73,73,48} ;
const int seven[5] = {1,113,9,5,3} ;
const int eight[5] = {54,73,73,73,54} ;
const int nine[5] = {6,73,73,41,30} ;
char x ;
void main() { trisb=0 ; portb=0 ;
while(1) {
for(x=0;x<5;x++) { portb = zero[x] ; delay_us(270) ; }
portb=0 ; delay_us ( 540 ) ;
for(x=0;x<5;x++) { portb = one[x] ; delay_us(270) ; }
portb=0 ; delay_us( 540 );
for(x=0;x<5;x++) { portb = two[x] ; delay_us(270) ; }
portb=0 ; delay_us( 540 );
for(x=0;x<5;x++) { portb = three[x] ; delay_us(270) ; }
portb=0 ; delay_ms( 33) ;
}
}
ولعرض كلمة LIBYA FREE مثلااا
كود:
const int L[5]= {127,64,64,64,64 };
const int I[5] = {0,65,127,65,0 };
const int B[5] = {127,73,73,73,54} ;
const int Y[5] = {7,8,112,8,7} ;
const int A[5] = {126,17,17,17,126 };
const int V[5] = {127,9,9,9,9 };
const int R[5] = {127,25,25,41,70} ;
const int E[5] = {127,73,73,73,73} ;
const int N[5] = {127,73,73,73,73} ;
char x ;
void main() { trisb=0 ; portb=0 ;
while(1) {
///////////////////////////////////////////////////////
for(x=0;x<5;x++) { portb = L[x] ; delay_us(335) ; }
portb=0 ; delay_us( 670) ;
for(x=0;x<5;x++) { portb = I[x] ; delay_us(335) ; }
portb=0 ; delay_us( 670) ;
for(x=0;x<5;x++) { portb = B[x] ; delay_us(335) ; }
portb=0 ; delay_us( 670) ;
for(x=0;x<5;x++) { portb = Y[x] ; delay_us(335) ; }
portb=0 ; delay_us( 670) ;
for(x=0;x<5;x++) { portb = A[x] ; delay_us(335) ; }
////////////////////////////////////////////////////
portb=0 ; delay_us( 1500) ;
for(x=0;x<5;x++) { portb = V[x] ; delay_us(335) ; }
portb=0 ; delay_us( 670) ;
for(x=0;x<5;x++) { portb = R[x] ; delay_us(335) ; }
portb=0 ; delay_us( 670) ;
for(x=0;x<5;x++) { portb = E[x] ; delay_us(335) ; }
portb=0 ; delay_us( 670) ;
for(x=0;x<5;x++) { portb = E[x] ; delay_us(335) ; }
portb=0 ; delay_ms( 30) ;
}
}
وهكذا ...
اما بالنسبه لاختيار الزمن وبعض الحسابات فهي موجوده فى موضوع الاخ معاد ..التي لازلت اعتمد عليها وعاملها مرجع لمشاريعي ..
فما عليك الا التنفيذ واختيار نوع الموتور الذي عذبني
وللعلم لم اجد موتور(فى ذلك الوقت) يعطي 25 لفه فى الثانيه ..لانني بعد تجارب عديده اكتشفت ان مواتيري كلها تعمل على 20 لفه فى الثانيه ..وللعلم الكودين الذان فى الاعلى معمولان على اساس 20 لفه فى الثانيه
وتبقي نقطه اخيره وهي توصيل ال5 فولت للداره فاني سويت كما سوى اخي معاد وهي موضحه فى موضوع الاخ معاد ..اتمني لك التوفيق