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

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

نيرة
:: مهندس ::
تاريخ التسجيل: Feb 2010
المشاركات: 46
نشاط [ نيرة ]
قوة السمعة:0
قديم 17-09-2010, 10:30 AM المشاركة 1   
افتراضي ممكن دائرة مقياس الحرارة رقمي Twitter FaceBook Google+



ممكن دائرة ترمومتر رقمي بس تكون مكوناته متوفرة بمصر وميكنش عن بشاشه lcd
لانها غليه شويه

اعلانات

الصورة الرمزية ttl
ttl
:: مهندس متواجد ::
تاريخ التسجيل: Jun 2008
الدولة: Syria
المشاركات: 92
نشاط [ ttl ]
قوة السمعة:0
قديم 17-09-2010, 09:17 PM المشاركة 2   
sun تفضل سيدي الكريم


// Set TEMP_RESOLUTION to the corresponding resolution of your DS18x20 sensor:
// 18S20: 9
// 18B20: 12 (default setting; can be 9,10,11,or 12)
const unsigned short TEMP_RESOLUTION = 12;

const int RES_FACTOR_1[4] = {5000, 2500, 1250, 625};
const unsigned int RES_FACTOR_2[4] = {0x0001, 0x0003, 0x0007, 0x000F};
const unsigned int RES_FACTOR_3[4] = {0x8000, 0xC000, 0xE000, 0xF000};

unsigned temp;
unsigned short j, RES_SHIFT;

void Display_Temperature(unsigned int temp) {
const unsigned short RES_SHIFT = TEMP_RESOLUTION - 8;
unsigned int temp_whole, temp_fraction;
unsigned short i;
char text[8];

// Isolate the fraction and make it a 4-digit decimal integer (for display)
temp_fraction = temp & RES_FACTOR_2[RES_SHIFT - 1];
temp_fraction = temp_fraction * RES_FACTOR_1[RES_SHIFT - 1];
//portc = temp_fraction;
// Handle the whole part of temperature value
temp_whole = temp;

// Is temperature negative?
if ((temp_whole & 0x8000) != 0u) i = 1; // Yes, i = 1
else i = 0; // No, i = 0
PORTC = i;
// Remove the fractional part
temp_whole >>= RES_SHIFT;

// Correct the sign if necessary
if (i) temp_whole |= RES_FACTOR_3[RES_SHIFT - 1];

//portd = temp_whole;
IntToStr(temp_whole, text); // Convert whole part to string
Lcd_Out(2, 6, text); // Print whole part on LCD
Lcd_Chr_Cp('.'); // Print dot to separate fractional part


IntToStr(temp_fraction, text); // Convert fractional part to string

// Add leading zeroes (we display 4 digits fractional part)
if (temp_fraction < 1000u) Lcd_Chr_Cp('0');
if (temp_fraction < 100u) Lcd_Chr_Cp('0');
if (temp_fraction < 10u) Lcd_Chr_Cp('0');

Lcd_Out_Cp(text); // Print fractional part on LCD

Lcd_Chr_Cp(223); // Print degree character
Lcd_Chr_Cp('C'); // Print 'C' for Centigrades
}//~

void main() {
ADCON1 = 0xFF; // Configure RA5 pin as digital I/O
PORTE = 0xFF;
TRISE = 0x0F; // PORTE is input
PORTB = 0;
TRISB = 0; // PORTB is output

// Initialize LCD on PORTB and prepare for output
Lcd_Init(&PORTB);
Lcd_Cmd(Lcd_CURSOR_OFF);
Lcd_Out(1, 1, " Temperature: ");

do { // main loop

Ow_Reset(&PORTE,2); // Onewire reset signal
Ow_Write(&PORTE,2,0xCC); // Issue command SKIP_ROM
Ow_Write(&PORTE,2,0x44); // Issue command CONVERT_T
Delay_us(120);

Ow_Reset(&PORTE,2);
Ow_Write(&PORTE,2,0xCC); // Issue command SKIP_ROM
Ow_Write(&PORTE,2,0xBE); // Issue command READ_SCRATCHPAD
Delay_ms(400);

j = Ow_Read(&PORTE,2); // Get temperature LSB
temp = Ow_Read(&PORTE,2); // Get temperature MSB
temp <<= 8; temp += j; // Form the result
Display_Temperature(temp); // Format and display result on LCD
Delay_ms(500);

} while (1);

}//~!


[IMG][/IMG]

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

الصورة الرمزية ttl
ttl
:: مهندس متواجد ::
تاريخ التسجيل: Jun 2008
الدولة: Syria
المشاركات: 92
نشاط [ ttl ]
قوة السمعة:0
قديم 17-09-2010, 09:20 PM المشاركة 3   
sun


هذه الدارة السابقة بحاجة لوحدة إظهار أخبرني كيف تريدها؟؟؟؟

وممكن تطلعي على الرابط التالي للفائدة:
http://www.qariya.com/vb/showthread.php?t=66692


التعديل الأخير تم بواسطة : ttl بتاريخ 17-09-2010 الساعة 09:35 PM

نيرة
:: مهندس ::
تاريخ التسجيل: Feb 2010
المشاركات: 46
نشاط [ نيرة ]
قوة السمعة:0
قديم 18-09-2010, 08:18 PM المشاركة 4   
افتراضي


لوحدة إظهار تكون من خلال السفن سیجمنت


الصورة الرمزية ttl
ttl
:: مهندس متواجد ::
تاريخ التسجيل: Jun 2008
الدولة: Syria
المشاركات: 92
نشاط [ ttl ]
قوة السمعة:0
قديم 19-09-2010, 08:19 AM المشاركة 5   
sun


لوحدة إظهار تكون من خلال السفن سیجمنت
سفن سيجمنت OK
بس كم خانة؟
وهل هناك فاصلة عشيرية؟


نيرة
:: مهندس ::
تاريخ التسجيل: Feb 2010
المشاركات: 46
نشاط [ نيرة ]
قوة السمعة:0
قديم 19-09-2010, 10:28 AM المشاركة 6   
افتراضي


3خانات ويكون فيها كسر عشري


الصورة الرمزية sheimy
sheimy
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: Egypt
المشاركات: 789
نشاط [ sheimy ]
قوة السمعة:99
قديم 19-09-2010, 03:14 PM المشاركة 7   
افتراضي


3خانات ويكون فيها كسر عشري

الكسر العشرى يعتمد عل دقة الحساس
وليس الميكرو
فلو كانت دقة الحساس 1 درجة
فلن يكون هناك كسور
واذا كانت نصف درجة هنا ممكن يكون هناك كسر
قراءة الداتا شيت للحساس مهم


الصورة الرمزية سعيد قادر
سعيد قادر
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2009
الدولة: العراق/ كوردستان
المشاركات: 2,916
نشاط [ سعيد قادر ]
قوة السمعة:152
قديم 19-09-2010, 06:15 PM المشاركة 8   
افتراضي


هنا مكتوب lcd ؟؟

إضافة رد

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

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

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


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

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