طراحی پروژه با میکرو کنترلرهای avr pic 8051 arm و fpga بر اساس زبانهای بسکام کدویژن vrilog vhdl
پروژه ها
- توضیحات
- نوشته شده توسط مهدی احمدی ;-)
- دسته: با نمایشگر 7سگمنت
- بازدید: 20782
seven segment یا 7segment در اصطلاح این واژه یعنی هفت بخش ،قطعه ای الکترونیکی است که از 7 ال ای دی تشکیل شده است و در خيلي از وسايل الكترونيكي از جمله مايكرويو و ماشین لباسشویی و... وجود دارد. از مزیت های این وسیله می توان به قابلیت دید از فواصل بسیار دور و قیمت بسیار پایین نسبت به ال سی دی کارکتری اشاره کرد. دو نوع هفت سگمنت داریم نوع اول آند مشترک :که در این نوع آند(مثبت) تمامی دیود ها به هم متصل شده است نوع دوم کاتد مشترک:در این نوع کاتد (منفی) تمامی دیود ها به هم متصل شده است. در این پروژه که به زبان vhdl نوشته شده است یک عدد دو رقمی با استفاده از سون سگمنت نمایش داده میشود بدون شک میدانید که برای نمایش اعداد روی سون سگمنت وقتی عدد از 9 بیشتر باشد باید عدد را به bcd تبدیل کنیم و با این تکنیک عدد را در رو بخش مختلف نمایش دهیم.در میکرو ها برای جدا کردن دو بخش یک عدد دو رقمی از یه سلسله عملیات تقسیم بر 10 و ذخیره در دو متغیر مختلف استفاده میکردیم.اما در vhdl و پیاده سازی سخت افزاری به هیچ وجه این روش بهینه نیست و راه حل بهتری وجود دارد که آن هم مقایسه عدد با 10 میباشد و در صورتی که عدد از 10 بیشتر بود آنرا با 6 جمع میکنیم و عدد حاصل مقدار bcd خواهد بود.برای مثال میخواهیم عدد 12 را روی سون سگمنت دوتایی نمایش دهیم بدون برای این کار باید روی سون سگمنت اول عدد 2 و روی دومی عدد 1 را نمایش دهیم و حاصل بشود 12 ولی اگر به فرم باینری 12 توجه کنیم خواهیم داشت 1100 که که هیچ شباهتی به 2 و 1 ندارد ولی اگر همین 12 را با 6 جمع کنیم میشود 18 که شکل باینری آن 00010010 است که 4 بیت اول 2 و 4 بیت بعد 1 است و میتوان به راحتی این دو مقدار را به 7 سگمنت ارسال کرد.حال برای اعداد بزرگتر از 20 نیز همین قانون بر قرار است یعنی اگر عدد از 20 بزرگتر بود باید دو بار با 6 جمع کنیم و اگر بزرگتر از 30 بود 3 بار...
- توضیحات
- نوشته شده توسط مهدی احمدی ;-)
- دسته: #C/C++
- بازدید: 4567
در فایل زیر برای تمرین به چند سوال برنامه نویسی به زبان C به شرح زیر پاسخ داده ایم:1-برنامه ای بنویسید که 20 عدد بزرگ 40 رقمی را از وردی گرفته و آنها را صعودی مرتب نماید.2-برنامه ای بنویسید که دو عدد را بدون این که عملیات ضرب یا جمع استفاده نماید یک بار ضرب و یک بار تقسیم نمیاد.3-برنامه ای بنویسید که 20 عدد بزرگ 40 رقمی را از وردی گرفته و آنها را جمع و میانگین بگیرد.4-برنامه ای بنویسید که عددی 60 رقمی را بگیرد و فاکتوریل آنرا حساب نماید.
- توضیحات
- نوشته شده توسط مهدی احمدی ;-)
- دسته: اسمبلی
- بازدید: 8379
مجموعه ی زیر شمال 150 برنامه نوشته شده به زبان اسمبلی میباشد که میتواند شما را در ساخت پروژه های اسمبلی یاری کند. این مجموعه شامل برنامه هایی مانند: ماشین حساب : calculator اعداد : Numluck ارسال فایل : Send File ایجاد پوشه و دایرکتوری: Creating Directory حذف فایل : Deleting File تغییر نام فایل : Remaning file شطرنج : Chess رمز گذاری روی فایل : Cryptit صفحه کلید : Keyboard اسلایدر : Slider اضافه کردن کاراکتر : ADDCHAR
- توضیحات
- نوشته شده توسط مهدی احمدی ;-)
- دسته: جالب انگیز
- بازدید: 6823
در اینجا سه مدل Wave Player قرار داده ایم که یکی به زبان C و دوتای دیگر به زبان بیسیک هستند.در واقع فایلهای Wave فایلهای صوتی هستند که بدون هیچ گومه کد بندی در حافظه ذخیره میشوند و ما برای آشکار سازی این مدل فایلها فقط کافی است که 8 بیت موجود در حافطه را واکشی و آنرا بر روی یک بلند گو آشکار نماییم که برای آشکار سازی فقط کافی است که این 8 بیت را به یک مبدل دیجیتال به آنالوگ بدهیم.در میکروهای AVR میتوانیم این 8 بیت را به یک پورت بدهیم و با یک مبدل دیجیتال به آنالوگ مقاومتی ساده و با توجه به بیت ریت ضبط شده صدا را بر روی یک بلندگو آشکار نماییم.بر همین اساس باید صدا را به صورت 8 بیتی و در حالت مونو و با بیت ریت 22 کیلو (۲۲٫۰۵۰KHz- 8bit- Mono) ذخیره نماییم.