سلام خسته نباشید
با کد زیر با کریستال 4 مگ داخلی میشه یک سیگنال با فرکانس 40 کیلو هرتز به صورت مداوم روی portb.0 درست کرد.(هم عملی تست کردم هم توی نرم افزار)
reset portb.0
do
'Toggle Portb.0
'Waitus 11
'Toggle Portb.0
'Waitus 11
loop
حالا مشکل اینجاست که مثلا میخام تعداد پالس ها را محدود کنم به 20000 پالس (یعنی 20000 پالس بفرسته روی پین مورد نظر و بعد یک تایم 4 چهار ثانیه توقف کنه بعد دوباره شروع کنه.پس کد به صورت زیر میشه
do
For A = 0 To 20000
Toggle Portb.0
Waitus 11
Toggle Portb.0
Waitus 11
Next
wait 4
loop
ولی فرکانس به هم میخوره و دیگه 40 کیلو هرتز نیست (حدود 80 هرتز ایناست)
دلیلش چیه و چطور برطرفش کنم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
در ضمن این کار رو با دستورPulseout هم انجام دادم ..باز همینطور
با کد زیر با کریستال 4 مگ داخلی میشه یک سیگنال با فرکانس 40 کیلو هرتز به صورت مداوم روی portb.0 درست کرد.(هم عملی تست کردم هم توی نرم افزار)
reset portb.0
do
'Toggle Portb.0
'Waitus 11
'Toggle Portb.0
'Waitus 11
loop
حالا مشکل اینجاست که مثلا میخام تعداد پالس ها را محدود کنم به 20000 پالس (یعنی 20000 پالس بفرسته روی پین مورد نظر و بعد یک تایم 4 چهار ثانیه توقف کنه بعد دوباره شروع کنه.پس کد به صورت زیر میشه
do
For A = 0 To 20000
Toggle Portb.0
Waitus 11
Toggle Portb.0
Waitus 11
Next
wait 4
loop
ولی فرکانس به هم میخوره و دیگه 40 کیلو هرتز نیست (حدود 80 هرتز ایناست)
دلیلش چیه و چطور برطرفش کنم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
در ضمن این کار رو با دستورPulseout هم انجام دادم ..باز همینطور
دیدگاه