چشمک زن :
معمولاً برای آموزش الکترونیک و یا عامل جذب خیلی از افراد بدان مداری است بسیار ساده ولی در عین حال جذاب و زیبا ؛ چشمک زن به عنوان نقطه ی شروع مباحث الکترونیک به قدری پیش رفته است که جایش را در دنیای AVR نیز باز کرده است و به عنوان یک مدار ساده طرفدار فراوان دارد . در اینجا ما یک چشمک زن دو Led داریم .
تشریح برنامه:
قبل از هر کاری باید فرکانس مدار و نوع آی سی را برای BASCOM تعریف کنیم.آی سی ما ATMEGA8 و فرکانس کاری آن نیز 8 مگاهرتز می باشد که از اسیلاتور داخلی بهره می برد .
$regfile = "m8def.dat"
$crystal = 8000000
حال باید پورت B را پیکره بندی کرد که چون در اینجا برای خروجی به کار رفته و وظیفه تحریک LED ها را بر عهده دارد ما هم نیز آن را به صورت خروجی پیکره بندی می کنیم .
Config Portb = Output
چون این احتمال وجود دارد که حالت PIN های آی سی با تصور ما یکی نباشد برای جلوگیری از هر گونه اشتباه آنها را با نیاز خود منطبق می کنیم و آنها را باز نشانی می کنیم.
Reset Portb.0
Reset Portb.1
مقدار کمی به سخت افزار اجازه می دهیم تا خود را منطبق کند (در حدود 1000 میکرو ثانیه )
Delay
باید در این مرحله یکی از پین ها را تحریک کنیم تا در مراحل بعدی بتوانیم چشمک زن بودن آنها را ایجاد کنیم . بدین گونه که یا تحریک یکی از آنها و با معکوس سازی هر دو در مرحله بعدی یکی روشن و دیگری خاموش می باشد . در ضمن مقدار 500 میلی ثانیه نیز برنامه را متوقف می کنیم تا به هدف اصلی خود یعنی چشمک زدن برسیم .
Set Portb.0
Waitms 500
با ایجاد یک حلقه ی بینهایت و معکوس سازی همزمان هر دو پین حالت چشمک زن شروع و تا بینهایت ادامه می یابد . البته باز هم مدت زمان 500 میلی ثانیه صبر می کنیم .
Do
Toggle Portb.1
Toggle Portb.0
Waitms 500
Loop
End