منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

التدريب رقم 3  : إنشاء عداد ثنائى تصاعدى 3 بت :

اذهب الى الأسفل

التدريب رقم 3  : إنشاء عداد ثنائى تصاعدى 3 بت : Empty التدريب رقم 3  : إنشاء عداد ثنائى تصاعدى 3 بت :

مُساهمة من طرف Admin السبت مارس 05, 2016 1:13 pm

التدريب رقم 3  : إنشاء عداد ثنائى تصاعدى 3 بت :
الغرض من هذا المشروع هو إنشاء عداد تصاعدى ثنائى 3 بت ، والذى يقوم بالعد من 000 إلى 111 مع تأخير واحد ثانية بين كل عدة . بعد الوصول إلى 111 يتم إعادته مرة أخرى إلى الصفر 000 ويبدأ العد مرة أخرى . سوف يتم عرض قيمة العد على ثلاثة ليدات .
الدائرة الكهربية :

التدريب رقم 3  : إنشاء عداد ثنائى تصاعدى 3 بت : 223


يتم توصيل الأطراف GP0, GP1, GP2 (PIC pins 7, 6, 5) إلى الليدات LED 3, 2, 1 على الترتيب .
البرنامج :
تمهيد :
ينبغى تهيئة وإعداد السجلات ANSEL (سجل اختيار وضع الدخل طرف الدخل / الخرج التناظرى) و CMCON (سجل التحكم فى المقارن ) لاستخدام القنوات التناظرية كمداخل / مخارج رقمية كما يلى :



الكود:


INITIALIZING GPIO example :
void init(){
CMCON0 = 7 ; // Set GP<2:0> to  digital I/O
ANSEL=0; // digital I/O  ANS<3:0>: Analog Select bits ,
//1 = Analog input , 0 = Digital I/O.
TRISIO=0x0C ; //0b00001100 Set GP<3:2> as inputs , and set GP<5:4,1:0> as outputs
GPIO = 0; // Init GPIO
}
//==========================


/*
   Experiment No. 1 : 3-bit Up Counter
  LEDs 1, 2, and 3 are connected to GPIO2, GPIO1, and GPIO0    respectively
*/

short i;
void main() {
CMCON0 = 7; // Disable comparators
TRISIO = 8;  // 0b00001000 >> GPIO0-GPIO2 are Outputs, GP3 is default input
ANSEL = 0;  // No ADC
GPIO = 0;
delay_ms(500);
i=0;
while(1) {
   GPIO=i;
   delay_ms(1000);
   i = i+1;
   if(i ==  i=0;

   }
}


Admin
Admin

عدد المساهمات : 1194
تاريخ التسجيل : 28/01/2014

https://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

- مواضيع مماثلة
» التدريب الرابع : إنشاء عداد تصاعدى تنازلى من “0” إلى “99” باستخدم وحدتى عرض سفن سيجمنت مع الدائرة المتكاملة 7448 وبدون استخدام ترانزستورات ومع المترجم CCS C .
» التدريب الثانى : إنشاء عداد بمفتاح ضاعط أو بحساس لعد الأشياء من “0” إلى “99” باستخدم وحدتى عرض سفن سيجمنت مع المترجم CCS C .
» التدريب الثالث : إنشاء عداد بمفتاح ضاعط أو بحساس لعد الأشياء من “0” إلى “99” باستخدم وحدتى عرض سفن سيجمنت مع استخدام ترانزستورات ومع المترجم CCS C .
» مثال على المقاطعة الخارجية External interrupt : عداد تصاعدى
» مشروع عداد تصاعدى 0-99 يستخدم CCS-C-Counter-PIC-EEPROM-Interrupt-7 Segment-7447-

 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى