تدريبات على البرمجة بلغة السى مع المترجم CCS C التدريب الأول الميكروكونترولر 8 طرف EX_8PIN

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

تدريبات على البرمجة بلغة السى مع المترجم CCS C التدريب الأول الميكروكونترولر 8 طرف EX_8PIN

مُساهمة من طرف Admin في الإثنين يونيو 01, 2015 9:52 am

تدريبات على البرمجة بلغة السى مع المترجم CCS C التدريب الأول الميكروكونترولر 8 طرف EX_8PIN :






البرنامج :

الكود:

/////////////////////////////////////////////////////////////////////////
////                            EX_8PIN.C                          ////
////  This program shows how to use the pins on a PIC12C508/9 or a  ////
////  PIC12C671/2 for general I/O.  When run, the program will run up////
////  and down the LEDs.  If you hold down the push button, the      ////
////  program will reverse its direction.                            ////
////                                                                ////
////  Configure the CCS prototype card as follows:                  ////
////            12C508/671 pin  Protoboard                        ////
////                  1                +5V                          ////
////                  2                LED 5                        ////
////                  3                LED 4                        ////
////                  4                Push Button                  ////
////                  5                LED 3                        ////
////                  6                LED 2                        ////
////                  7                LED 1                        ////
////                  8                gnd                          ////
////                                                                ////
////  This example will work with the PCB and PCM compilers.  The    ////
////  following conditional compilation lines are used to include a  ////
////  valid device for each compiler.  Change the device and clock  ////
////  for your hardware if needed.                                  ////
/////////////////////////////////////////////////////////////////////////
#include <12C508.h>
#fuses INTRC,NOWDT,NOPROTECT, NOMCLR
#use delay(clock=4000000)
#define GP0 PIN_B0
#define GP1 PIN_B1
#define GP2 PIN_B2
#define GP3 PIN_B3
#define GP4 PIN_B4
#define GP5 PIN_B5

////////////Forward///////////////////////
void cycle_forward (void)
{
  output_low (GP5);
  output_high (GP0);
  delay_ms (100);
  output_low (GP0);
  output_high (GP1);
  delay_ms (100);
  output_low (GP1);
  output_high (GP2);
  delay_ms (100);
  output_low (GP2);
  output_high (GP4);
  delay_ms (100);
  output_low (GP4);
  output_high (GP5);
  delay_ms (100);
}

////////////Backward//////////////////////
void cycle_backward (void)
{
  output_low (GP0);
  output_high (GP5);
  delay_ms (100);
  output_low (GP5);
  output_high (GP4);
  delay_ms (100);
  output_low (GP4);
  output_high (GP2);
  delay_ms (100);
  output_low (GP2);
  output_high (GP1);
  delay_ms (100);
  output_low (GP1);
  output_high (GP0);
  delay_ms (100);
}
////////////////////////////////////////

void main()
{

  setup_counters (RTCC_INTERNAL,RTCC_DIV_2);
 
  while (TRUE)
  {
      if (!input (GP3)) //If pin GP3 low , it's inverse (!) is high and !input (GP3) = true then
        cycle_forward (); // Forward LED1,LED2,....LED5
      else
        cycle_backward ();//Else backward
  }
}


Admin
Admin

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

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

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

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


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