قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 01-06-2015, 09:56 AM المشاركة 1   
افتراضي تدريبات على البرمجة بلغة السى مع المترجم CCS C التدريب الأول الميكروكونترولر 8 طرف EX Twitter FaceBook Google+



تدريبات على البرمجة بلغة السى مع المترجم 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
   }
}
فى انتظار الاستفسارات

مع تمنياتى بدوام التوفيق

احصائية الشكر والاعجاب - 2 شكراً, 0 عدم اعجاب, 1 اعجاب
شكراً Omar Mekkawy, Logic ( شكر العضو على هذه المشاركة )
اعجاب Omar Mekkawy ( أعجبته المشاركة )
اعلانات

الصورة الرمزية Sallam
Sallam
:: مهندس متميز ::
تاريخ التسجيل: Mar 2006
الدولة: Syria
المشاركات: 518
نشاط [ Sallam ]
قوة السمعة:0
قديم 01-06-2015, 09:29 PM المشاركة 2   
افتراضي


أشكرك أخي عبد العزيز لتعبك ولمجهودك

لماذا العودة الى هذه المتحكمات القديمة؟

هل هي متوفرة في الأسواق؟

وهل التي تحمل الرمز C قابلة للبرمجة أكثر من مرة؟

وشكرا

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 02-06-2015, 12:00 AM المشاركة 3   
افتراضي


أشكرك أخي عبد العزيز لتعبك ولمجهودك

لماذا العودة الى هذه المتحكمات القديمة؟

هل هي متوفرة في الأسواق؟

وهل التي تحمل الرمز C قابلة للبرمجة أكثر من مرة؟

وشكرا
أخى الكريم شكرا جزيلا لك
شكرا على الاستفسار

1- الفرض من الموضوع هو تعلم البرمجة بلغة السى مع المترجم ccs ولبيان امكانية دائرة متكاملة ذات 8 أطراف فقط لعمل الكثير من المهام التى قد يعجز عن القيام بها كثير من الدوائر المتكاملة الأكبر (على الأقل قارن بينها وبين المؤقت 555 وهو ذات 8 أطراف أيضا) . ومن ثم يمكن عمل أنظمة مدمجة فى أقل حجم ممكن
2- نعم متوفرة أو يمكن توفيرها بالطلب ، كما يمكن استخدام أى من أفراد العائلة 12f6xx بدلا منها وهى متوفرة ومفضلة أحيانا لوجود خواص جيدة أهمها المحولات من تناظرى لرقمى . خاصة أنه يحتوى على مذبذب داخلى كما هو واضح من إعدادات مصهرات FUSES البرنامج .

كود:
#fuses INTRC,NOWDT,NOPROTECT, NOMCLR
3- البرمجة لمرة واحدة ميزة ، قد تكون مطلبا ملحا فى بعض الأحيان ، علاوة على رخص السعر .
4- علما بأن المثال المذكور هو من ضمن الأمثلة التى تأتى مع برمجيات المترحم CCS فى إصداره الأخير 2015 . ويمكن التأكد من أن هذا الميكروكونترولر معتمد أم غير معتمد من موقع شركة ميكروشيب .


Download DataSheet for PIC12C508. PIC12C5XX/CE5XX Datasheet (08/28/2003)
Please consider this device: PIC12F508. View Side By Side Comparison
The PIC12C5XX from Microchip Technology is a family of low-cost, high performance, 8-bit, fully static, EEPROM/EPROM/ROM-based CMOS microcontrollers. It EMPLOYS a RISC architecture with only 33 single word/single cycle instructions. All instructions are single cycle (1 ms) except for program branches which take two cycles. The PIC12C5XX delivers performance an order of magnitude higher than its competitors in the same price category. The 12-bit wide instructions are highly symmetrical resulting in 2:1 code compression over other 8-bit microcontrollers in its class. The easy to use and easy to remember instruction set reduces development time significantly.
A newer device is available. Please consider PIC12F508.
Features
6 I/O pins with 25mA source/sink per I/O, 4 oscillator selections including the internal 4 MHz RC oscillator with programmable calibration, and Power-on Reset.


1.1 Applications
The PIC12C5XX series fits perfectly in applications
ranging from personal care appliances and security
systems to low-power remote transmitters/receivers.
The EPROM technology makes customizing application
programs (transmitter codes, appliance settings,
receiver frequencies, etc.) extremely fast and convenient,
while the EEPROM data memory technology
allows for the changing of calibration factors and security
codes. The small footprint packages, for through
hole or surface mounting, make this microcontroller
series perfect for applications with space limitations.
Low-cost, low-power, high performance, ease of use
and I/O flexibility make the PIC12C5XX series very versatile
even in areas where no microcontroller use has
been considered before (e.g., timer functions, replacement
of “glue” logic and PLD’s in larger systems, coprocessor
applications).

مع تمنياتى بدوام التوفيق


التعديل الأخير تم بواسطة : F.Abdelaziz بتاريخ 02-06-2015 الساعة 12:52 AM

الصورة الرمزية Sallam
Sallam
:: مهندس متميز ::
تاريخ التسجيل: Mar 2006
الدولة: Syria
المشاركات: 518
نشاط [ Sallam ]
قوة السمعة:0
قديم 02-06-2015, 09:18 PM المشاركة 4   
افتراضي


أشكرك جدا أستاذ فتح الله عبدالعزيز

حقيقة كلامك علمي وعملي وسأحاول البحث عن هذه المعالجات في السوق عندنا.

بالنسبة لكونها تبرمج لمرة واحدة أنا أوافقك لأن ذلك يعطيك الحماية والخصوصية ببرنامجك الذي من حقك ان تستثمره بعد جهد طويل.

أنا متابع معك

بالتوفيق.

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 08:38 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025