|
شكراا اخي باعادة الرد على هذه الفقرة فقمت بالبحث على النت ووجدت انها نفسها لغة البرمجة الخاصة بال 8086
|
أخى
لكل عائلة ميكرو سواء ميكرو بروسيسور أو ميكرو كونتروللر لغة أسيمبلى لها ولا تنطبق على أى عائلة أخرى
بعض العائلات تكون تطوير للأعلى بمعنى تعتمد السابق و تضيف إليه و البعض يختلف تماما
البك PIC16 لإمكانياته المحدودة تجد أن لغته صعبة فهى فقط 35 أمر و ريجستر واحد و Accumulator واحد - ليس بينها ضرب ولا قسمة ولا التعامل مع BCD ولا مقارنة مع ذاكرة ولا indirect address كما أن Stack محدود وهى فى صفحة 162 للميكرو PIC16F877A ولا علاقة لها إطلاقا بالميكرو 8080 إلا الإسم فقط
|
وان هذه اللغة تعتبر اسهل من لغة السي باللنسبة لي
|
فى ميكرو أتميل أنا معك فى هذا
|
وقمت بتحليل الكود السابق بصورة تفصيلية
|
على أى أساس؟ هل كود بيك أم كود 8080؟؟؟؟
|
ولكن سؤالي لك ,اذا كنت مطلع على هذا الموضوع, فان هذه اللغة تستخدم للريجسترات الخاصة بالمايكرو بروسيسر وليس للبك واعلم بان البك يتكون من مايكرو بروسيسر ورام وروم ولكن ما الذي يجعلني استخدم هذه اللغة واترك لغة السي التي تعتبر اوسع في هذا المجال واين تبرز قوة هذه اللغة
|
معذرة لديك فهم خاطئ عن اللغات فلغة السى لا علاقة لها بأى نوع من الميكرو فأنت تكتب
كود:
IF A=0 Then
Else
End if
كما هى لا تتغير لكن المترجم للميكرو 8080 غير المترجم للميكرو 6800 غير المترجم للبيك غير المترجم لأتميل و كلهم سيقبلوا نفس الجملة لكن سيعطوا ملف هكس مختلف
هناك مغالطة شائعة بهذا الخصوص
لغة السى أقرب لكذا وكذا و لا أدرى ماذا!!!!!!!!!!!!!!
هذا الكلام صحيح فى الحاسبات حيث يوجد بايوس و فوقة كيرنل و فوقه Operating System و فوق ذلك البرنامج الذى تستخدمه و انت بلغة السى تتخطى هذا كله و تتعامل مباشرة مع المكونات Hardware
لكن فى الميكرو كونتروللر لا يوجد أى من هذا إطلاقا فمثلا
كود:
For X=5 to 10
-
-
Next
ستترجم بأى لغة سواء سى أو بيزك أو باسكال أو اسيمبلى للتالى
كود:
Loop:
MOV R0,#5
-
-
INC R0
CJNE R0,#10,Loop
ماذا تستطيع السى ان تختصر أكثر من ذلك؟؟
الفرق بين شركة منتجة للمترجم و أخرى أكبر بكثير من الفرق بين لغة و أخرى
|
علما اني قرات مواضيع انهم يستخدمون لغة الاسيمبلي في بداية البرنامج ومن ثم يطورون البرنامج بلغة السي وذلك لان العمليات عندما تجري بالمايكرو بروسيسر تكون اسرع من ما لو تعمل بالرام وثم تنقل للمايكروبروسيسر (حالة البك)
|
غير مفهوم
لبرمجة البك يستخدم سي أو بيزك أو غيره حتى أنه توجد شركات تنتج واجهات رسومية مثل Great Cow وهى سهلة و بسيطة و عمليه و نادرا جدا ما تجد من يبرمج بالأسيمبلى
أتميل كثير جدا يستخدم الأسيمبلى ولا يلجأ لأى من اللغات إلا عندما تكون الحاجة للأرقام العشرية موجودة ولا مفر منها
كل البرامج تنفذ فى وحدة ALU و لم اسمع عن اوامر تنفذ فى ذاكرة - الذاكرة لحفظ الأرقام و البيانات فقط
ربما هذا الشرح يفيدك عن ALU
http://www.qariya.info/vb/showthread...=85647&page=15
بدأ من المشاركة 114
, وهل ان برنامج المايكروسي يدعم لغة الاسمبلي لاني عندما قرات هذه اللغة في الجامعة درستها على برنامج خاص يسمى 8086 emulator
وما هي نصيحتك هل تنصحني ابرمج بهذه اللغة وادعمها بلغة السي ام اكتفي بلغة السي فقط
باللنسبة لهذه النقطة
|
الدعم حسب البرنامج المترجم فالبعض يدعى أنه يدعم و عندما تنفذ ما يطلبوا يعطى خطأ لغوى Syntax Error
شرحت لك متى تستخدم لغة السى و متى تستخدم الأسيمبلى و مع أى ميكرو
ما تستخدمه لهذه العائلة الميكرو هذه من برامج لا يصلح لعائلة أخرى
8086 غير البك PIC16 و PIC18 حيث جعلوا الأوامر 75 أمر و اضافوا الضرب وهو غير ATMEL حيث لها عدد كبير من الأوامر بينها الضرب و القسمة و التعامل مع BCD
اخي العزيز عند اطفاء مصدر الجهد الليد يبدا بالانطفاء تدريجيا الى ان ينطفئ تماما انا متاكد انه تيار متبقي باحد المتسعات وليس noise لو كان ضوضاء لكان هناك خلل في عمل الدائرة او عدم تقبلها لاشارات الريموت او التحويل الذاتي للعداد من صفر الى واحد ولكن هذه الحالة تحصل عندي فقط عند فصل التغذية واعادة التغذية انا سؤالي لك هو هل يمكن تفريغ هذه الشحنة بواسطة مقاومة او دائرة معينة
قد تكون الاسئلة مطولة او خارج اطار الموضوع ولكن كما ترى ان هذا العالم لا يوجد به مشكلة بسيطة والافكار لا تنتهي وكل فكرة تقدمها تفتح المجال لافكار اخرى
وشكرااا لك اخي على المتابعة
|
شرحت هذا فى الرد السابق و قلت لك ان الدايود الذى شرحته سيربط الريسيت بالتفريغ فى المكثف الرئيسى
الفرق بين التفريغ كما شرحت المرة الماضية بين الضوضاء و القطع
القطع تنتظر حتى يتم تفريغ الدائرة من الكهرباء و تتوقف عن العمل ثماما ثم تعيد التوصيل فتأخذ الدائرة فرصة البدء الصحيح..
الضوضاء Noise هو أن تبدأ التفريغ ثم تعود للتوصيل قبل الإنتهاء من الدورة وهذا يعرف علميا بأنه ضوضاء على خط التغذية قد تصدر من تصرفك الشخصى كما تفعل و قد تصدر من موتور قوى فى الجوار يسبب نفس الظاهرة
لها علاجين فقط
بعد وضع الدايود الذى شرحته فى المرة الماضية
1- تكبير مكثف التقويم حتى يكون زمن التفريغ أكبر من زمن هذه النبضة التى تكون هذه الضوضاء
2- استخدام دائرة POR كما شرحت المرة الماضية فإن قل فولت الدخول عن حد ما يتم تفعيل الريسيت آليا