امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 1
  • 1
  • 2
  • 3
  • 4
  • 5
کمک ( مقدار ماکسیمم و مینیمم سه ورودی )
نویسنده پیام
E.EINITABAR آفلاین
كاربر تک ستاره
*

ارسال‌ها: 39
موضوع‌ها: 14
تاریخ عضویت: اردیبهشت ۱۳۸۹

تشکرها : 80
( 19 تشکر در 15 ارسال )
ارسال: #1
کمک ( مقدار ماکسیمم و مینیمم سه ورودی )
با سلام خدمت همگی
من یه برنامه نوشتم که مقدار ماکسیمم و مینیمم سه ورودی رو حساب کنه اما مقدار مینیمم صفر رو نشون میده ولی ماکسیمم رو نشون میده
چه کار کنم که مقدار مینیمم رو صحیح نشون بده
$regfile = "m16def.dat"
$crystal = 8000000
Config Portb = Output
Config Lcd = 16 * 4
Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.3 , Rs = Portc.2
Config Adc = Single , Prescaler = 8 , Reference = Avcc
Dim D As Word , A As Single ,
Dim M As Word , B As Single ,
Dim N As Word , C As Single ,
Dim F As Single
Dim Ff As Single
Dim I(5) As Word , T As Single , Ie As Word , U As Word
Start Adc
Do
I(1) = Getadc(0)
A = I(1) * 5
A = A / 1023
I(2) = Getadc(1)
B = I(2) * 5
B = B / 1023
I(3) = Getadc(2)
C = I(3) * 5
C = C / 1023
U = Min(i(1))
Ie = Max(i(1))
T = Ie * 5
T = T / 1023
Cls
Locate 1 , 1
Lcd "a=" ; A
Locate 2 , 1
Lcd "b=" ; B
Locate 3 , 5
Lcd "c=" ; C
Home F
Lcd "max=" ; Fusing(t , "#.###&")
'Locate 4 , 9
'Lcd "max=" ; Fusing(t , "#.###&")
'Lcd "min=" ; U
Waitms 500
Loop
End
(آخرین ویرایش در این ارسال: ۱۴-آبان-۱۳۸۹, ۰۱:۲۴:۲۲، توسط t3r!p3000.)
۲۶-اردیبهشت-۱۳۸۹, ۱۴:۱۵:۱۲
وب سایت ارسال‌ها
پاسخ
salehjg آفلاین
مدیر بخش
*****

ارسال‌ها: 1,281
موضوع‌ها: 133
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 9560
( 8557 تشکر در 2603 ارسال )
ارسال: #2
RE: کمک کمک
(۲۶-اردیبهشت-۱۳۸۹, ۱۴:۱۵:۱۲)E.EINITABAR نوشته است: با سلام خدمت همگی
من یه برنامه نوشتم که مقدار ماکسیمم و مینیمم سه ورودی رو حساب کنه اما مقدار مینیمم صفر رو نشون میده ولی ماکسیمم رو نشون میده
چه کار کنم که مقدار مینیمم رو صحیح نشون بده
کد php:
$regfile "m16def.dat"
$crystal 8000000
Config Portb 
Output
Config Lcd 
16 4
Config Lcdpin 
Pin Db4 Portc.4 Db5 Portc.5 Db6 Portc.6 Db7 Portc.7 Portc.3 Rs Portc.2
Config Adc 
Single Prescaler Reference Avcc
Dim D 
As Word As Single ,
Dim M As Word As Single ,
Dim N As Word As Single ,
Dim F As Single
Dim Ff 
As Single
Dim I
(5) As Word As Single Ie As Word As Word
Start Adc
Do
I(1) = Getadc(0)
I(1) * 5
1023
I
(2) = Getadc(1)
I(2) * 5
1023
I
(3) = Getadc(2)
I(3) * 5
1023
Min(i(1))
Ie Max(i(1))
Ie 5
1023
Cls
Locate 1 
1
Lcd 
"a=" A
Locate 2 
1
Lcd 
"b=" B
Locate 3 
5
Lcd 
"c=" C
Home F
Lcd 
"max=" Fusing("#.###&")
'Locate 4 , 9
'
Lcd "max=" Fusing("#.###&")
'Lcd "min=" ; U
Waitms 500
Loop

End 

برنامه ی شما مشکلی نداره. بجای getadc عدد گذاشتم درست کار کرد.
باید اشکال در مدارتون باشه؟!
Prescaler = auto بهتره
(آخرین ویرایش در این ارسال: ۲۶-اردیبهشت-۱۳۸۹, ۱۹:۱۶:۳۰، توسط salehjg.)
۲۶-اردیبهشت-۱۳۸۹, ۱۹:۱۵:۳۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000, E.EINITABAR
E.EINITABAR آفلاین
كاربر تک ستاره
*

ارسال‌ها: 39
موضوع‌ها: 14
تاریخ عضویت: اردیبهشت ۱۳۸۹

تشکرها : 80
( 19 تشکر در 15 ارسال )
ارسال: #3
RE: کمک کمک
دوست عزیز سلام
ممنون که برنامه رو تست کردی شکل مدار رو میذارم خودت تست کن سه ورودی هم سه منبع DC بذار


فایل‌(های) پیوست شده
.bmp   mm.bmp (اندازه: 467.24 KB / تعداد دفعات دریافت: 41)
۲۶-اردیبهشت-۱۳۸۹, ۱۹:۳۹:۰۷
وب سایت ارسال‌ها
پاسخ
salehjg آفلاین
مدیر بخش
*****

ارسال‌ها: 1,281
موضوع‌ها: 133
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 9560
( 8557 تشکر در 2603 ارسال )
ارسال: #4
RE: کمک کمک
(۲۶-اردیبهشت-۱۳۸۹, ۱۹:۳۹:۰۷)E.EINITABAR نوشته است: دوست عزیز سلام
ممنون که برنامه رو تست کردی شکل مدار رو میذارم خودت تست کن سه ورودی هم سه منبع DC بذار

مدارتون سالمه
یه چیزی که الان به ذهنم رسید:
چون شما از توابع min , max بسکام استفاده میکنید و از آنجایی که آنها تمام index های آرایه را بررسی می کنند پس باید تعداد آرایه را از 5 به 3 تغییر بدید تا i(4) i(5) رو حساب نکنند.

{در بسکام و کلا بیسیک ، متغیر ها با عدد 0 مقدار دهی اولیه می شوند ولی در زبان های خانواده ی c معمولا مقدار دهی اولیه را باید خودتان انجام دهید}
۲۶-اردیبهشت-۱۳۸۹, ۲۱:۱۶:۲۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : E.EINITABAR, t3r!p3000
E.EINITABAR آفلاین
كاربر تک ستاره
*

ارسال‌ها: 39
موضوع‌ها: 14
تاریخ عضویت: اردیبهشت ۱۳۸۹

تشکرها : 80
( 19 تشکر در 15 ارسال )
ارسال: #5
Shy  RE: کمک کمک
ممنون دوست عزیز
مشکلم حل شد لطف کردی
من تازه شروع کردم 10% هم به میکرو مسلط نیستم
یه سوال:
میخوام هر 1دقیقه یک بار از یک متغیر(ولتاژ) نمونه بگیرم
و یه شرط تعین کنم که هر زمانی که متغیر صفر شد مقدار یک دقیقه قبل را واسم نمایش بده
و هر یک ساعت یک بار برای اینله حافظه اشغال نشه مقدارهای نمونه گیری شده رو پاک کنه
۲۶-اردیبهشت-۱۳۸۹, ۲۲:۳۰:۴۱
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  ورودی های تابع hosseinip 1 2,330 ۱۴-فروردین-۱۳۹۶, ۰۳:۵۸:۳۳
آخرین ارسال: babyy
  مشکل در ارسال مقدار دو ولوم از طریق HMT-HMR starlit 6 4,105 ۰۴-مهر-۱۳۹۴, ۱۹:۱۰:۲۳
آخرین ارسال: starlit
  مشکل در ورودی خرودی pontiac132 7 3,964 ۱۳-آبان-۱۳۹۳, ۲۰:۱۶:۰۳
آخرین ارسال: behzady
  حساب کردن مقدار موثر با میکرو atmega16 در بسکام m.riahi 2 2,738 ۰۶-مهر-۱۳۹۳, ۰۰:۲۵:۳۸
آخرین ارسال: m.riahi
  خطا در مقدار عدد دریافتی از ADC مگا 8 علیدلی 1 2,348 ۰۷-مرداد-۱۳۹۳, ۰۰:۰۱:۴۸
آخرین ارسال: omid_phoenix
  [سوال] مشکل در محاسبه ی توان سیگنال سینوسی ورودی به میکرو ارمان الک 0 1,529 ۲۲-تير-۱۳۹۳, ۱۸:۳۴:۴۶
آخرین ارسال: ارمان الک
  درخواست کمک در محاسبه طول پالس ورودی میکرو soonaeid 10 9,159 ۰۹-تير-۱۳۹۳, ۱۸:۲۵:۰۴
آخرین ارسال: hossein22
  تبدیل پایه کریستال به ورودی یا خروجی رسول 6 5,814 ۲۳-اسفند-۱۳۹۲, ۱۷:۰۰:۵۲
آخرین ارسال: رسول
  ثابت نگه داشتن مقدار دریافتی از ADC cinapa 9 8,928 ۲۶-آبان-۱۳۹۲, ۰۲:۰۶:۲۸
آخرین ارسال: king40
  استفاده همزمان adc و ورودی خروجی روی پورت A hadishooti 8 9,493 ۲۹-مهر-۱۳۹۲, ۰۱:۱۳:۴۰
آخرین ارسال: khofashshab

پرش به انجمن:


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

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