با سلام خدمت اعضای محترم انجمن چطور میشه تاخیر یک ساعته با تایمر 1 نوشت مثلا یک هیتر یک ساعت روشن ویک ساعت خاموش باشد. حال یا با روش polling یا وقفه تایمر! ، دوستان برای نوشتن این برنامه با مگا 16 کمک کنن...
اطلاعیه
Collapse
No announcement yet.
نوشتن برنامه تاخیر 1 ساعته با تایمر یک ؟
Collapse
X
-
پاسخ : نوشتن برنامه تاخیر 1 ساعته با تایمر یک œ
سلام دارم
تو بیا با تایمر یک یه وقثفه 10 میلی ثانیه درست کن که میشه
یا 100 میلی یا 500 میلی ووو یا 1 ثانیه ای
بعد تعداد سرریز وقفه ها رو توی وقفه خود تایمر بشمار تا به تعدادی برسه که بشه یک ساعت
مثلا تو یه تایمر درست کردی به اندازه 1 ثانیه خب باید 3600بار بشماری وقفه هاشو میشه یک ساعت
تو توی وقفه تایمر یکی اضافه کن و هی مقایسه ش کن با 3600
یا هر مقداری که تعیین کردی با تایمر
دیدگاه
-
پاسخ : نوشتن برنامه تاخیر 1 ساعته با تایمر یک œ
من برنامه شو تمیز نوشتم اماده
من به تشکر نیاز ندارم اما تنها کاری که میتونی در قبال کمک من کنی
:evil:
اینم برنامه // اگه خوب ریجستر هارو دنبال کنی همه چی دستت میاد
#include <mega16.h>
// کلاک 8000000
unsigned int cont_t=0;
// Timer 1 overflow interrupt service routine
interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
TCNT1H=0xBDB >> 8;
TCNT1L=0xBDB & 0xff;
cont_t ++;
if(cont_t==7200){ cont_t=0; PORTD.0=!PORTD.0; }
//مثلا موتور تو هر یک ساعت باید خاموش و روشن بشه
// یک ساعت روشن یک ساعت خاموش
// پورت دی صفر هم نشان دهنده ال ای دی موتور
// یا خود موتور یا هر وسیله کنترلی
}
// Declare your global variables here
void main(void)
{
DDRD.0=1;
PORTD.0=0;
TCCR1A=0x00;
TCCR1B=0x03;
TCNT1H=0x0B;
TCNT1L=0xDB;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x04;
// Global enable interrupts
#asm("sei"
while (1)
{
// اینجا هم جای تشکری که از پست اوم نکردی
};
}
دیدگاه
-
پاسخ : نوشتن برنامه تاخیر 1 ساعته با تایمر یک ؟
با تشکر از تیک تاک
اما بهتره برای not کردن از ~= استفاده بشه
!= برای چک کردن یک عبارت نادرست هست
موفق باشید.The best question deserves a better answer
=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
«پناه»می برم «به خدا»
از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .
دیدگاه
-
پاسخ : نوشتن برنامه تاخیر 1 ساعته با تایمر یک œ
نوشته اصلی توسط •.´™ مَسِِــــح`.•با تشکر از تیک تاک
اما بهتره برای not کردن از ~= استفاده بشه
!= برای چک کردن یک عبارت نادرست هست
موفق باشید
و اینگونه صحیح میباشد
اون علامت که میفرمایید برای نات کردن یه ریجستر // یه متغییر بکار برده میشه
برای بیتی بهتره از این استفاده بشه
ممنون از تذکر شما
دیدگاه
-
پاسخ : نوشتن برنامه تاخیر 1 ساعته با تایمر یک œ
با عرض سلام
با نظر شما کاملا مخالفم
نوشته اصلی توسط تیک تاکاون علامت که میفرمایید برای نات کردن یه ریجستر // یه متغییر بکار برده میشه.The best question deserves a better answer
=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
«پناه»می برم «به خدا»
از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .
دیدگاه
-
پاسخ : نوشتن برنامه تاخیر 1 ساعته با تایمر یک ؟
سلام
مخالف نباش دوست من برو انجام بده و امتحان کن
من هزار بار انجام دادم
منظور از ریجستر یه متغییر بود که برای نقیض کردنش از علامت شما استفاده میشه
برای بیتی این استفاده میشه
وقتی با مساوی میاد کلا این معنی نات میده
ولی خودش تنها بررسی صفر بودن
و اگه طرف چپ مساوی بیاد یعنی نامساوی
امتحان کن و راهنما رو دنبال کن
اون علامت تو برای متغییر بکار برده میشه
و portd.0 دیگه یک ریجستر نیست بلکه بیتی تعریف شده
و کاملا خصوصیات بیت داره طبق یه تعریف که خود کمپایلر انجام میده
ممنون مسیح گرامی
دیدگاه
-
پاسخ : نوشتن برنامه تاخیر 1 ساعته با تایمر یک ؟
با سلام
اگه میخای تو یه پرسه صنعتی استفاده کنی بخ نظر من بهتره از یه نوع تایمر صنتی که بهش مولتی تایم میگن استفاده کنی و اونو تو حالت فلش بزاری و زمان رو روی یک ساعت تنظیم کنی .اینجوری هم هزینه میان پایین هم کارت کم دردسر تر میشه .هم زمان بندی و نهوه عمل کرد قابل تنظیم میشهروزی که درک کردیم همه چیز به خدا تعلق دارد . آن روز .روز طلوع دانش است
دیدگاه
دیدگاه