قياس النبض في وقت ATMEGA16

N

nareshbhar

Guest
مرحبا جميعا ،
في الواقع أريد أن قياس الوقت بين النبضة الثانية على التوالي.
وإشارة ويفترض أن يكون بين 0.4-2 ثانية.
أنا استخدم ATMEGA16 ، وcodevision مجمع للبرمجة.
حاولت أن أكتب هذه المدونة باستخدام timer1 ، ولكن على نحو ما حصل ط didn't الانتاج حسب المطلوب.
حتى إذا كان أي شخص يمكن أن يساعد.
شكرا.

 
وهو بالضبط المشكلة؟
يرجى تعطينا المزيد من المعلومات.هل رأيت هذا في الصفحة 92 من datasheet : وللقيام 16 بت الكتابة ، البايت العليا يجب أن تكون مكتوبة قبل منخفض البايت.لقراءة 16 بت ،البايت منخفضة ويجب أن يقرأ قبل السامي البايت.هذا هو لTCNT1 ، OCR1A / باء ، وسجلات ICR1 هم 16 بت على نطاق واسع.
, when I see a note like this. I learned the lesson: Read the datasheet carefully)

(ومنذ بعض الوقت ، كنت ساعات تبحث عن مشكلة في أحد هامشية (لا اتذكر واحد)
، وعندما ارى مثل هذه المذكرة. تعلمت الدرس : اقرأ بعناية datasheet)

تمنيات.
دييغو

 
on lcd,when my input to the INT0 pin is pilses with 1s time period.so ,for T1 clock source of 7.813khz, which is incorrect.

وقد كتبت في برنامجي codevision ، وأنا مع ذلك الحصول على 132 = عرض
lcd ، عند مدخل إلى بلدي INT0 هو مسمار pilses مع 1S الوقت period.so ، T1 ساعة لمصدر 7.813khz ، وهو غير صحيح.
يرجى الإشارة إلى الأخطاء أو إضافات في البرنامج يعلق below.or إذا كان لديك أي برنامج عينة لقياس الفترة الزمنية ، ومن ثم تحميله الثابتة والمتنقلة.
شكرا
عذرا ، لكنك في حاجة إلى تسجيل الدخول لمشاهدة هذه الضميمة

 
لقد قراءة الشفرة الخاصة بك ، وأنت في القراءة والكتابة 16 بت في سجلات بأسلوب خاطئ.مثل أقول في رسالتي السابقة ما بعد ، عند القراءة أو الكتابة وهو سجل 16 بت ، يجب عليك القيام به في مجال معين من أجل (الصفحة 92 من ATmega16 datasheet).

1) إذا كنت أكتب تسجيل 16 بت ، يجب أولا أن يكتب أعلى 8 بت ، وبعد ذلك يكتب الدنيا 8 بت.
2) إذا كنت أقرأ سجل 16 بت ، لأول مرة أقرأ انخفاض 8 بت ،
ومن ثم قراءة أعلى من 8 بت.

TCNT1 هو تسجيل 16 بت ، لذلك فلا بد لهذا الإجراء على القراءة والكتابة فيه.هذا ، وعند كتابة شفرة جيم ، في معظم الحالات هو حلها عن طريق الحاسوب.لديك خياران ، قراءة المدونة سداسي المنتجة وإيجاد اذا في الطريق الصحيح ، و / أو تغيير الشفرة لاثنين من 8 بت قراءة وكتابة.

هنا ، أنت تقرأ TCNT1 تسجل في الاتجاه الخاطيء :
الرمز :

العرض = TCNT1H ؛

العرض = (العرض <<8) ؛

عرض = عرض | TCNT1L ؛
 

Welcome to EDABoard.com

Sponsor

Back
Top