عضویت     ورود  من جز یک چیز نمی دانم و آن این است که هیچ چیز نمی دانم . سقراط دوشنبه، 28 مرداد ماه ، 1398

کانال تلگرام


تبلیغات متنی


منوی سایت


جست و جو در بانك مقالات




مقالات جدید
تعداد شاخه ها: 30 عدد
تعداد مقالات: 758 عدد 1: آزمايشگاه الكترونيك - استاد محرري 
[دفعات مشاهده : 5642 بار]
 2: جزوه درس مخابرات 1 - دانشگاه فردوسي مشهد 
[دفعات مشاهده : 5657 بار]
 3: كتاب مهندسي تاسيسات / دكتر كلهر 
[دفعات مشاهده : 5513 بار]
 4: مجموع اعوجاج هارمونیک T.H.D 
[دفعات مشاهده : 5505 بار]
 5: كتاب "روش طراحي و تحليل مدارهاي الكترونيك" 
[دفعات مشاهده : 12116 بار]
 6: ادوات نوري 
[دفعات مشاهده : 5449 بار]
 7: كتاب اصول تلويزيون رنگي 
[دفعات مشاهده : 7185 بار]
 8: پروژه دزد گیر با سنسور تشخیص حرکت pir با قفل رمز الکترونیکی 
[دفعات مشاهده : 6693 بار]
 9: جزوه اندازه گیری الکتریکی 
[دفعات مشاهده : 5948 بار]
 10: سوالات کنکور کارشناسی ارشد 90 / گروه مهندسی برق 
[دفعات مشاهده : 7783 بار]
 11: آرشيو پروژه هاي 8051 
[دفعات مشاهده : 6620 بار]
 12: آرشيو پروژه هاي AVR‌ (ـ‌ 126 پروژه ) 
[دفعات مشاهده : 14489 بار]
 13: آموزش برنامه نويسي و كار با ماژول Sim300CZ با ميكروكنترلر AVR 
[دفعات مشاهده : 10580 بار]
 14: سوالات كنكور كارشناسي ناپيوسته 89 - گروه برق 
[دفعات مشاهده : 8015 بار]
 15: ارتباط میکروهای PIC با کمک پروتکل سریال I2C و نکات تکمیلی ماژول MSSP 
[دفعات مشاهده : 6126 بار]
 16: ساعت تقویم با کمک میکروکنترلر PIC و DS1307 
[دفعات مشاهده : 6751 بار]
 17: تایمرهای چند زمانه ( ساعت مرکزی ) با میکرو PIC 
[دفعات مشاهده : 6064 بار]
 18: ساعت تقویم شمسی مجهز به آلارم روزانه و هفتگی 
[دفعات مشاهده : 6987 بار]
 19: صفحه کلید وقفه ای با میکروکنترلر PIC 
[دفعات مشاهده : 5836 بار]
 20: کرنومتر دیجیتال با میکروکنترلر PIC با قابلیت ثبت 3 زمان 
[دفعات مشاهده : 5902 بار]
 21: طراحی و ساخت مدارات انتقال دیتا به وسیله ماژول های HMTR + پروژه چت متنی بیسیم 
[دفعات مشاهده : 9111 بار]
 22: سنسورهای حرارت 
[دفعات مشاهده : 8054 بار]
 23: کنترل وسایل برقی از طریق خط تلفن با میکروکنترلر PIC 
[دفعات مشاهده : 8087 بار]
 24: ارتباط سریال UART بین دو میکروکنترلر PIC 
[دفعات مشاهده : 6367 بار]
 25: گزارش کار آموزی : ماشین های ابزار کنترل عددی CNC 
[دفعات مشاهده : 6642 بار]
 26: کنترل وسایل به کمک ماژول HM-TR و میکرو AVR 
[دفعات مشاهده : 9198 بار]
 27: طراحی و ساخت کنترل از راه دور 1 کانال با کمک ماژول های ASK و آی سی های سری PT 
[دفعات مشاهده : 7635 بار]
 28: مجموعه رفرنس های آموزشی میکروکنترلرهای سری dsPIC 
[دفعات مشاهده : 7087 بار]
 29: مجموعه پروژه های میکروکنترلر AVR با کامپایلر بسکام 
[دفعات مشاهده : 12295 بار]
 30: طراحی و ساخت مدارات انتقال دیتا به وسیله ماژول های HM-T و HM-R با میکرو AVR 
[دفعات مشاهده : 10076 بار]


آخرين مطالب ارسال شده
· روش طراحي و تحليل مدارهاي الكترونيك[ 1 نظر شما چيه؟ - 39811 مشاهده ]
· اصول تلويزيون رنگي[ 0 نظر شما چيه؟ - 18401 مشاهده ]
· نرم افزار DigSilent[ 2 نظر شما چيه؟ - 21555 مشاهده ]
· AVR Tech Lib 2011[ 1 نظر شما چيه؟ - 25099 مشاهده ]
· مجموعه كنفرانس هاي سالينه ميكروچيپ / سال 2009 /[ 2 نظر شما چيه؟ - 22791 مشاهده ]
· آموزش كار با ماژول SIM300CZ با ميكرو AVR[ 4 نظر شما چيه؟ - 25189 مشاهده ]
· مجموعه فيلم هاي آموزشي نرم افزار Altium Designer[ 0 نظر شما چيه؟ - 39223 مشاهده ]
·  سوالات كنكور كارشناسي ناپيوسته 89 - گروه برق[ 0 نظر شما چيه؟ - 20183 مشاهده ]
· لينك دانلود مجله October 2010 / SERVO[ 0 نظر شما چيه؟ - 17190 مشاهده ]
· Catalog CA 01 (10/2009) / International version[ 0 نظر شما چيه؟ - 21505 مشاهده ]

[ موارد بیشتر در بخش اخبار و تازه ها ]


زبان
انتخاب زبان نمایش :



مطالب جديد
· 1: Link-Disjoint Routing Algorithms with Link-Disjoint Degree
· 2: Analog and VLSI Circuits
· 3: Single and Multi-Chip Microcontroller Interfacing
· 4: SQUID: A Practical 100% Throughput Scheduler for Crosspoint Buffered Switchesc
· 5: Circuit Partitioning Using Particle Swarm Optimization for Pseudo-Exhaustive Testing
· 6: تخمين پارامترها و متغيرهاي حالت مدل كويل تروئيدي گسسته با استفاده از الگوريتم حداقل مربعات بازگشتي
· 7: AUDIO SIGNAL PROCESSING AND CODING
· 8: Transient cooling potential of Vertical Ground Heat Exchanger
· 9: احیاء روغن ترانسفورماتور
· 10: MOVING THE TRANSMISSION BUSINESS PERSPECTIVE INTO THE FUTURE-AN ONTARIO HYDRO
· 11: Introduction to Microelectronics
· 12: ارائه يك فرم بندي جديد براي روش Circuit Envelope و اعمال آن در طراحي و شبيه سازي يك تقويت كننده
· 13: طراحي الكترونيك استاد علوي - بخش دوم
· 14: Secure Web Based Single Sign-On (SSO) framework using Identity Based Encryption System
· 15: کاربرد روش های بهینه سازی در محاسبات روشنایی معابر
· 16: The Art Of Designing Embedded Systems1
· 17: معرفي شبكه اي جديد از خانواده GMDH بر اساس ساختمان ANFIS
· 18: ANSI/IEEE Std 444-1973
· 19: تشخيص الگوهاي EEG در هنگام تصور حرکت دست با استفاده از يك طبقه بندي كننده مبتني بر آناليز مولفه ها
· 20: A fast-developing and low-cost characterization and test environment for a double axis resonating mi

[ آخرين مقالات ]


ارسال مقاله به سايت

 



...::: Ir-Micro.Com :::... :: View topic - طراحي مولتي متر (سوال در مورد adc )


طراحي مولتي متر (سوال در مورد adc )
Goto page Previous  1, 2, 3, 4, 5, 6, 7  Next
 
Post new topic   Reply to topic    ...::: Ir-Micro.Com :::... Forum Index -> برنامه نویسی و مباحث مربوط به AVR Printable Version
View previous topic :: View next topic  
Author Message
saeed_2008
کاربر فعال
کاربر فعال

Joined: Sep 17, 2007
Posts: 170




Location: تهران
27898.50 امتیاز

Items

Status: Offline

PostPosted: جمعه، 8 آذر ماه ، 1387 00:45:38 Reply with quote Scroll Down to Next postGo to last Post of Page

سلام تو زمینه بیسیک من میتونم کمکی بکنم؟ البته مشکل من اینه که خیلی گیج میزنم و باید یه چیز رو 100 بار بگین تا بفهمم. مثلا الان هنوز نفهمیدم که wiki چی میخواد؟ (منظورم کار اون 3 تا دکمه هست).
آقا صالح خیلی باحالی. شما باید معلم یا استاد میشدی. اینقدر که با حوصله همه چیز رو توضیح میدی. من که کف کردم. aa)

Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
saleh_chz
مدیر انجمن
مدیر انجمن

Joined: Jan 10, 2008
Posts: 2583




Location: مشهد
3054267.20 امتیاز

Items

Status: Offline

PostPosted: جمعه، 8 آذر ماه ، 1387 00:55:56 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام
نوکرتم سعید 2008 جون Laughing

خوب حالا نوبت شماست ! Rolling Eyes Wink

ببین توی فاصله ی زمانی 100 میلی ثانیه از یک خط مبدل 3 مرتبه ولتاژ اندازه گیری میشه .

با زدن دکمه ی 1 مینیمم این سه ولتاژ نمایش داده می شه .
با زدن دکمه ی 2 ماکزیمم این سه ولتاژ نمایش داده می شه .
و با زدن دکمه ی 3 میانگین این سه ولتاژ نمایش داده میشه .
(البته ویکی جون گفته که این میانگین برابره با : مجموع این سه ولتاژ تقسیم بر 20 )

خوب مفهوم بود ؟

قربونت برم کدو هلوایی ( شیرین ! ) Laughing
Wink

Back to top
View user's profile Send private message Send e-mail Visit poster's website
saeed_2008
کاربر فعال
کاربر فعال

Joined: Sep 17, 2007
Posts: 170




Location: تهران
27898.50 امتیاز

Items

Status: Offline

PostPosted: جمعه، 8 آذر ماه ، 1387 20:34:12 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام. چاکرات آقا صالح. برنامه رو نوشتم. ولی تستش نکردم چون بیسکام من نسخه آزمایشی هست و برنامه های با حجم زیاد رو کامپایل نمیکنه. wiki جان خودتون تست کنید و اگر مشکلی داشت بگید.
برنامه:
Code:
$regfile = "M32DEF.DAT"
$crystal = 8000000
'------------------------------------------------
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , _
Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Config Portd = Input
'------------------------------------------------
Dim A As Bit , B As Bit , C As Bit
Dim W As Word , Z As Word
Dim V As Single , V1 As Single , V2 As Single , V3 As Single
Dim M As Single , M1 As Single , M2 As Single , M3 As Single
'------------------------------------------------
Sub0:
A = Pind.0
B = Pind.1
C = Pind.2
If A = 1 Then Goto Maxinmum
If B = 1 Then Goto Minimum
If C = 1 Then Goto Average
Goto Sub0
'------------------------------------------------

Maximum:
Do
Start Adc
W = Getadc(0)
Z = Getadc(1)
V1 = W
V1 = V1 / 1024
V1 = V1 * 5
M1 = Z
M1 = M1 / 1024
M1 = M1 * 5
Waitms 33
W = Getadc(0)
Z = Getadc(1)
V2 = W
V2 = V2 / 1024
V2 = V2 * 5
M2 = Z
M2 = M2 / 1024
M2 = M2 * 5
Waitms 33
W = Getadc(0)
Z = Getadc(1)
V3 = W
V3 = V3 / 1024
V3 = V3 * 5
M3 = Z
M3 = M3 / 1024
M3 = M3 * 5

If V1 >= V2 And V1 >= V3 Then V = V1
If V2 >= V1 And V2 >= V3 Then V = V2
If V3 >= V1 And V3 >= V2 Then V = V3

If M1 >= M2 And M1 >= M3 Then M = M1
If M2 >= M1 And M2 >= M3 Then M = M2
If M3 >= M1 And M3 >= M2 Then M = M3

Cls
Lcd "V1=" ; Fusing(v , "#.#")
Home Lower
Lcd "V2=" ; Fusing(m , "#.#")

A = Pind.0
B = Pind.1
C = Pind.2
If A = 1 Then Goto Maxinmum
If B = 1 Then Goto Minimum
If C = 1 Then Goto Average

Loop
'------------------------------------------------

Minimum:
Do
Start Adc
W = Getadc(0)
Z = Getadc(1)
V1 = W
V1 = V1 / 1024
V1 = V1 * 5
M1 = Z
M1 = M1 / 1024
M1 = M1 * 5
Waitms 33
W = Getadc(0)
Z = Getadc(1)
V2 = W
V2 = V2 / 1024
V2 = V2 * 5
M2 = Z
M2 = M2 / 1024
M2 = M2 * 5
Waitms 33
W = Getadc(0)
Z = Getadc(1)
V3 = W
V3 = V3 / 1024
V3 = V3 * 5
M3 = Z
M3 = M3 / 1024
M3 = M3 * 5

If V1 <= V2 And V1 <= V3 Then V = V1
If V2 <= V1 And V2 <= V3 Then V = V2
If V3 <= V1 And V3 <= V2 Then V = V3

If M1 <= M2 And M1 <= M3 Then M = M1
If M2 <= M1 And M2 <= M3 Then M = M2
If M3 <= M1 And M3 <= M2 Then M = M3

Cls
Lcd "V1=" ; Fusing(v , "#.#")
Home Lower
Lcd "V2=" ; Fusing(m , "#.#")

A = Pind.0
B = Pind.1
C = Pind.2
If A = 1 Then Goto Maxinmum
If B = 1 Then Goto Minimum
If C = 1 Then Goto Average

Loop
'------------------------------------------------

Average:
Do
Start Adc
W = Getadc(0)
Z = Getadc(1)
V1 = W
V1 = V1 / 1024
V1 = V1 * 5
M1 = Z
M1 = M1 / 1024
M1 = M1 * 5
Waitms 33
W = Getadc(0)
Z = Getadc(1)
V2 = W
V2 = V2 / 1024
V2 = V2 * 5
M2 = Z
M2 = M2 / 1024
M2 = M2 * 5
Waitms 33
W = Getadc(0)
Z = Getadc(1)
V3 = W
V3 = V3 / 1024
V3 = V3 * 5
M3 = Z
M3 = M3 / 1024
M3 = M3 * 5

V = V1 + V2
V = V + V3
V = V / 3
M = M1 + M2
M = M + M3
M = M / 3
Cls
Lcd "V1=" ; Fusing(v , "#.#")
Home Lower
Lcd "V2=" ; Fusing(m , "#.#")

A = Pind.0
B = Pind.1
C = Pind.2
If A = 1 Then Goto Maxinmum
If B = 1 Then Goto Minimum
If C = 1 Then Goto Average

Loop
End



عکس مدار:

Click to view this image at its original size
Click on the image to view it at its original size

Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
saleh_chz
مدیر انجمن
مدیر انجمن

Joined: Jan 10, 2008
Posts: 2583




Location: مشهد
3054267.20 امتیاز

Items

Status: Offline

PostPosted: جمعه، 8 آذر ماه ، 1387 23:54:59 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام
فدوات مس 2
ای ول سعید 2008 جون . مرسی چقدر تو ماهی ... تو خوبی ، تو ماهی ، فدات بشم الهی الهی !!!
خوب ... ببخشید ... جو یه لحظه نامساعد شد .... !!! Laughing

زنده باد

Back to top
View user's profile Send private message Send e-mail Visit poster's website
wikii
کاربر عادی
کاربر عادی

Joined: Oct 26, 2008
Posts: 53





1933.52 امتیاز

Items

Status: Offline

PostPosted: شنبه، 9 آذر ماه ، 1387 12:55:54 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام ممنون آقا سعید که برنامه رو نوشتید ولی این برنامه اون چیزی نیست که من می خوام ببینید آقا سعید برنامه ی من به این شکل که: از یه پتانسیومتر استفاده میکنم که با تغییر این پتانسیومتر ولتاژ 0تا 5 ولت رو میبینم با تغییر این پتانسیومتر مثلا 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 تا 5.0 ولت رو میبینیم که فاصله ی این ها 100ms است waitms 100 خوب تا اینجا که واضح خوب حالا توضیح دکمه ی اول ماکزیمم:مثلا ما عدد 0.2 رو دیدیم بعد مقایسه می کنیم که از عدد قبلی بزرگ تر است اگر بزرگ تر بود این عدد رو روی lcd نشون میده خوب حالا دوباره پتانسیومتر رو می چرخانیم و عدد 0.3 رو می بینیم دوباره مقایسه می کنیم اگر از عدد قبلی بزرگ تر باشه این عدد رو روی lcd نشون می ده خوب حالا باید این برنامه رو تا 10s ادامه بده ولی من حساب کردم اگر از 0.1 تا 5.0 بشماره می شه 50 تا عدد که فاصله ی آنها از هم 100ms پس جمعا 5s می شه ولی ما باید برنامه رو تا 10s بنویسم شاید باید از یه برنامه ای استفاده کنیم که این حلقه رو 2 بار تکرار کنه تا10s بشه خوب این توضیح کلید اول که دیگه کامل توضیح دادم
Back to top
View user's profile Send private message
wikii
کاربر عادی
کاربر عادی

Joined: Oct 26, 2008
Posts: 53





1933.52 امتیاز

Items

Status: Offline

PostPosted: شنبه، 9 آذر ماه ، 1387 13:08:56 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

کلید دوم مینیمم: مثلا با تغییر پتانسیومتر بک بار ولتاژ 5 بار دیگر ولتاژ 4.9 بار دیگر 4.8 و.... که مثلا مقایسه می کنه که ولتاژ 4.9 کوچک تر از 5 اگر کوچک تر بود ولتاژ 4.9 رو روی lcd نشون بده باره بعد که ولتاژ 4.8 رو می بینیم مقایسه می کنه با 4.9 اگر کوچک تر بود روی lcd نشون می ده برای مینیمم هم باید برنامه رو تا 10s بنویسیم
Back to top
View user's profile Send private message
wikii
کاربر عادی
کاربر عادی

Joined: Oct 26, 2008
Posts: 53





1933.52 امتیاز

Items

Status: Offline

PostPosted: شنبه، 9 آذر ماه ، 1387 13:25:56 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

ثوضیح کلید سوم کلید میانگین:مثلا با تغییر پتانسیومتر اعداد 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 رو میبینیم که این ها رو با هم جمع می کنه تقسیم به 20 می کنه یعنی یک بار 0.2 رو با 0.1 جمع می کنه و حاصل این ها رو با 0.3 جمع می کنه و دوباره حاصل رو با 0.4 جمع می کنه و... که این برنامه رو باید برای 2 ثانیه بنویسیم که من حساب کرد اگر برای 2 ثانیه بنویسیم می شود 20 تا عدد چون که فاصله ی عدد ها 100ms هستش دیگه پس 20 تا عدد رو با هم جمع می کنه و به 20 تقسیم می کنه اینم توضیح کامل
Embarassed تو رو خدا ببخشییییید سرتون و درد می یارم آخه چی کار کنم bascom بلد نیستم من دستورات bascom رو خوندم ولی خیلی پیچیدست برا ی نوشتن یه چیز از چند تا دستور مشابه استفاده می شه که آدم نمی دونه کدوم و استفاده کنه Rolling Eyes

Back to top
View user's profile Send private message
wikii
کاربر عادی
کاربر عادی

Joined: Oct 26, 2008
Posts: 53





1933.52 امتیاز

Items

Status: Offline

PostPosted: شنبه، 9 آذر ماه ، 1387 16:01:47 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

تورو خدا کمممممممممممک من باید تا دوشنبه جواب بگیرم وگرنه 0 می شم crybaby crybaby crybaby crybaby crybaby crybaby
Back to top
View user's profile Send private message
saeed_2008
کاربر فعال
کاربر فعال

Joined: Sep 17, 2007
Posts: 170




Location: تهران
27898.50 امتیاز

Items

Status: Offline

PostPosted: شنبه، 9 آذر ماه ، 1387 16:18:35 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام. پس اون مدار آپ امپی چی شد؟ پتانسیومتر جایگزین آپ امپ شد؟
چند تا ورودی رو میخواید بخونید؟ یکی یا دوتا؟
درضمن اگه از استادتون وقت بگیرید خوب میشه چون دوشنبه که آخه خیلی زوده ..... crybaby

Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
wikii
کاربر عادی
کاربر عادی

Joined: Oct 26, 2008
Posts: 53





1933.52 امتیاز

Items

Status: Offline

PostPosted: شنبه، 9 آذر ماه ، 1387 17:59:31 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام نه اون آپ امپ رو اصلا تو مدارم نمی زارم اون برای مرحله ی قبل بود که جوابم گرفتم البته با کمک شما تو این مرحله فقط یه ورودی داریم که پتانسیومتر که مثلا من وصلش کردم به پایه ی a0 این استاد ما هم چه چیزایی از ما می خواد ترم آخری من و روانی کرده ppr( crybaby
Back to top
View user's profile Send private message
saeed_2008
کاربر فعال
کاربر فعال

Joined: Sep 17, 2007
Posts: 170




Location: تهران
27898.50 امتیاز

Items

Status: Offline

PostPosted: شنبه، 9 آذر ماه ، 1387 22:53:12 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام. برنامه رو نوشتم. تست هم کردم و درست کار کرد. فقط من توی این مدار بجای اینکه در ورودی پتانسیومتر بزارم یه دونه ولتاژ متغیر سینوسی گذاشتم که بین 1 تا 3 ولت تغییر میکنه (برای این که راحت تر ببینی که مدار چطوری کار میکنه). در اینجا ماکزیمم 3 و مینیمم 1 و میانگین هم 2 هست که درست نشون داده میشه. حالا تو باید فقط تو مدار بجای این ولتاژ سینوسی که من گذاشتم، در ورودی، پتانسیومتر خودت رو بزاری که از صفر تا 5 ولت تغییرات ولتاژ داره.
با اینکه بعید میدونم مشکلی داشته باشه ولی اگر مشکلی داشت بگو! 098))
اینم لینک دانلود مدار که شامل فایل پروتئوس و بیسکام و عکس مدار می باشد:




عکس مدار:

Click to view this image at its original size
Click on the image to view it at its original size


برنامه:

Code:
$regfile = "M32DEF.DAT"
$crystal = 8000000
'------------------------------------------------
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , _
Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Config Portd = Input
'------------------------------------------------
Dim A As Bit , B As Bit , C As Bit , W As Word
Dim V0 As Single , V1 As Single , S As Byte , S2 As Byte
'------------------------------------------------
Cursor Off
Cls
Lcd "Select:"
Home Lower
Lcd "1.Max 2.Min 3.Ave"

Sub0:
A = Pind.0
B = Pind.1
C = Pind.2
If A = 1 Then Goto Maximum
If B = 1 Then Goto Minimum
If C = 1 Then Goto Average
Goto Sub0

'------------------------------------------------

Maxim um:
Start Adc
V0 = 0
V1 = 0
For S2 = 1 To 2 Step 1
For S = 1 To 50 Step 1
W = Getadc(0)
V1 = W
V1 = V1 / 1024
V1 = V1 * 5
Cls
Lcd "Maximum= "
If V1 >= V0 Then
Lcd Fusing(v1 , "#.#")
V0 = V1
Else
Lcd Fusing(v0 , "#.#")
End If
Waitms 100
Next S
Next S2
Home Lower
Lcd "Finished"
Goto Sub0

'------------------------------------------------

Minimum:
Start Adc
V0 = 5
V1 = 0
For S2 = 1 To 2 Step 1
For S = 1 To 50 Step 1
W = Getadc(0)
V1 = W
V1 = V1 / 1024
V1 = V1 * 5
Cls
Lcd "Minimum= "
If V1 <= V0 Then
Lcd Fusing(v1 , "#.#")
V0 = V1
Else
Lcd Fusing(v0 , "#.#")
End If
Waitms 100
Next S
Next S2
Home Lower
Lcd "Finished"
Goto Sub0

'------------------------------------------------

Avera ge:
Start Adc
V0 = 0
V1 = 0
For S = 1 To 20 Step 1
W = Getadc(0)
V1 = W
V1 = V1 / 1024
V1 = V1 * 5
Cls
Lcd "V=" ; Fusing(v1 , "#.#")
V0 = V0 + V1
waitms 100
Next S
V0 = V0 / 20
Cls
Lcd "Finished"
Home Lower
Lcd "AVE =" ; V0
Goto Sub0

End

Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
wikii
کاربر عادی
کاربر عادی

Joined: Oct 26, 2008
Posts: 53





1933.52 امتیاز

Items

Status: Offline

PostPosted: شنبه، 9 آذر ماه ، 1387 23:22:53 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سسسسسسسسسسسسسسسسسلام مرسیییییییییییییییی aa) aa) aa) واقعا ممنونم فقط با کمال شرمندگی باید بگم که یه سوال دیگه هم دارم معنی چند تا خط زیرو نمی دونم
Next S
Next S2

For S2 = 1 To 2 Step 1
For S = 1 To 50 Step 1

Else
Cursor Off
Embarassed Embarassed Embarassed Embarassed Embarassed Embarassed Embarassed Embarassed

Back to top
View user's profile Send private message
wikii
کاربر عادی
کاربر عادی

Joined: Oct 26, 2008
Posts: 53





1933.52 امتیاز

Items

Status: Offline

PostPosted: شنبه، 9 آذر ماه ، 1387 23:40:01 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

آهان فهمیدم ببین درست می گم For S2 = 1 To 2 Step 1 و Next S2 یعنی این حلقه 2 بار تکرار می شه و For S = 1 To 50 Step 1 و Next S یعنی این حلقه 50 بار تکرار می شه ایول فقط Else و Cursor Off رو نمی دونم
Back to top
View user's profile Send private message
saleh_chz
مدیر انجمن
مدیر انجمن

Joined: Jan 10, 2008
Posts: 2583




Location: مشهد
3054267.20 امتیاز

Items

Status: Offline

PostPosted: يكشنبه، 10 آذر ماه ، 1387 04:52:53 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام
خیلی ممنون از سعید خان
ببخشید که من درست متوجه برنامه ای که دوستمون می خاستند نشدم Embarassed

زنده باد

Back to top
View user's profile Send private message Send e-mail Visit poster's website
wikii
کاربر عادی
کاربر عادی

Joined: Oct 26, 2008
Posts: 53





1933.52 امتیاز

Items

Status: Offline

PostPosted: يكشنبه، 10 آذر ماه ، 1387 12:59:37 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

آقا سعیید نگفتبد Elseو Cursor Off یعنی چی؟ بعد یه سوال دیگه هم دارم اون دستورFusing که شما به من گفتید یکی از کلک ها ی bascome که مثلا می تونیم عدد 3.33333 رو 3.3 یا 3.33 یا 3.333 ببینیم حالا اگر من بخوام عدد 3.265847254 رو تا 3 رقم اعشار ببینم یعنی مثلا 3.265 حالا باید چی کار کنم؟
Back to top
View user's profile Send private message
saeed_2008
کاربر فعال
کاربر فعال

Joined: Sep 17, 2007
Posts: 170




Location: تهران
27898.50 امتیاز

Items

Status: Offline

PostPosted: يكشنبه، 10 آذر ماه ، 1387 13:05:33 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام. چاکریم.
آره حلقه رو درست فهمیدی. اینجا S نام متغیر استفاده شده برای شمارنده حلقه هست که از 1 تا 50 رو شمارش میکنه و S2 هم اسم یه متغیر دیگه هست که حلقه بیرونی رو شمارش میکنه که از 1 تا 2 تعیین کردیم که شمارش کنه. البته لزومی به این کار نبود و فقط میتونستیم حلقه S رو از 1 تا 100 بنویسیم و حلقه دیگه ای نداشته باشیم ولی چون خودتون گفتید حلقه 5 ثانیه ای دوبار تکرار بشه منم اینطوریش کردم. next هم که در آخر حلقه یه دونه به مقدار متغیر اضافه میکنه (چون step یک هست) تا وقتی که به مقدار نهایی برسه.
else هم یعنی اینکه اگر شرط گفته شده جلوی if درست نبود پس بجای اجرای دستور نوشته شده در زیر خط دستور if ، دستوری رو اجرا کن که بعد از else نوشته شده.
cursor off هم که برای lcd هست و خط تیره ای که جلوی نوشته های داخل lcd چشمک میزنه رو حذف میکنه، یعنی چشمش رو کور میکنه... Mr. Green

Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
saeed_2008
کاربر فعال
کاربر فعال

Joined: Sep 17, 2007
Posts: 170




Location: تهران
27898.50 امتیاز

Items

Status: Offline

PostPosted: يكشنبه، 10 آذر ماه ، 1387 13:28:04 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

wikii wrote:
حالا اگر من بخوام عدد 3.265847254 رو تا 3 رقم اعشار ببینم یعنی مثلا 3.265 حالا باید چی کار کنم؟


برای این کار تو دستور fusing سمت راست نقطه ممیز ، سه تا # بگذارید تا با سه رقم اعشار نشون بده

Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
bbi
کاربر تازه وارد
کاربر تازه وارد

Joined: Nov 30, 2008
Posts: 4





153.62 امتیاز

Items

Status: Offline

PostPosted: سه شنبه، 12 آذر ماه ، 1387 12:08:46 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام به دوستان .
ببخشید من این سوال 2 بار تکرار میکنم !
اگه کسی میتونه کار با Gain مبدلها را در AVR توضیح بده .

Back to top
View user's profile Send private message
wikii
کاربر عادی
کاربر عادی

Joined: Oct 26, 2008
Posts: 53





1933.52 امتیاز

Items

Status: Offline

PostPosted: سه شنبه، 12 آذر ماه ، 1387 13:18:28 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام سعید جان crybaby crybaby crybaby برنامه که برام نوشتی error داد هر کاریش کردم درست نشد نمی دونم چی کارش کنم crybaby crybaby
Back to top
View user's profile Send private message
saeed_2008
کاربر فعال
کاربر فعال

Joined: Sep 17, 2007
Posts: 170




Location: تهران
27898.50 امتیاز

Items

Status: Offline

PostPosted: سه شنبه، 12 آذر ماه ، 1387 16:25:34 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

کجا error داد؟ Question
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
wikii
کاربر عادی
کاربر عادی

Joined: Oct 26, 2008
Posts: 53





1933.52 امتیاز

Items

Status: Offline

PostPosted: چهارشنبه، 13 آذر ماه ، 1387 18:14:15 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام ppr( من دوباره اومدم error demo میده فکر می کنم یعنی این که یه جایی از برنامه رو نمی شناسه من خیلی تغییرش دادم اما درست نشد به نظر تو چی کار کنم خسته شدم دیگه
Back to top
View user's profile Send private message
saeed_2008
کاربر فعال
کاربر فعال

Joined: Sep 17, 2007
Posts: 170




Location: تهران
27898.50 امتیاز

Items

Status: Offline

PostPosted: پنجشنبه، 14 آذر ماه ، 1387 00:21:56 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

نه پس برنامه درسته مشکلی نیست. این error برای کامپایلر bascom شما هست!
برنامه شما کرک نشده یا نسخه کامل نیست و نسخه demo هست.
برنامه bascom تون رو عوض کنید و کاملش رو نصب کنید...

Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
wikii
کاربر عادی
کاربر عادی

Joined: Oct 26, 2008
Posts: 53





1933.52 امتیاز

Items

Status: Offline

PostPosted: پنجشنبه، 14 آذر ماه ، 1387 15:41:02 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام آقا سعید برنامه کامل نصب شده من هم خونه امتحان کردم هم دانشگاه هر دو error demo دادن مگه error demo معنیش این نمی شه که یه جایی از برنامه رو نشناخته؟ حالا اشکال نداره انقدر تغییرش میدم تا درست بشه راستی برنامه ی مینیمم و ماکزیمم رو نوشتم ولتاژای 20 ولت و 5 میلی ولت رو دیدم نباید رو lcd ولتاژ 5 ولت می دیدیم هدف این بود که ولتاژ بیشتر از 5 ولت و کمتر از 5 میلی ولت رو ببینیم
تضعیف کننده:ولتاژ 20 ولت روی lcd نمایش داده میشه
$crystal = 8000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db7 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Dim W As Word , V As Single
Start Adc
Do
W = Getadc(0)
V = W
V = V / 1024
V = V * 5
V=v*20
Cls
Lcd "v=" ; Fusing(v , "#.#")
Waitms 500
Loop
End
تقویت کننده: ولتاژ 5 میلی ولت روی lcd نمایش داده می شه


$crystal = 8000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db7 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Dim W As Word , V As Single
Start Adc
Do
W = Getadc(0)
V = W
V = V / 1024
V = V * 5
V=v/1000
Cls
Lcd "v=" ; Fusing(v , "#.#")
Waitms 500
Loop
End

Back to top
View user's profile Send private message
wikii
کاربر عادی
کاربر عادی

Joined: Oct 26, 2008
Posts: 53





1933.52 امتیاز

Items

Status: Offline

PostPosted: پنجشنبه، 14 آذر ماه ، 1387 16:33:09 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام آقا سعید من می یه برنامه ای بنویسم که یه پتانسیومتر به پایه ی adc وصل بشه و یه led به پایه ی portb0 که وقتی ولتاز 0 ولت led روشن و با فاصله ی 10 ثانیه روشن و خاموش بشه وقتی ولتاژ بیشتر از 0 ولت و کمتر از 5 ولت led با فاصله ی 700 میلی ثانیه روشن و خاموش بشه و وقتی که به ولتاژ 5 ولت می رسه با فاصله ی 100 میلی ثانیه روشن و خاموش بشه در کل یعنی این که هر چی ولتاژ بیشتر بشه سرعت روشن و خاموش شدن led بیشتر بشه من برنا مه رو به صورت زیر نوشتم ولی led فقط روشن می شه و روشن باقی می مونه و روی lcd هم هیچ ولتاژی نمی بینم به نظر شما چی کار کنم؟ اگر برنامه مشکل داره می شه برنامه شو برام بنویسید

$regfile = "M32DEF.DAT"
$crystal = 80000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Dim W As Word , V As Single
Config portb = output
Q:
Start Adc
W = Getadc(0
V = W
V = V / 1024
V = V * 5
Lcd v
If v = 0 then
Set portb 0
Wait 10
Reset portb 0
Wait 10
Else if v >0 then
Else if v<5 then
Lcd v
Set portb 0
Wait 700 ms
Reset portb o
Wait 700 ms
Else if v = 5 then
Lcd v
Set port b0
Waitms 100
Reset portb 0
Waitms 100
End if
jmp q

Back to top
View user's profile Send private message
saeed_2008
کاربر فعال
کاربر فعال

Joined: Sep 17, 2007
Posts: 170




Location: تهران
27898.50 امتیاز

Items

Status: Offline

PostPosted: پنجشنبه، 14 آذر ماه ، 1387 20:00:59 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام. برنامه قبلی ای رو که براتون گذاشتم و میگید ارور میده رو از فایلی که من برای دانلود گذاشته بودم بگیرید. متن برنامه رو از داخل فایل برداربد چون وقتی متن برنامه رو در بالا تو صفحه قبلی کپی کردم یه کمی غلط املایی پیدا کرد و شاید واسه همون باشه. پس حتما از لینکی که گذاشته بودم برنامه رو دانلود کنید که هم کامپایل شده و هم برنامه پروتئوس رو داره که من هم تست کردم و جواب داده.
اینم برنامه ای که گفتید (برای led ):


Code:
$regfile = "M32DEF.DAT"
$crystal = 8000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , _
Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Dim W As Word , V As Single
Config Pinb.0 = Output
Start Adc
W = Getadc(0)
V = W
V = V / 1024
V = V * 5.1
Cls
Lcd V
If V = 0 Then Goto Sub1
If V > 0 And V < 5 Then Goto Sub2
If V = 5 Then Goto Sub3
End


Sub1:
Set Portb.0
Wait 10
Reset Portb.0
Wait 10
W = Getadc(0)
V = W
V = V / 1024
V = V * 5.1
Cls
Lcd V
If V = 0 Then Goto Sub1
If V > 0 And V < 5 Then Goto Sub2
If V = 5 Then Goto Sub3
Return


Sub2:
Set Portb.0
Waitms 700
Reset Portb.0
Waitms 700
W = Getadc(0)
V = W
V = V / 1024
V = V * 5.1
Cls
Lcd V
If V = 0 Then Goto Sub1
If V > 0 And V < 5 Then Goto Sub2
If V = 5 Then Goto Sub3
Return


Sub3:
Set Portb.0
Waitms 100
Reset Portb.0
Waitms 100
W = Getadc(0)
V = W
V = V / 1024
V = V * 5.1
Cls
Lcd V
If V = 0 Then Goto Sub1
If V > 0 And V < 5 Then Goto Sub2
If V = 5 Then Goto Sub3
Return

Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
Display posts from previous:   
Post new topic   Reply to topic    ...::: Ir-Micro.Com :::... Forum Index -> برنامه نویسی و مباحث مربوط به AVR All times are GMT + 3.5 Hours
Goto page Previous  1, 2, 3, 4, 5, 6, 7  Next
Page 5 of 7
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum

 
 Jump to:   

Related topics
 Topics   Replies   Author   Views   Last Post 
No new posts lcd help 9 melectronics 14308 يكشنبه، 23 فروردين ماه ، 1388 07:56:43
1nafar View latest post
No new posts تبدیل lcd موازی به سریال با 180 تومان 13 123456za 19110 چهارشنبه، 6 آذر ماه ، 1387 17:52:00
ahmadk View latest post
No new posts Thermometer (2x16 lcd)1 دماسنج با 8051 و 2*16 lcd 1 honeyl 11849 سه شنبه، 4 تير ماه ، 1387 01:37:40
bleedingme View latest post
No new posts راه اندازی lcd به صورت 4 بیت 4 ahmad2000 12170 چهارشنبه، 28 فروردين ماه ، 1387 23:18:01
Hamed View latest post
No new posts فرکانس متر با LCD و AT89C2051 0 Hamed 13611 جمعه، 24 فروردين ماه ، 1386 10:03:10
Hamed View latest post
 


Powered by phpBB © 2001, 2008 phpBB Group

Ported to Platinum 7.6.b.4 V2 by sadeghkhafan

فروشگاه تخصصی برق و الکترونیک ایران میکرو
www.iran-micro.com
PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL.
Powered by Platinum 7.6.b.4 v2
Powered by Platinum 7.6.b.4 v2 Persian

مدت زمان ایجاد صفحه : 2.10 ثانیه