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

ارسال‌ها: 12
موضوع‌ها: 2
تاریخ عضویت: مهر ۱۳۸۸

تشکرها : 127
( 25 تشکر در 9 ارسال )
ارسال: #1
کمک در تولید فرکانسهای مختلف روی هر پایه
آیا می توان از ارتباط سریال یک سری عدد گرفت و آنرا به عنوان d.c (مقدار یک بودن نسبت به صفر )در نظر گرفته و هر کدام را برای یک پایه در نظر گرفته ودر خروجی نمایش دهد
مثلا 8عدد بگیرد وپورت a برای هر پایه نمایش دهد و فر کانس همه پایه ها 500
هرتز باشد
(آخرین ویرایش در این ارسال: ۱۷-تير-۱۳۸۹, ۰۲:۰۶:۳۶، توسط ma_f66.)
۱۶-تير-۱۳۸۹, ۰۱:۴۱:۵۱
ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #2
RE: کمک
منظورتو نفهمیدم بیشتر توضیح بدی خوبه !

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

در کل مفهومتو بیشتر بیان کنی !
من چیزی نفهمیدم !!!
۱۶-تير-۱۳۸۹, ۰۱:۵۲:۲۹
ارسال‌ها
پاسخ
تشکر شده توسط : رسول, ma_f66, salehjg
ma_f66 آفلاین
تازه وارد

ارسال‌ها: 12
موضوع‌ها: 2
تاریخ عضویت: مهر ۱۳۸۸

تشکرها : 127
( 25 تشکر در 9 ارسال )
ارسال: #3
RE: کمک
دوست عزیز من می خواهم از هر پایه میکرو فرکانس 500 هرتز را بگیرم با دیوتی سایکل های مختلف به صورتی که این دیوتی سایکل ها متغییر باشد و به نحوی از کاربر گرفته شود مثلا ارتباط سریال
۱۷-تير-۱۳۸۹, ۰۱:۳۶:۳۷
ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #4
RE: کمک
اسم تایپیک به دلیل نافمهوم بودن عوض شد !


این تایپیکو ببین :
http://www.iranled.com/forum/showthread.php?tid=17774
واسه 500 هرتز فقط مقدار دهی تایمرت عوض می شه !!!


و شما می خوای دیوتی سایکلش رو هم تغییر بدی !
چند تا پله کافیه واست !
فرضا اگه 255 پله می خوای اونوقته که باید فرکانس وقفه تایمرت 127500 هرتز باشه !!!
۱۷-تير-۱۳۸۹, ۰۱:۴۲:۴۸
ارسال‌ها
پاسخ
تشکر شده توسط : رسول, ma_f66, salehjg
ma_f66 آفلاین
تازه وارد

ارسال‌ها: 12
موضوع‌ها: 2
تاریخ عضویت: مهر ۱۳۸۸

تشکرها : 127
( 25 تشکر در 9 ارسال )
ارسال: #5
RE: کمک در تولید 8 تا فرکانس 500 هرتز
مسئله اینجاست که من می تونم مثلا فر کانس های مختلفی روی پایه ها ایجاد و از اعداد ورودی تغییر بدم
۱۷-تير-۱۳۸۹, ۰۱:۵۵:۱۷
ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #6
RE: کمک در تولید فرکانسهای مختلف روی هر پایه
مهندس یه برنامه نمونه می ذارم :

کد php:
$regfile "m32def.dat" $crystal 8000000

Config Timer0 
Timer Prescale 1
On Timer0 Ant 
Enable Interrupts Enable Timer0 Start Timer0

Ddrb 
255

Dim B 
As Byte As Byte

127

Do
Loop

Ant
:

   
Timer2 194

   
If 0 Then Reset Portb.0
   
Elseif 255 Then Set Portb.0
   
Elseif 0 Then Set Portb.0
   
Elseif P Then Reset Portb.0
   End 
If

   
Incr B

Return 

الان رو پایه portb.0 فرکانس 500 هرتز ایجاد شده ( البته دقیقا 504 هرتز ) و مقدار پهنای پالس هم با متغیر P تو اول برنامه مقدار دهی شده میشه تغییر داد !
بین 0 تا 255 !
یعنی فرضا اگه برابر با 127 باشه ضریب پهنای پالس 50 درصد خواهد بود !!!!!

الان تو برنامه همین مقدار هستش :

کد php:
127 

این برنامه واسه یه پایه بودش !
و اضافه کردن پایه ها با خودت ( کاری نداره ) !!
شرطهات و متغیرات به همون نسبت زیاد میشه !!

و تو حلقه اصلی برنامه هم می تونی مقادیر رو بخونی و مقدار دهی کنی ! ( مثلا از پورت سریال دریافت کنی و ... ) !!

موفق باشی !
(آخرین ویرایش در این ارسال: ۱۷-تير-۱۳۸۹, ۰۲:۴۸:۳۵، توسط t3r!p3000.)
۱۷-تير-۱۳۸۹, ۰۲:۴۶:۰۹
ارسال‌ها
پاسخ
تشکر شده توسط : رسول, ma_f66, salehjg
ma_f66 آفلاین
تازه وارد

ارسال‌ها: 12
موضوع‌ها: 2
تاریخ عضویت: مهر ۱۳۸۸

تشکرها : 127
( 25 تشکر در 9 ارسال )
ارسال: #7
RE: کمک در تولید فرکانسهای مختلف روی هر پایه
ممنون ولی من زبان بیسیک بلد نیستم اگه میشه به سی یا اسمبلی بنویسید
وفکر میکنم برنامه شما برای یک پایه است
۱۷-تير-۱۳۸۹, ۲۲:۵۷:۴۹
ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #8
RE: کمک در تولید فرکانسهای مختلف روی هر پایه
مهندس جان خود شما هم یه همتی بکنین خوبه !!!

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

و اضافه کردن پایه هم کاری داره !
یه نگاهی به برنامه بندازین !!

مثلا برنامه زیر واسه کل پورت ب ( 8 تا خروجی ) این کارو می کنه !
آرایه P پهنای پالس رو تعین می کنه ( مثل برنامه قبلی ) فقط اینجا بین 1 تا 8 که میشه خروجی های پورت ب صفر تا ب هفت !

کد php:
$regfile "m32def.dat" $crystal 8000000

Config Timer0 
Timer Prescale 1
On Timer0 Ant 
Enable Interrupts Enable Timer0 Start Timer0

Ddrb 
255

Dim B 
As Byte P(8) As Byte As Byte

P
(1) = 1
P
(2) = 80
P
(3) = 190
P
(4) = 20
P
(5) = 55
P
(6) = 100
P
(7) = 255
P
(8) = 127

Do
Loop

Ant
:

   
Timer2 194

   
For 0 To 7
      
If P(1) = 0 Then Reset Portb.c
      
Elseif P(1) = 255 Then Set Portb.c
      
Elseif 0 Then Set Portb.c
      
Elseif P(1Then Reset Portb.c
      End 
If
   
Next

   Incr B

Return 
۱۷-تير-۱۳۸۹, ۲۳:۳۹:۴۲
ارسال‌ها
پاسخ
تشکر شده توسط : رسول, ma_f66


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  تولید spwm student123 8 4,481 ۳۱-تير-۱۳۹۳, ۰۴:۵۳:۲۳
آخرین ارسال: student123
  چرا میکرو بعضی از مواقع روی پایه هاش خروجی 2 ولت میده بیرون؟ alirezajf68 10 8,620 ۱۳-بهمن-۱۳۹۱, ۱۶:۳۷:۳۰
آخرین ارسال: aKaReZa75
  اتصال دو خروجی به یک پایه میکرو mreza_dm2004 8 7,408 ۱۷-دى-۱۳۸۹, ۱۳:۲۰:۵۳
آخرین ارسال: ALI cv-c

پرش به انجمن:


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

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