پروژه میکروکنترل - سرود ای ایران - سرزمین الکترونیک
FREE

 

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

 

 

[membersonly]

 

اگر این مطلب مورد پسند شماست برای حمایت از سایت و

تامین هزینه های سرور روی تبلیغات  (سمت راست) کلیک کنید .

هر چند تبلیغاتی که گذاشتم بسیار آزار دهنده هستند ولی برای بقا و ادامه فعالیت سایت مجبور شدم انها را در سایت قرار دهم

اگر تبلیغات جواب دهند سرور رو ارتقا خواهیم داد تا بتوانیم نرم افزار هایی با حجم بالا را نیز در سایت قرار دهیم

دوستان لطفا برای پیدا کردن نقاط قوت و ضعف مطالب به مطالب امتیاز دهید (از ستاره های بالای پست استفاده کنید)

و اگر پیشنهادی یا انتقادی دارید در بخش نظرات مطرح کنید . با تشکر

منبع :مجتبی محمدزاده

[/membersonly]

مهندس طراح و تولیدی لوازم الکترونیک خانگی در استان مازندران - شهرستان تنکابن -plc- bascom- codvision- solidworks- تحقیق بررسی پروژه دوست دارم

20 دیدگاه برای این مطلب ثبت شده است

بدون امتیاز
۱۳۹۴/۱۱/۲۵
mojtaba

سلام 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%

۱۳۹۴/۱۱/۰۸
milad17655

یه سوال، کد این پروژه رو کی زده؟
خب بگیدش بده بقیه استفاده کنن

عالیه …آفرین

۱۳۹۲/۰۶/۲۸
alielyas

سلام-دستتون واقعا درد نکنه خیلی جالب بود

اگه امکانش هست توضیحات مربوط به اینکه بتونیم کدنویسی اونا انجام بدیم ارایه کنید-با تشکر فراوان

۱۳۹۲/۰۴/۰۶
silenshot

سلام پروژه جالب بودش

منم یه پروژه درست کردم که ارگ دیجیتال بودش با wait و یه حلقه فرکانس اون نت رو درست می کرد

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

۱۳۹۱/۱۰/۲۹
مجتبی

سلام داداش مجتبی شما یعنی نشستی نت های موسیقی رو درست کردی ؟
کاش این روشت رو توضیح میدادی

۱۳۹۱/۱۰/۲۸
Ahmad Sayahi

آقا ممنون از این پروژه جالب
ولی کاشکی سورس رو میزاشتین که یه الگویی واسه برنامه نویسی هم باشه واسه بقیه

بدون امتیاز
۱۳۹۱/۱۰/۲۸
sogolam

اقا کامران من نشستم خودم کوشتم این سورس درست کنم به نرم افزار ربطی نداره . اگه دوست داری میتونی wav player درست کنی
راحت فایل هاصوتی به فرمت
fat32 و 44 کیلوهرتز تبدیل میکنی
بتونی به کار بندازی ….
راست این دوستموم electronicnarm2010 توضیح میده
من خودم یک فایل اماده که c# نوشته شده بود پیدا کرده بودم که باید حتما موزیک نباید از 2 ثانیه بیشتر باشه چون در atmega32 زیاد جا نمیگرفت
تو پروتویس اجرا کردم ولی تن صدا خیلی قشنگ تولید نمیکرد ……
کار فلش اره …. شبیه اون انجام میداد با دستور تایمر 1 به pwm تبدیل میکرد
و با دستور lookup میومد دیتا ها میخوند

    درسته مجتبی جان زحمت کشیدی برای نوشتن این اهنگ . ولی میشه فقط یک مثال برام بزنی تا بیشتر جا بیفته( با بسکام) ممنون

۱۳۹۱/۱۰/۲۸
electronicnarm2010

من یک نرم افزار دارم که آهنگ رو تبدیل به کد می کنه اما حجمش خیلی بالا میشه مثلا یک آهنگ خیلی کوتاه به اندازه کل حافظه ی atmega32 جا میگیره wow2
جناب hesam_elc می دونم خوب به دست آوردن این چیزی که شما میگی باید بشینیم آهنگ بسازیم wow ولی روش هایی هست که میشه آهنگ رو تبدیل به یکسری کد کرد یا فرکانس هر قسمت رو دربیاری و توسط pwm اون رو پخش کرد
این به دست آوردن فرکانسش کار یه مقدار سختی هست راستی منظور از دیتاشیت برای چی هست میکرو یا آهنگ wow میکرو که دیتاشیتش به درد ما نمی خوره آهنگ رو هم تا اونجا که می دونم کسی برای آهنگش دیتاشیت منتشر نمی کنه wow2

    اقا مجتبی حالت چطوره . راستی اون نرم افزار چند مگه میشه برام بفرستی . نمیشه یک حافظه جانبی به میکرو وصل کنیم و اطلاعات اهنگ رو از اون فراخانی کنیم ؟ یعنی همون کار فلش میکرو رو انجام بده

بدون امتیاز
۱۳۹۱/۱۰/۲۸
sogolam

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

معذرت electronicnarm2010 الان درست کردم

۱۳۹۱/۱۰/۲۸
bayerami

خیلی عالی بود حال کردم مررررررررررررسی

سلام اقا مجتبی گل ، خیلی وقت بود پست نزده بودید . خیلی این سرود رو دوست دارم دستت درد نکنه واقعا جالب بود os ای کاش سورس رو هم میذاشتید

۱۳۹۱/۱۰/۲۷
electronicnarm2010

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

    ۱۳۹۱/۱۰/۲۸
    hesam_elc

    سلام دوست عزیز

    با تایمر و با ترکیب یک سری کد که یه سری فرکانس رو تولید میکنه .

    باید دیتاشیتش رو گیر بیاری ببین الگوریتمش چطوریه و بعد اون رو با تایمر بسازی

    مثلا ic mt7780 دیکدر تلفن اما وقتی دیتاشیتش رو دانلود میکنی میبینی میشه با ترکیب یکسری کد و الگوریتم و با استفاده از تایمر همین کار رو انجام داد !!!

دیدگاه شما درباره این مطلب

مطالب سایت