امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 2
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل در نشان دادن دما
نویسنده پیام
a.mehran آفلاین
مدیر بخش
*****

ارسال‌ها: 1,029
موضوع‌ها: 93
تاریخ عضویت: فروردین ۱۳۹۲

تشکرها : 5125
( 4490 تشکر در 1882 ارسال )
ارسال: #1
مشکل در نشان دادن دما
سلام دوستان
من یه دماسنج با lm35 ساختم ولی وقتی میخواد دمارو نشون بده عدد 499 رو نشون میده سنسور رو تست کردم سالم بود فقط مدار برای مگا 32 بود من تغیرش دادم به مگا هشت البته مدار ترموستات هست ولی دما رو هم نشون میده
کد php:
$regfile "m8def.dat"
$crystal 800000

Config Lcdpin 
Pin Rs Pind.0 Pind.2 Db4 Pind.4 Db5 Pind.5 Db6 Pind.6 Db7 Pind.7
Config Lcd 
16 2
Cursor Off
Cls

Config Adc 
Single Prescaler Auto Reference Avcc
Start Adc

Config Portb.6 
Input Portb.6 Up_key1 Alias Pinb.6
Config Portb.7 
Input Portb.7 Down_key1 Alias Pinb.7
Config Portb.5 
Input Portb.5 Up_key2 Alias Pinb.5
Config Portb.4 
Input Portb.4 Down_key2 Alias Pinb.4

Config Portc.3 
Output Portc.3 Heaters Alias Portc.3
Config Portc.2 
Output Portc.2 Fan Alias Portc.2

Dim W 
As Word Temp As Single
Dim Input_mv 
As Single

Dim Maximum_temperature 
As Single
Dim Maximum_temperature_eeprom 
As Eram Single
Dim Maximum_temperature_high 
As Single
Dim Maximum_temperature_low 
As Single

Dim Minimum_temperature 
As Single
Dim Minimum_temperature_eeprom 
As Eram Single
Dim Minimum_temperature_high 
As Single
Dim Minimum_temperature_low 
As Single

Dim T 
As Word 300

  Set Portc.2
   Waitms 200
   Reset Portc.2
   Waitms 200
   Set Portc.2
   Waitms 200
   Reset Portc.2
'Gosub Eeprom_default
Gosub Eeprom_load
Gosub Display_start_text

Do
   If Up_key1 = 0 Then
      Gosub Up_maximum_temperature
      Gosub Eeprom_save
   End If
   If Down_key1 = 0 Then
      Gosub Down_maximum_temperature
      Gosub Eeprom_save
   End If
   If Up_key2 = 0 Then
      Gosub Up_minimum_temperature
      Gosub Eeprom_save
   End If
   If Down_key2 = 0 Then
      Gosub Down_minimum_temperature
      Gosub Eeprom_save
   End If
   Gosub Red_temp
   Gosub Setting_hiter
   Gosub Setting_fan
   Gosub Show_temp
   Waitms T

Loop

End
'
//////////////////////////////////////////////


'**********************************************
Display_start_text:
   Cls :
   Locate 1 , 1 : Lcd " mehran  abbasi"
   Wait 1
   Locate 2 , 1 : Lcd "  ****  "
   Wait 7 : Cls
   Locate 1 , 1 : Lcd " control daghigh "
   Locate 2 , 1 : Lcd "    damaye motor"
   Wait 1
   Display Off
   Wait 1
   Display On

   Wait 6 : Cls
Return

'
**********************************************
Eeprom_default:
   
Maximum_temperature 30.0
   Minimum_temperature 
20.0
   Maximum_temperature_eeprom 
Maximum_temperature
   Minimum_temperature_eeprom 
Minimum_temperature
Return

'**********************************************
Eeprom_save:
   Maximum_temperature_eeprom = Maximum_temperature
   Minimum_temperature_eeprom = Minimum_temperature
Return

'
**********************************************
Eeprom_load:
   
Maximum_temperature Maximum_temperature_eeprom
   Minimum_temperature 
Minimum_temperature_eeprom
Return

'**********************************************
Up_maximum_temperature:
   Maximum_temperature = Maximum_temperature + 0.5
   If Maximum_temperature < 0 Or Maximum_temperature > 99 Then Maximum_temperature = 0
Return

'
**********************************************
Down_maximum_temperature:
   
Maximum_temperature Maximum_temperature 0.5
   
If Maximum_temperature Or Maximum_temperature 99 Then Maximum_temperature 99
Return

'**********************************************
Up_minimum_temperature:
   Minimum_temperature = Minimum_temperature + 0.5
   If Minimum_temperature < 0 Or Minimum_temperature > 99 Then Minimum_temperature = 0
Return

'
**********************************************
Down_minimum_temperature:
   
Minimum_temperature Minimum_temperature 0.5
   
If Minimum_temperature Or Minimum_temperature 99 Then Minimum_temperature 99
Return

'**********************************************
Red_temp:
   W = Getadc(0)
   Input_mv = W * 4.8828125
   Temp = Input_mv / 10
Return

'
**********************************************
Show_temp:
   
Locate 1 Lcd "damaye motor: "
   
Locate 2 Lcd Fusing(minimum_temperature "#.#")
   
Locate 2 Lcd "<"
   
Locate 2 Lcd Fusing(temp "#.#")
   
Locate 2 10 Lcd "<"
   
Locate 2 11 Lcd Fusing(maximum_temperature "#.#")
Return

'**********************************************
Setting_fan:
   Maximum_temperature_high = Maximum_temperature
   Maximum_temperature_low = Maximum_temperature - 1
   If Temp > Maximum_temperature_high Then
      Set Fan
   Elseif Temp < Maximum_temperature_low Then
      Reset Fan
   End If
Return

'
**********************************************
Setting_hiter:
   
Minimum_temperature_high Minimum_temperature 1
   Minimum_temperature_low 
Minimum_temperature
   
If Temp Minimum_temperature_low Then
      Set Heaters
   
Elseif Temp Minimum_temperature_high Then
      Reset Heaters
   End 
If
Return 

silent people have the loudest minds شادی − بهینه شده برای ورژن جدید شادی − بهینه شده برای ورژن جدید
سایت من Abrdade.com
۰۴-مهر-۱۳۹۲, ۱۵:۱۴:۵۳
ارسال‌ها
پاسخ
omid_phoenix آفلاین
مدیر بخش
*****

ارسال‌ها: 2,238
موضوع‌ها: 108
تاریخ عضویت: شهریور ۱۳۹۱

تشکرها : 12682
( 15433 تشکر در 4574 ارسال )
ارسال: #2
RE: مشکل در نشان دادن دما
سلام
مهندس وقت نکردم برنامه رو چک کنم:(
فقط محاسبات و چک کنید که اشتباه نکرده باشید
یا موقع تعویض میکروها، یه سری پورت و پین هارو جا ننداخته باشیدو...
اگه شماتیکش و پیوست کنید بهتره میشه کمکتون کرد.


خوش باشید.

۰۴-مهر-۱۳۹۲, ۲۰:۱۹:۴۳
ارسال‌ها
پاسخ
تشکر شده توسط : aKaReZa75, babyy, Ambassador
a.mehran آفلاین
مدیر بخش
*****

ارسال‌ها: 1,029
موضوع‌ها: 93
تاریخ عضویت: فروردین ۱۳۹۲

تشکرها : 5125
( 4490 تشکر در 1882 ارسال )
ارسال: #3
RE: مشکل در نشان دادن دما
وقتی به جای خروجی سنسور منفی میدم بهadcعدد صفر نشون میده و وقتی مثبت میدم عدد 499 رو نشون میده !

silent people have the loudest minds شادی − بهینه شده برای ورژن جدید شادی − بهینه شده برای ورژن جدید
سایت من Abrdade.com
۰۴-مهر-۱۳۹۲, ۲۱:۱۸:۵۰
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  نمایش دادن تصاویر متحرک در lcd alifardin 4 4,688 ۲۸-اردیبهشت-۱۳۹۹, ۰۹:۴۲:۳۹
آخرین ارسال: parsegade
  [سوال] مشکل در لینک دادن مدار فرمان آردوینویی به مدار قدرت biner 2 2,578 ۲۹-فروردین-۱۳۹۵, ۱۱:۰۱:۴۳
آخرین ارسال: biner
  نحوه قرار دادن باتري هاي قابل شارژ Ambassador 18 14,995 ۲۶-مهر-۱۳۹۳, ۲۲:۲۴:۴۳
آخرین ارسال: Ambassador
  [فوری] error دادن programer کنستانتین 0 1,421 ۲۲-فروردین-۱۳۹۳, ۱۹:۰۴:۳۵
آخرین ارسال: کنستانتین
  ربات آتش نشان ÷ arash67 4 5,092 ۰۴-مهر-۱۳۹۲, ۲۱:۴۰:۳۸
آخرین ارسال: omid_phoenix
  نشان دادن عدد با سون سگمنت مالتی پلکسری taghdir 1 3,582 ۰۲-اردیبهشت-۱۳۹۲, ۰۱:۰۱:۵۴
آخرین ارسال: من عاشق ایرانوج
  نشان دادن ميزان متغير در ال سي دي گرافيكي ازنوعSED 0098 8 5,515 ۲۵-آذر-۱۳۹۰, ۲۳:۴۳:۲۰
آخرین ارسال: farshid_63
  نمایش دادن عکس در ال سی دی گرافیکی alifardin 1 4,174 ۲۶-دى-۱۳۸۵, ۱۲:۳۰:۴۸
آخرین ارسال: ha_60

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS