پروژه سرود ای ایران با AVR

پروژه سرود ای ایران با AVR

سلام دوستان این یک پروژه از موزیک سرود ای ایران است که انشالله خوشتون بیاد …..

خانواده میکروکنترلر : AVR
نوع میکروکنترلر AVR : ATmega32
4 سال پیش
مجتبی محمدزاده بدون امتیاز
سلام milad17655 این سورس در اختیار شما و دوستان دیگر : $regfile = "M16def.dat" 'mojtaba mohamadzadeh .... $crystal = 1000000 Const Sil = 0 Const Sol1 = 1 Const Sol1_ = 2 Const La1 = 3 Const La1_ = 4 Const Si1 = 5 Const Do2 = 6 Const Do2_ = 7 Const Re2 = 8 Const Re2_ = 9 Const Mi2 = 10 Const Fa2 = 11 Const Fa2_ = 12 Const Sol2 = 13 Const Sol2_ = 14 Const La2 = 15 Const La2_ = 16 Const Si2 = 17 Const Do3 = 18 Const Do3_ = 19 Const Re3 = 20 Const Re3_ = 21 Const D1 = 1 Const D2 = 2 Const D3 = 3 Const D4 = 4 Const D6 = 6 Const D7 = 7 Const D8 = 8 Const D16 = 16 Const D32 = 32 Const End_of_table = 255 Dim Note_f As Bit Dim Duration As Byte Dim I As Word Dim J As Byte Dim Table_value As Byte Dim Ocr1a_temp As Word Speaker Alias Portb.0 Note_f = 0 I = 0 Config Pinb.0 = Output Config Timer0 = Timer , Prescale = 1024 , Clear Timer = 1 Config Timer1 = Timer , Prescale = 1 , Clear Timer = 1 Ocr0 = &H40 On Oc0 Timer0_compare_isr On Oc1a Timer1_comparea_isr Enable Oc0 Enable Oc1a Enable Interrupts Loop1: Table_value = Lookup(i , Note_table) If Table_value = End_of_table Then I = 0 Goto Loop1 End If If Table_value = Sil Then Goto Silent_play I = I + 1 Disable Interrupts Note_f = 1 Duration = Lookup(i , Note_table) I = I - 1 J = Lookup(i , Note_table) J = J - 1 Timer1 = 0 Ocr1a_temp = Lookup(j , Ocr1a_value_table) Ocr1a = Ocr1a_temp Enable Interrupts Do Loop Until Duration = 0 I = I + 2 Goto Loop1 Silent_play: Note_f = 0 I = I + 1 Duration = Lookup(i , Note_table) Do Loop Until Duration = 0 I = I + 1 Goto Loop1 Timer0_compare_isr: If Duration > 0 Then Duration = Duration - 1 Return Timer1_comparea_isr: If Note_f = 1 Then Toggle Speaker Return Note_table: Data Re2 , D4 , La2 , D1 , Sil , D1 , La2 , D1 , Sil , D1 , La2 , D4 , Re2 , D3 Data Sil , D1 , Re2 , D4 , La2 , D1 , Sil , D1 , La2 , D1 , Sil , D1 , La2 , D4 Data Re2 , D4 , La2 , D4 , La2_ , D2 , Do3 , D2 , La2 , D8 , Re3 , D2 , Do3 , D1 Data Sil , D1 , Do3 , D1 , Sil , D1 , La2_ , D1 , Sil , D1 , La2_ , D1 , Sil , D1 Data La2 , D1 , Sil , D1 , La2 , D1 , Sil , D1 , Sol2 , D2 , Fa2 , D4 , Sol2 , D2 Data Do3 , D2 , La2 , D8 , Re2 , D2 , Do2 , D2 , Re2 , D2 , Re2_ , D2 , Fa2 , D2 Data Re2_ , D2 , Fa2 , D2 , Sol2 , D2 , La2 , D2 , Do3 , D2 , La2_ , D2 , La2 , D2 Data Sol2 , D2 , Fa2 , D2 , Re2_ , D2 , Re2 , D2 , Do2 , D4 , Sol2 , D1 , Sil , D1 Data Sol2 , D1 , Sil , D1 , Sol2 , D4 , La2 , D4 , La2_ , D4 , La2 , D2 , Sol2 , D2 Data Fa2 , D4 , Sol2 , D4 , La2 , D4 , Sol2 , D2 , Fa2 , D2 , Re2_ , D4 , Fa2 , D4 Data Sol2 , D4 , Fa2 , D2 , Re2_ , D2 , Re2 , D8 , La2_ , D2 , La2 , D1 , Sil , D1 Data La2 , D1 , , Sil , D1 , Sol2 , D1 , Sil , D1 , Sol2 , D1 , Sil , D1 , Fa2 , D1 Data Sil , D1 , Fa2 , D1 , Sil , D1 , Re2_ , D2 , La2 , D2 , Sol2 , D1 , Sil , D1 Data Sol2 , D1 , Sil , D1 , Fa2 , D1 , Sil , D1 , Fa2 , D1 , Sil , D1 , Re2_ , D1 Data Sil , D1 , Re2_ , D1 , Sil , D1 , Re2 , D2 , Fa2 , D2 , Sil , D2 , Fa2 , D2 Data Sol2 , D2 , La2 , D8 , Re2 , D4 , La2 , D1 , Sil , D1 , La2 , D1 , Sil , D1 Data La2 , D4 , Re2 , D3 , Sil , D1 , Re2 , D4 , La2 , D1 , Sil , D1 , La2 , D1 Data Sil , D1 , La2 , D4 , Re2 , D4 , La2 , D4 , La2_ , D2 , Do3 , D2 , La2 , D8 Data Re3 , D2 , Do3 , D1 , Sil , D1 , Do3 , D1 , Sil , D1 , La2_ , D1 , Sil , D1 Data La2_ , D1 , Sil , D1 , La2 , D1 , Sil , D1 , La2 , D1 , Sil , D1 , Sol2 , D2 Data Fa2 , D4 , Sol2 , D2 , Do3 , D2 , La2 , D8 , Re2 , D2 , Do2 , D2 , Re2 , D2 Data Re2_ , D2 , Fa2 , D2 , Re2_ , D2 , Fa2 , D2 , Sol2 , D2 , La2 , D2 , Do3 , D2 Data La2_ , D2 , La2 , D2 , Sol2 , D2 , Fa2 , D2 , Re2_ , D2 , Re2 , D2 , Do2 , D4 Data Sol2 , D1 , Sil , D1 , Sol2 , D1 , Sil , D1 , Sol2 , D4 , La2 , D4 , La2_ , D4 Data La2 , D2 , Sol2 , D2 , Fa2 , D4 , Sol2 , D4 , La2 , D4 , Sol2 , D2 , Fa2 , D2 Data Re2_ , D4 , Fa2 , D4 , Sol2 , D4 , Fa2 , D2 , Re2_ , D2 , Re2 , D8 , La2_ , D2 Data La2 , D1 , Sil , D1 , La2 , D1 , Sil , D1 , Sol2 , D1 , Sil , D1 , Sol2 , D1 Data Sil , D1 , Fa2 , D1 , Sil , D1 , Fa2 , D1 , Sil , D1 , Re2_ , D2 , La2 , D2 Data Sol2 , D1 , Sil , D1 , Sol2 , D1 , Sil , D1 , Fa2 , D1 , Sil , D1 , Fa2 , D1 Data Sil , D1 , Re2_ , D1 , Sil , D1 , Re2_ , D1 , Sil , D1 , Re2 , D2 , Re2 , D4 Data Re2_ , D2 , Fa2 , D2 , Re2 , D6 , Sil , D2 , Re2 , D8 , La2 , D8 , Re2 , D8 Data La2 , D7 , Sil , D1 , La2 , D6 , La2_ , D2 , Do3 , D6 , La2_ , D2 , La2 , D8 Data Sil , D8 , Re3 , D8 , Do3 , D8 , La2_ , D8 , La2 , D8 , Sol2 , D6 , Fa2 , D2 Data Sol2 , D6 , Do3 , D2 , La2 , D8 , Sil , D8 , Re2 , D8 , La2_ , D8 , La2 , D8 Data Sol2 , D8 , Fa2 , D6 , Re2_ , D2 , Re2 , D6 , Re2_ , D2 , Do2 , D8 , Sil , D8 Data Fa2 , D8 , Re2_ , D8 , Re2 , D6 , Sol2 , D2 , Fa2 , D8 , Re2_ , D6 , Re2 , D2 Data Do2 , D6 , Re2_ , D2 , Re2 , D4 , La1 , D4 , La1_ , D4 , Do2 , D4 , Re2 , D4 Data Sol1 , D4 , Do2 , D4 , Sol1 , D4 , La1_ , D4 , Re2 , D4 , La1 , D4 , Re2 , D4 Data Sol1 , D4 , Re2 , D4 , La1 , D4 , Re2 , D4 , La1_ , D4 , Re2 , D4 , Do2 , D4 Data Re2 , D4 , Re3 , D32 , Do3 , D6 , Re3_ , D2 , Re3 , D6 , Do3 , D2 , La2_ , D6 Data Re3 , D2 , Do3 , D6 , La2_ , D2 , La2 , D6 , Do3 , D2 , La2_ , D6 , La2 , D2 Data Sol2 , D8 , Sil , D8 , Sol1 , D6 , La1 , D2 , La1_ , D6 , Do2 , D2 , Re2 , D6 Data Re2_ , D2 , Do2 , D6 , Re2 , D2 , Re2_ , D6 , Do2 , D2 , Re2 , D6 , Re2_ , D2 Data Re2 , D8 , Sil , D8 , Do3 , D8 , Si2 , D6 , Re3 , D2 , Do3 , D16 , La2_ , D6 Data La2 , D2 , Sol2 , D6 , La2_ , D2 , La2 , D16 , Do3 , D8 , Si2 , D6 , Re3 , D2 Data Do3 , D16 , La2_ , D6 , La2 , D2 , Sol2 , D6 , La2_ , D2 , La2 , D16 , Fa2 , D6 Data Re2_ , D2 , Fa2 , D6 , Sol2 , D2 , La2 , D16 , La2_ , D6 , La2 , D2 , Sol2 , D6 Data Fa2 , D2 , La2 , D6 , Sol2 , D2 , Fa2 , D6 , Re2_ , D2 , Sol2 , D6 , Fa2 , D2 Data Re2_ , D6 , Fa2 , D2 , Sol2 , D16 , La2 , D6 , Sol2 , D2 , Fa2 , D6 , Re2_ , D2 Data Sol2 , D6 , Fa2 , D2 , Re2_ , D6 , Re2 , D2 , Fa2 , D6 , Re2_ , D2 , Sol2 , D6 Data Re2_ , D2 , Re2 , D8 , Sil , D8 Data End_of_table Ocr1a_value_table: Data 1516% , 1431% , 1350% , 1275% , 1203% , 1135% , 1072% , 1011% , 955% , 901% Data 850% , 803% , 757% , 715% , 675% , 637% , 601% , 567% , 535% , 505% , 477%
4 سال پیش
milad17655 بدون امتیاز
یه سوال، کد این پروژه رو کی زده؟ خب بگیدش بده بقیه استفاده کنن
6 سال پیش
sayeh بدون امتیاز
عالیه ...آفرین
7 سال پیش
alielyas بدون امتیاز
سلام-دستتون واقعا درد نکنه خیلی جالب بود اگه امکانش هست توضیحات مربوط به اینکه بتونیم کدنویسی اونا انجام بدیم ارایه کنید-با تشکر فراوان
7 سال پیش
شسیشس شسیشسی بدون امتیاز
سلام پروژه جالب بودش منم یه پروژه درست کردم که ارگ دیجیتال بودش با wait و یه حلقه فرکانس اون نت رو درست می کرد اگه میشه سورسشو بزارید که تو پروژه هامون اولش این سرود پخش بشه مرسی
7 سال پیش
demahsa بدون امتیاز

مجتبی محمدزاده
سلام کامران جان خوبی معذرت که دیر میام تایپ میکنم هنوز درگیر امتحان و کنکور هستم معذرت electronicnarm2010 الان درست کردم

سلام پروژه ی بسیار خوبه ولی اگه ممکنه سورس برنامه رم بذارید تا همه استفاده کنن ممنون موفق باشید
7 سال پیش
مجتبی بدون امتیاز
سلام داداش مجتبی شما یعنی نشستی نت های موسیقی رو درست کردی ؟ کاش این روشت رو توضیح میدادی
7 سال پیش
احمد سیاحی بدون امتیاز
آقا ممنون از این پروژه جالب ولی کاشکی سورس رو میزاشتین که یه الگویی واسه برنامه نویسی هم باشه واسه بقیه
7 سال پیش
مجتبی محمدزاده بدون امتیاز
اقا کامران من نشستم خودم کوشتم این سورس درست کنم به نرم افزار ربطی نداره . اگه دوست داری میتونی wav player درست کنی راحت فایل هاصوتی به فرمت fat32 و 44 کیلوهرتز تبدیل میکنی بتونی به کار بندازی .... راست این دوستموم electronicnarm2010 توضیح میده من خودم یک فایل اماده که c# نوشته شده بود پیدا کرده بودم که باید حتما موزیک نباید از 2 ثانیه بیشتر باشه چون در atmega32 زیاد جا نمیگرفت تو پروتویس اجرا کردم ولی تن صدا خیلی قشنگ تولید نمیکرد ...... کار فلش اره .... شبیه اون انجام میداد با دستور تایمر 1 به pwm تبدیل میکرد و با دستور lookup میومد دیتا ها میخوند
7 سال پیش
کامران محمودزاده بدون امتیاز
7 سال پیش
مجتبی صاحبی واحد بدون امتیاز
من یک نرم افزار دارم که آهنگ رو تبدیل به کد می کنه اما حجمش خیلی بالا میشه مثلا یک آهنگ خیلی کوتاه به اندازه کل حافظه ی atmega32 جا میگیره wow2 جناب hesam_elc می دونم خوب به دست آوردن این چیزی که شما میگی باید بشینیم آهنگ بسازیم wow ولی روش هایی هست که میشه آهنگ رو تبدیل به یکسری کد کرد یا فرکانس هر قسمت رو دربیاری و توسط pwm اون رو پخش کرد این به دست آوردن فرکانسش کار یه مقدار سختی هست راستی منظور از دیتاشیت برای چی هست میکرو یا آهنگ wow میکرو که دیتاشیتش به درد ما نمی خوره آهنگ رو هم تا اونجا که می دونم کسی برای آهنگش دیتاشیت منتشر نمی کنه wow2
7 سال پیش
مجتبی محمدزاده بدون امتیاز
سلام کامران جان خوبی معذرت که دیر میام تایپ میکنم هنوز درگیر امتحان و کنکور هستم معذرت electronicnarm2010 الان درست کردم
7 سال پیش
حسام مغربی بدون امتیاز

مجتبی صاحبی واحد
با عرض سلام پروژه جالبی اما سرود ملی نیست ای ایرانه کاش سورسش هم میزاشتید شما نمی دونید چه جوری میشه یک آهنگ رو به نت هایی برای پخش روی میکرو تبدیل کرد

سلام دوست عزیز با تایمر و با ترکیب یک سری کد که یه سری فرکانس رو تولید میکنه . باید دیتاشیتش رو گیر بیاری ببین الگوریتمش چطوریه و بعد اون رو با تایمر بسازی مثلا ic mt7780 دیکدر تلفن اما وقتی دیتاشیتش رو دانلود میکنی میبینی میشه با ترکیب یکسری کد و الگوریتم و با استفاده از تایمر همین کار رو انجام داد !!!
7 سال پیش
bayerami بدون امتیاز
خیلی عالی بود حال کردم مررررررررررررسی
7 سال پیش
کامران محمودزاده بدون امتیاز
سلام اقا مجتبی گل ، خیلی وقت بود پست نزده بودید . خیلی این سرود رو دوست دارم دستت درد نکنه واقعا جالب بود os ای کاش سورس رو هم میذاشتید
7 سال پیش
مجتبی صاحبی واحد بدون امتیاز
با عرض سلام پروژه جالبی اما سرود ملی نیست ای ایرانه کاش سورسش هم میزاشتید شما نمی دونید چه جوری میشه یک آهنگ رو به نت هایی برای پخش روی میکرو تبدیل کرد

ارسال دیدگاه !

مهمان عزیز ، برای شرکت در بحث و گفتگو باید وارد حساب کاربری خودت بشی ، اگر حساب کاربری نداری ، کمتر از 2 دقیقه یه حساب ایجاد کن .

عضویت در خبرنامه

با عضویت در خبرنامه می توانید از جدیدترین مقالات، اخبار و محصولات سایت در ایمیل خود با خبر شوید...

به جمع 1,139 کاربر خبرنامه بپیوندید