امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
راهنمایی در مورد پروژه دماسنج AVR
نویسنده پیام
coloop آفلاین
تازه وارد

ارسال‌ها: 18
موضوع‌ها: 2
تاریخ عضویت: تير ۱۳۹۰

تشکرها : 55
( 5 تشکر در 2 ارسال )
ارسال: #1
راهنمایی در مورد پروژه دماسنج AVR
سلام دوستان
من میخوام یک دماسنج با سون سگمنت بسازم.
برنامه نویسیش انجام شده و فایل پروتئوسش هم موجود هست.
اما من میخوام برای این دماسنج یه برنامه ای بریزم که وقتی دما از یه حدی پایین تر رفت یه LED و وقتی به یه دمای دیگه رسید یه LED دیگه رو روشن کنه.
شرمنده ! شاید این مساله ساده ای از نظر شما باشه ولی چه کنیم که تازه کاریم !

کد:
$regfile = "m8def.dat"
$crystal = 1000000
Config Portd = Output
Config Portd.4 = Output
Config Portb = Output
Config Adc = Single , Prescaler = Auto , Reference = Internal

Dim A As Word , B As Word , C As Single , W As Word , D As Byte , S As Byte

Start Adc
Declare Sub Comm
Declare Sub Temp
Declare Sub Refresh
'=================================================================
Do
Call Refresh
Call Temp
Call Comm
Loop
'==================================================================
Sub Temp
A = Getadc(0)
B = Getadc(1)
C = A - B
C = C / 4
If C > 26 Then Goto Ehsan
If C > 0 Then
S = 12
W = C
Cls : Lcd W
End If
If C < 0 Then
S = 11
C = C / -1
W = C
Cls : Lcd W
End If
End Sub

Ehsan :
Set Portd.5 End Sub
'===================================================================
Sub Comm
Portd = &B0111 : D = 10 : Call Refresh
Portd = &B1011 : D = W Mod 10 : Call Refresh
Portd = &B1101 : D = W / 10 : Call Refresh
Portd = &B1110 : D = S : Call Refresh
Portd = &B1111 : D = 0
End Sub
'=======================================================================
Sub Refresh
Portb = Lookup(d , 7seg)
Waitms 4
End Sub
'=============================================================================
7seg:
Data &H3F , &H6 , &H5B , &H4F , &H66 , &H6D , &H7D , &H7
Data &H7F , &H6F , &H63 , &H40 , &H00


فایل پروتئوس هم ضمیمه شده است.

در ضمن من تا حدودی باهاش ور رفتم ولی متاسفانه توی شروطی که میزارم تداخل بوجود میاد و این شد که اینجا پرسیدم.



ممنون
۱۰-دى-۱۳۹۰, ۱۴:۱۳:۵۶
ارسال‌ها
پاسخ
parviz2012 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 171
موضوع‌ها: 16
تاریخ عضویت: آبان ۱۳۹۰

تشکرها : 4
( 98 تشکر در 74 ارسال )
ارسال: #2
RE: راهنمایی در مورد پروژه دماسنج AVR
به موضوع مشکل مبتدیانه برنامه نویسی که sinohe ارسال کرده توجه کن مشکلش همینه یه سورس هم داره.

گمان مبر که به پایان رسیده کار جهان / هزار باده ناخورده در رگ تاک است
۱۰-دى-۱۳۹۰, ۱۷:۴۴:۴۱
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : coloop
coloop آفلاین
تازه وارد

ارسال‌ها: 18
موضوع‌ها: 2
تاریخ عضویت: تير ۱۳۹۰

تشکرها : 55
( 5 تشکر در 2 ارسال )
ارسال: #3
RE: راهنمایی در مورد پروژه دماسنج AVR
حاجی من مبتدیم
واضح خواهشا توضیح بدید .
4 خط کد که بیشتر نیست

ممنون
۱۰-دى-۱۳۹۰, ۱۸:۳۱:۳۱
ارسال‌ها
پاسخ
parviz2012 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 171
موضوع‌ها: 16
تاریخ عضویت: آبان ۱۳۹۰

تشکرها : 4
( 98 تشکر در 74 ارسال )
ارسال: #4
RE: راهنمایی در مورد پروژه دماسنج AVR
دوست عزیز کافیه اون ارسال صفحه اول فروم AVR :
http://www.iranled.com/forum/thread-22585.html
ببینی همینه مشکلش. به مبتدی ربط نداره.کد هم داره.

گمان مبر که به پایان رسیده کار جهان / هزار باده ناخورده در رگ تاک است
۱۰-دى-۱۳۹۰, ۱۸:۳۵:۴۸
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : coloop
coloop آفلاین
تازه وارد

ارسال‌ها: 18
موضوع‌ها: 2
تاریخ عضویت: تير ۱۳۹۰

تشکرها : 55
( 5 تشکر در 2 ارسال )
ارسال: #5
RE: راهنمایی در مورد پروژه دماسنج AVR
(۱۰-دى-۱۳۹۰, ۱۸:۳۵:۴۸)parviz2012 نوشته است: دوست عزیز کافیه اون ارسال صفحه اول فروم AVR :
http://www.iranled.com/forum/thread-22585.html
ببینی همینه مشکلش. به مبتدی ربط نداره.کد هم داره.
مرسی
ولی حاجی من مشکلم اینه که خودم برنامه رو تقریبا درست کردم ولی اون خاموش و روشن شدن ال ای دی تو حلقه گیر کرده و دائم چشمک میزنند.

راه حلی هست برای این ؟

ممنونم میشم پاسخ بدید
۱۰-دى-۱۳۹۰, ۱۸:۴۱:۲۲
ارسال‌ها
پاسخ
parviz2012 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 171
موضوع‌ها: 16
تاریخ عضویت: آبان ۱۳۹۰

تشکرها : 4
( 98 تشکر در 74 ارسال )
ارسال: #6
RE: راهنمایی در مورد پروژه دماسنج AVR
oخب چه موقع باید چشمک زدن تموم بشه؟

گمان مبر که به پایان رسیده کار جهان / هزار باده ناخورده در رگ تاک است
۱۰-دى-۱۳۹۰, ۱۸:۵۰:۱۸
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : coloop
coloop آفلاین
تازه وارد

ارسال‌ها: 18
موضوع‌ها: 2
تاریخ عضویت: تير ۱۳۹۰

تشکرها : 55
( 5 تشکر در 2 ارسال )
ارسال: #7
RE: راهنمایی در مورد پروژه دماسنج AVR
(۱۰-دى-۱۳۹۰, ۱۸:۵۰:۱۸)parviz2012 نوشته است: oخب چه موقع باید چشمک زدن تموم بشه؟


من که نمیخوام چشمک بزنه
ولی چون میفته تو حلقه شروع میکنه به چشمک زدن :

کد:
$regfile = "m8def.dat"
$crystal = 1000000
Config Portd = Output
Config Portb = Output
Config Adc = Single , Prescaler = Auto , Reference = Internal

Dim A As Word , B As Word , C As Single , W As Word , D As Byte , S As Byte

Start Adc
Declare Sub Comm
Declare Sub Temp
Declare Sub Refresh
'=================================================================
Do
Call Refresh
Call Temp
Call Comm
Loop
'==================================================================
Sub Temp
A = Getadc(0)
B = Getadc(1)
C = A - B
C = C / 4
If C > 26 Then
Set Portd.5
Waitms 20
End If
If C < 26 Then
Set Portd.6
Waitms 20
End If
If C > 0 Then
S = 12
W = C
Cls : Lcd W
End If
If C < 0 Then
S = 11
C = C / -1
W = C
Cls : Lcd W
End If
End Sub

'===================================================================
Sub Comm
Portd = &B0111 : D = 10 : Call Refresh
Portd = &B1011 : D = W Mod 10 : Call Refresh
Portd = &B1101 : D = W / 10 : Call Refresh
Portd = &B1110 : D = S : Call Refresh

Portd = &B1111 : D = 0
End Sub
'=======================================================================
Sub Refresh
Portb = Lookup(d , 7seg)
Waitms 4
End Sub
'=============================================================================
7seg:
Data &H3F , &H6 , &H5B , &H4F , &H66 , &H6D , &H7D , &H7
Data &H7F , &H6F , &H63 , &H40 , &H00

البته من تو اینجا دستور wait رو برای امتحان کردن وارد کردم . گفتم شاید اینجوری قضیه حل بشه !

خیلی آقایی که سریع جواب میدی Heart
۱۰-دى-۱۳۹۰, ۱۸:۵۹:۰۸
ارسال‌ها
پاسخ
parviz2012 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 171
موضوع‌ها: 16
تاریخ عضویت: آبان ۱۳۹۰

تشکرها : 4
( 98 تشکر در 74 ارسال )
ارسال: #8
RE: راهنمایی در مورد پروژه دماسنج AVR
ببین جایی که برنامه میفته تو حلقه دقیقا کجاست؟
همونجا باید از یه if شرطی برای جلوگیری تکرار اضافی جلوگیری کنی.

گمان مبر که به پایان رسیده کار جهان / هزار باده ناخورده در رگ تاک است
۱۰-دى-۱۳۹۰, ۱۹:۰۳:۵۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : coloop
coloop آفلاین
تازه وارد

ارسال‌ها: 18
موضوع‌ها: 2
تاریخ عضویت: تير ۱۳۹۰

تشکرها : 55
( 5 تشکر در 2 ارسال )
ارسال: #9
RE: راهنمایی در مورد پروژه دماسنج AVR
(۱۰-دى-۱۳۹۰, ۱۹:۰۳:۵۳)parviz2012 نوشته است: ببین جایی که برنامه میفته تو حلقه دقیقا کجاست؟
همونجا باید از یه if شرطی برای جلوگیری تکرار اضافی جلوگیری کنی.

حاجی من کد رو که گذاشته ام
اونجا که شرط میزاریم : If C > 26 Then Set PortD.5 و If C < 26 Then Set PortD.6

فکر کنم اینجاست که دائم این دستور اجرا میشه و باعث میشه که پورت 5 و 6 مرتب ست بشند !

حالا اون if که شما میگید رو باید کجا بزارم ؟
۱۰-دى-۱۳۹۰, ۱۹:۱۳:۱۴
ارسال‌ها
پاسخ
parviz2012 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 171
موضوع‌ها: 16
تاریخ عضویت: آبان ۱۳۹۰

تشکرها : 4
( 98 تشکر در 74 ارسال )
ارسال: #10
RE: راهنمایی در مورد پروژه دماسنج AVR
یه فلگ بزار . اگه یکبار ال ای دی روشن شد یک بشه.دوباره توی حالت غیر از اینها 0 بشه.
الان هر چی فکر میکنم کدت همیشه داره یا پورت 6 یا 5 رو 1 میکنه خودت بگو منظورت چیه بالاخره یه محدو ده ای برای اینا تعریف نکردی معلومه هی چشمک میزنه.

گمان مبر که به پایان رسیده کار جهان / هزار باده ناخورده در رگ تاک است
۱۰-دى-۱۳۹۰, ۱۹:۲۲:۵۱
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : coloop
coloop آفلاین
تازه وارد

ارسال‌ها: 18
موضوع‌ها: 2
تاریخ عضویت: تير ۱۳۹۰

تشکرها : 55
( 5 تشکر در 2 ارسال )
ارسال: #11
RE: راهنمایی در مورد پروژه دماسنج AVR
(۱۰-دى-۱۳۹۰, ۱۹:۲۲:۵۱)parviz2012 نوشته است: یه فلگ بزار . اگه یکبار ال ای دی روشن شد یک بشه.دوباره توی حالت غیر از اینها 0 بشه.
الان هر چی فکر میکنم کدت همیشه داره یا پورت 6 یا 5 رو 1 میکنه خودت بگو منظورت چیه بالاخره یه محدو ده ای برای اینا تعریف نکردی معلومه هی چشمک میزنه.

خواهشا اگه مقدوره این چیزایی که میگیدو کدشو بنویسید یا راهنمایی کنید من تاحالا با دستور فلگ کار نکردم .

من گفتم که اگه دما بالای 26 بشه پورت 5 فعال بشه
و اگه زیر 26 بره پورت 6

حالا منطق برنامه نویسی من مشکل داره ؟
۱۰-دى-۱۳۹۰, ۱۹:۲۷:۴۴
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  درخواست راهنمایی برای یک دوست GOLDOST 1 0 ۱۵-بهمن-۱۴۰۲, ۰۰:۴۶:۵۱
آخرین ارسال: GOLDOST
  دماسنج LM35 majidps2 62 50,597 ۲۰-شهریور-۱۳۹۹, ۱۶:۴۴:۰۹
آخرین ارسال: Ambassador
  راهنمایی در مورد کنترل دور موتور کولر sinastar 12 23,448 ۱۰-آبان-۱۳۹۷, ۱۰:۱۸:۵۹
آخرین ارسال: alimogmov
  درخواست راهنمایی منو سازی برای Atmega32 به زبان بیسیک برویglcd armin111 9 6,171 ۱۶-شهریور-۱۳۹۶, ۱۱:۳۹:۲۵
آخرین ارسال: sky_man847
  راهنمایی برای انتخاب پروگرامر Ambassador 5 8,523 ۰۴-مرداد-۱۳۹۶, ۱۶:۰۳:۵۹
آخرین ارسال: CONTOROLER
  درخواست راهنمایی ولوم دیجیتالی sobhan6831 0 2,210 ۰۶-اردیبهشت-۱۳۹۶, ۲۱:۱۷:۳۵
آخرین ارسال: sobhan6831
  راهنمایی برای حل مشکل برنامه در بسکام fedagh 2 3,420 ۱۲-دى-۱۳۹۵, ۱۸:۳۰:۵۹
آخرین ارسال: fedagh
  درخواست راهنمایی درباره دماسنج و رطوبت سنج fedagh 2 3,195 ۰۳-دى-۱۳۹۵, ۰۱:۲۵:۰۷
آخرین ارسال: omid_phoenix
  دماسنج DS18b20 rezamajdi 5 3,524 ۰۳-دى-۱۳۹۵, ۰۱:۲۰:۲۰
آخرین ارسال: omid_phoenix
  درخواست راهنمایی از دوستان p.n 5 3,540 ۰۶-آذر-۱۳۹۵, ۲۳:۲۹:۱۹
آخرین ارسال: Ambassador

پرش به انجمن:


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

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