پروژه ساعت با AVR- به همراه سورس و شبیه سازی

در این پست برای شما بازدیدگنندگان گرامی پروژه ساعت با میکروکنترلر AVR را قرار داده ام که در پروتئوس نیز شبیه سازی شده است. در این مدار ما از یک عدد LCD کاراکتری با سایز 16×2  برای نمایش ساعت و 3 عدد کلیک برای ریست کردن و افزایش دقیقه و ساعت استفاده کرده ایم. در زیر به توضیح برنامه نوشته شده بر اساس شماره خط می پردازم.

 

خط 15 تا خط 20 مربوط به وقفه خارجی شماره صفر می باشد. به این وقفه یک عدد کلید فشاری متصل شده که برای افزایش دقیق در برنامه می باشد.ن وقفه به لبه پایین رونده حساس می باشد. یعنی زمانیکه ما یک سیگنال صفر روش این پایه داشته باشیم برنامه وارد این وقفه شده و دستورات وقفه را اجرا می کند.ما از مقاومت برای یک کردن پایه وقفه استفاده کرده ایم تا وقفه همیشه در یکی از موقعیت های صفر و یا یک قرار داشته باشد.همچنین در روتین وقفه از یک عدد تابع تاخیر استفاده شده و دلیل آن کم کردن اثر نویز روی کلید می باشد.زمانیکه کلید زده می شود ممکن است فرکانس بالایی روی وقفه ایجاد شود به همین خاطر با استفاده از یک عدد تاخیر این فرکانس را خنثی کرده ایم. در صورت نبودن این تاخیر ممکن است مقدار دقیق تا چند عدد افزایش داشته باشد.


خط شماره 28 تا 40 مربوط به وقفه تایمر 1 می باشد.مقدار متغییر ها طوری تنظیم شده است تا هر یک ثانیه برنامه به وقفه مراجعه کرده و ثانیه را یک عدد افزایش دهد. در روتین این وقفه برنامه ساعت قرار دارد.خط شماره 48 تا 51 مربوط به تنظیم تایمر شماره 1 می باشد.

خط شماره 53 برای فعال کردن اینتراپت تایمر شماره یک می باشد.خط شماره 60 تا 63 برای فعال کردن واحد های وقفه خارجی و تنظیم آنها روی لبه پایین رونده می باشد.خط شماره 64 با استفاده از یک دستور اسمبلی وقفه ها را فعال کرده است. از خط شماره 67 تا 77 نیز مربوط به برنامه نمایش ساعت و رشته ها روی LCD می باشد.


دقت داشته باشید که در روتین وقفه ها باید کمترین دستور ها نوشته شود. در صورت نوشته شدن دستوارت زیاد ممکن است به علت نرسیدن وقفه به انتهای روتین وقفه دیگری اتفاق بیافتد که در اینصورت آن وقفه اتفاق افتاده اجرا نخواهد شد.

 

پروژه ساعت با AVR- به همراه سورس و شبیه سازی

در زیر می توانید سورس برنامه را که در نرم افزار پروتئوس نیز شبیه سازی شده است را دانلود کنید.

پروژه ساعت با AVR

 

 

 

کانال تلگرام ایده نگر