شرح مشروع متحكم فى درجة الحرارة الموجبة يصلح نواة للتحكم فى المشاريع الكبرى مثل المكيفات والأفران والسخانات وغيرها باستخدم الحساس LM35 والميكروكونترولر PIC16F88 مع المترجم CCS C :
منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر :: برمجة الميكروكونترولر PIC بلغة السى مع المترجم CCS - C
صفحة 1 من اصل 1
شرح مشروع متحكم فى درجة الحرارة الموجبة يصلح نواة للتحكم فى المشاريع الكبرى مثل المكيفات والأفران والسخانات وغيرها باستخدم الحساس LM35 والميكروكونترولر PIC16F88 مع المترجم CCS C :
شرح مشروع متحكم فى درجة الحرارة الموجبة يصلح نواة للتحكم فى المشاريع الكبرى مثل المكيفات والأفران والسخانات وغيرها باستخدم الحساس LM35 والميكروكونترولر PIC16F88 مع المترجم CCS C :
الدائرة الكهربية :
البرنامج وعليه تعليقات للشرح :
الدائرة الكهربية :
البرنامج وعليه تعليقات للشرح :
- الكود:
/******************************************************
CCS ADC LM35 2X7Segment PIC18F88
*******************************************************/
#include <16F88.h>
#device ADC=10
#USE DELAY(clock = 4000000)
// 10 Data temps for common cathode display 0,1,2....9
const int digit[10]={0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7C, 0x07, 0x7F, 0x6F};
#define display_1 pin_a1 //display unit-1 comm-catode , from lift i.e. for Tens
#define display_2 pin_a2 // display unit-2 comm-catode , for Units
char units=0, tens=0 ; // declare char variables
int16 adc_result,temp;
int16 repeat;
//void display();
void main ()
{
setup_adc(ADC_CLOCK_INTERNAL); // Internal
setup_adc_ports (sAN0);
set_adc_channel (0);
output_high(display_1); // initially disable display unit-1 , high , and ...
output_high(display_2); // initially disable display unit-2 , high
while (TRUE)
{
//1-Get ADC reading result "number" and convert it to degrees
adc_result= read_adc (); //a- reat ADC to get number from 0 to 1023 for 10 bit resolution
temp = adc_result * 0.4883;// b- Then , convert this number to degrees for LM35 Sensor 10mV/1C
//2-Get actual valus for ones and tens digits by calculations
units=temp%10; // get units digit by Calculating the remainder of temp/10
tens=temp/10; // get ten digit by calculated temp/10
//3- Display Units
output_low(display_2); // a- enable (on) display uint-2 ,ones on , when use transistor , invert it
output_b(digit[units]); // b-send display data information ,to ones
delay_ms(1); // c-small delay
output_high(display_2); // d-disable(off) display uint-2
//4- Display Tens
output_low(display_1); //a- enable display uint-1 , tens on , when use transistor , invert it
output_b(digit[tens]); //b- send display data information , to tens
delay_ms(1); //c- small delay
output_high(display_1); //d- disable display uint-1 , tens off
//////////////////////////////////////////////////////////
if(temp>=18) output_high(pin_A3) ; // Example for control command
else output_low(pin_A3);
}
}
مواضيع مماثلة
» مشروع متحكم فى درجة حرارة (بيان وتحكم) مع استخدام موديول ADC والحساس LM35 و LCD و RS232 مع المترجم CCS C
» مشروع متحكم رقمى فى درجة الحرارة السالبة والموجبة بالحساس DS18B20 والميكروكونترولر 16F628 والسفن سيجمنت مع المترجم CCS C :
» تدريب : استخدام المحول ADC لقياس درجة الحرارة بالحساس LM35 مع المترجم CCS C :
» التدريب الثانى : إنشاء عداد بمفتاح ضاعط أو بحساس لعد الأشياء من “0” إلى “99” باستخدم وحدتى عرض سفن سيجمنت مع المترجم CCS C .
» التدريب الثالث : إنشاء عداد بمفتاح ضاعط أو بحساس لعد الأشياء من “0” إلى “99” باستخدم وحدتى عرض سفن سيجمنت مع استخدام ترانزستورات ومع المترجم CCS C .
» مشروع متحكم رقمى فى درجة الحرارة السالبة والموجبة بالحساس DS18B20 والميكروكونترولر 16F628 والسفن سيجمنت مع المترجم CCS C :
» تدريب : استخدام المحول ADC لقياس درجة الحرارة بالحساس LM35 مع المترجم CCS C :
» التدريب الثانى : إنشاء عداد بمفتاح ضاعط أو بحساس لعد الأشياء من “0” إلى “99” باستخدم وحدتى عرض سفن سيجمنت مع المترجم CCS C .
» التدريب الثالث : إنشاء عداد بمفتاح ضاعط أو بحساس لعد الأشياء من “0” إلى “99” باستخدم وحدتى عرض سفن سيجمنت مع استخدام ترانزستورات ومع المترجم CCS C .
منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر :: برمجة الميكروكونترولر PIC بلغة السى مع المترجم CCS - C
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى