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

التحويل من تناظرى إلى رقمى مع المترجم CCS C :

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

التحويل من تناظرى إلى رقمى مع المترجم CCS C : Empty التحويل من تناظرى إلى رقمى مع المترجم CCS C :

مُساهمة من طرف Admin السبت أبريل 25, 2015 10:45 pm

التحويل من تناظرى إلى رقمى مع المترجم CCS C :
للتحكم فى المحول من تناظرى إلى رقمى يوفر المترجم CCS C الدوال التالية :
• الدالة setup_adc(mode) : لتحديد مصدر ساعة المحول .
• الدالة setup_adc_ports(value) : لتحديد أى الأطراف تكون تناظرية .
• الدالة setup_adc_channel(channel) : لتحديد قناة الدخل التناظرى الحالية .
• الدالة read_adc() : تنفيذ التحويل .
كما يوجد أيضا التوجيه #device adc=xx والذى يحدد حجم العودة بالدالة read_adc() حيث xx يمكن أن تكون “8” أو “10” .
مثال :
البرنامج الأساسى :

الكود:


/*
PIC16F877A baic program EX1
*/
#include <16F877a.h>
#device adc=10    // Set ADC resolution to 10B it
#use delay(clock=4000000)
#include <lcd.c>

Void main()
{
  int16 x;
  float y;
/* ADC Initialization */
  setup_adc(ADC_CLOCK_INTERNAL); // initialize ADC with a sampling rate of Crystal/4 MHz
  setup_adc_ports(RA0_ANALOG);  // set PIN_A0 as analog input channel
  set_adc_channel(0);            // point ADC to channel 0 for ADC reading
  delay_ms(1);                  // ADC module is slow, needs some time to adjust.
 
  /* Peripherals Configurations */
  lcd_init();                  // Turn LCD ON, along with other initialization commands
  delay_ms(100);
 
     
  while(true)
{
  x = read_adc(); // x from 0 to 1023
  y = 5.0 * x / 1024.0; // y from 0v to 5v
  printf(lcd_putc, "\fADC = %4Ld", x);//format % : 4 digits , long integer
 
  printf(lcd_putc, "\nVoltage = %01.2fv",y);//format % : 2digits.2digit float
  delay_ms(500);
  }
}
 


التحويل من تناظرى إلى رقمى مع المترجم CCS C : 117

Admin
Admin

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

https://fathallaabdelaziz.forumarabia.com

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

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


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