در این شبیه سازی از وقفه خارجی INT0 در اردویینو U9 جهت شمارش استفاده شده است
دستور وقفه بفرم زیر است :
attachInterrupt(interrupt, ISR, mode);
interrupt : شماره وقفه ای که میخواین ازش استفاده کنید، دو تا وقفه داریم،
وقفه ۰ و ۱ (جدول بالا)
mode : توسط این قسمت نوع تحریک شدن وقفه
رو تعیین میکنیم، مثلا به ازای هر تغییر ولتاژی(CHANGE) وقفه
رخ بده یا وقتی ولتاژ ۰ منطقی هستش(LOW) یا
وقتی که ولتاژ ۱ منطقی هستش(HIGH) یا وقتی که از ۰
منطقی میریم به ۱ منطقی(RISING) و یا برعکس(FALLING)…..این کلمات پر رنگ رو بسته به نیازتون یکیشون و در
mode قرار بدید.
ISR : نام تابع وقفه، این نام اختیاری هستش،
فقط شما این نامی که این جا میدید رو باس یه تابع تعریف کنید با این نام و کد هایی
که دوس دارید در صورت تحریک شدن وقفه اجرا بشن رو توش قرار بدید.
لازم بذکر است که LCD در این مدار I2C بوده و شکل مداری آن بفرم زیر است :
از کد زیر می توان جهت پیدا کردن آدرس تجهیز i2c استفاده کرد :
/*I2C_scanner This sketch tests standard 7-bit addresses. Devices with higher bit address might not be
seen properly.*/ #include
<Wire.h> void
setup() { Wire.begin(); Serial.begin(9600); while (!Serial); Serial.println("\nI2C Scanner"); } void
loop() { byte error, address; int nDevices; Serial.println("Scanning..."); nDevices = 0; for (address = 1; address < 127; address++
) { Wire.beginTransmission(address); error = Wire.endTransmission(); if (error == 0) { Serial.print("I2C device found at
address 0x"); if (address < 16) Serial.print("0"); Serial.print(address, HEX); Serial.println(" !"); nDevices++; } else if (error == 4) { Serial.print("Unknown error at
address 0x"); if (address < 16) Serial.print("0"); Serial.println(address, HEX); } } if (nDevices == 0) Serial.println("No I2C devices
found\n"); else Serial.println("done\n"); delay(5000); }
شبیه سازی با نرم افزار PROTEUS & ARDUINO
قیمت 15000 ت
شمارنده های سنکرون توسط فلیپ فلاپ باید طراحی شوند لذا در این شبیه سازی علاوه بر فایل شبیه سازی یک فایل آموزشی تهیه شده که این مدار می تواند اعداد 0 الی 9 را شمارش کرده و این عمل را دوباره تکرار کند
مدار :
شبیه سازی با نرم افزار PROTEUS
بهمراه فایل آموزشی pdf
15000 ت
شمارنده های منطقی در دو مدل سنکرون و آسنکرون طراحی می شوند شمارنده های آسنکرون معمولا بصورت صعودی یا نزولی طراحی می شوند و در مواردی که قرار است یک سری عدد غیر ترتیبی نمایش داده شوند، شمارنده های سنکرون کارایی بالاتری دارند.
در این مدار یک شمارنده نزولی آسنکرون بهمراه 4 فلیپ فلاپ طراحی می شود که از عدد 8 الی 0 را شمارش می کند
مدار :
شبیه سازی با نرم افزار PROTEUS
هزینه شبیه سازی 15000 ت
همانگونه که می دانید توسط فلیپ فلاپ ها می توان انواع شمارنده را طراحی کرد شمارنده ها معمولا بصورت نزولی یا صعودی کار میکنند بمنظور نمایش اعداد 0 الی 9 بر روی 7segment باید از 4 فلیپ فلاپ استفاده کرد
شمارنده ها در دو مدل سنکرون و آسنکرون کار کرده و می توان آنها را بصورت ترتیبی regular و یا غیر ترتیبی irregular استفاده کرد
شماره دانشجویی از مدل irregular بوده ضمن اینکه تکرار اعداد نیز در آن مشهود می باشدبرای اینکه از تکراری بودن اعداد جلوگیری کنیم می بایست یک یا دو بیت به اعداد اضافه کرد یعنی با 5 یا 6 فلیپ فلاپ کار می کند
در این پروژه با استفاده از 6 فلیپ فلاپ می توان شماره دانشجویی تا 4 تکرار در یک عدد خاص را شبیه سازی نمود
مدار بهمراه پاسخ:
شبیه سازی با نرم افزار PROTEUS
هزینه شبیه سازی 45000 ت . فایل آموزشی PDF بمبلغ 20000 ت
هزینه شبیه سازی برای شماره دانشجویی خاص : 85000 ت