شما اینجائید >> سایت دانشجویان مهندسی برق » مقالات » آموزشی » ارتباط mmc و micro SD با avr در bascom .(جلسه سوم)

ارتباط mmc و micro SD با avr در bascom .(جلسه سوم)

 

با سلام.

 

جلسه سوم آموزش آماده شده که برای دانلود برای شما دوستان قرار داده میشه . فرمت فایل pdf هست .

در این جلسه علاوه بر کار با پوشه ها و ایجاد پاک کردن پوشه نکاتی در مورد دستور open  و مدهای مختلف آن بیان شده است .

در این جلسه با توجه به درخواست دوستان اتصال رم micro SD  به AVR  هم آموزش داده شده و نکاتی هم برای دوستانی بیان شده که هنگام کار با برنامه ها میکروشون قفل کرده و دیگه پروگرم نمیشه .

 


 

نمایش عکس از mmc روی glcd:

دوستانی ایمیل زده بودند که  : آیا میشه فایل عکس با فرمت bgf رو در رم ذخیره کرد و بعد توسط میکرو روی lcd گرافیکی نمایش داد ؟ باید بگیم که توابع مربوط به نمایش عکس روی glcd نمی توانند عکس ذخیره شده داخل mmc رو نمایش بدهند . برای نمایش عکس روی glcd باید از توابع جدیدی که خودمون می نویسیم استفاده کنیم و فایل عکس رو هم در mmc  ذخیره کنیم . البته بدون شک فرمت فایل باید bmp  باشه تا سرعت avr جواب بده .

انجام این پروژه نیاز به وقت زیادی داره و در حال حاضر برای ما ممکن نیست .

 

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

 


 

و اما از لینک زیر می تونید آموزش جلسه سوم رو دانلود کنید .

 

یا حق.

 

 


لينک دانلود : لينک مستقيم   | تعداد دانلود : 2250
حجم فايل : 1.09 مگابايت
پسورد فايل در صورت نياز : www.iseee.ir
منبع : سایت دانشجویان مهندسی برق و الکترونیک ایران|iseee

نسخه ی قابل چاپ
نویسنده: hp_mahmood بازدیدها: 1643 نظرات: 22
13/06/1390 - 12:30
نام کامل: --
تاریخ عضویت: --
محل سکونت: --
آیدی یاهو: --

ahad

گروه کاربری: ميهمان | تعداد مطالب: 0 | تعداد نظرات: 0

سلام واقعا ممنون از بابت آموزش ها
یه سوال داشتم وقتی اسم فایل ها رو با دستور Dir() دریافت میکنیم هر بار که این دستور رو میفرستیم اسم فایل بعدی رو برمیگردونه سوالم اینجاست که اگه بخوام اسم فایل قبلی رو دریافت کنم چی کار باید کرد.
یه سوال دیگه هم داشتم اگه بخوایم تو یه فایل txt موجود تو رم به وسط اطلاعاتش چیزی اضافه کنیم چیکار باید کرد
ممنون
19/06/1390 - 23:16
نام کامل: --
تاریخ عضویت: 8/01/1390
محل سکونت: --
آیدی یاهو: --

hp_mahmood

گروه کاربری: مدير کل | تعداد مطالب: 11 | تعداد نظرات: 65

ahad,
سلام واقعا ممنون از بابت آموزش ها
یه سوال داشتم وقتی اسم فایل ها رو با دستور Dir() دریافت میکنیم هر بار که این دستور رو میفرستیم اسم فایل بعدی رو برمیگردونه سوالم اینجاست که اگه بخوام اسم فایل قبلی رو دریافت کنم چی کار باید کرد.
یه سوال دیگه هم داشتم اگه بخوایم تو یه فایل txt موجود تو رم به وسط اطلاعاتش چیزی اضافه کنیم چیکار باید کرد
ممنون


سلام دوست عزیز .
در مورد دستور dir باید بگم این دستور فقط پشت سر هم نام فایلهای موجود رو بر میگردونه . این دستور جدول fat رو جستجو می کنه و بنا بر این دارای سرعت خیلی خوبیه . شما می تونید یک کانتر برای تعداد فایلها در نظر گرفته و در صورت لزوم برای دستریس به نام فایل قبلی دوباره از دستور dir استفاده کنید و این بار به تعداد یکی کمتر از کانتر این دستور رو تکرار کنید .
من در یک پروژه که شبیه کامپایلر عمل میکرد مجبور بودم موجود بودن فایلهای رو در mmc تست کنم و بعد عملیاتی روی اونها انجام بدم . در این پروژه من در هر ثانیه چندین بار mmc رو جستجو میکردم و این برنامه بدون هیچ مشکلی کار میکرد .

در مورد سوال دوم باید بگم که دستوری به این شکل که متنی رو به وسط یک فایل text اضافه کنه وجود نداره یا من اطلاع ندارم . در کامپیوتر هم این کار به وسیله لود شدن فایل در رم و ذخیریه مجدد انجام میشه . شما می تونید با mega128 هم زمان دو تا فایل رو باز کنید و در این صورت می توانید از یک فایل کپی و در فایل دیگر ذخیره کنید و در زمان کپی کردن فایل متن مورد نظر را به فایل اضافه کنید .
البته شاید با تغییر آدرس هنگام باز کردن فایل هم بتوان این کار را انجام داد ولی در آن صورت احتمالا قسمتی از فایل از بین خواهد رفت .

ببخشید که دیر جواب دادم .
یا علی
1/07/1390 - 16:01
نام کامل: --
تاریخ عضویت: --
محل سکونت: --
آیدی یاهو: --

afshin

گروه کاربری: ميهمان | تعداد مطالب: 0 | تعداد نظرات: 0

آقا دمت گرم خیلی گلی
10/07/1390 - 13:17
نام کامل: --
تاریخ عضویت: --
محل سکونت: --
آیدی یاهو: --

شایان

گروه کاربری: ميهمان | تعداد مطالب: 0 | تعداد نظرات: 0

سلام
مطالب بسیار عالی و آموزنده بود و من منتظر قسمت های بعدی هستم .
از شما ممنونم و از همین جا بهتون خسته نباشید میگم .
24/07/1390 - 12:15
نام کامل: --
تاریخ عضویت: --
محل سکونت: --
آیدی یاهو: --

wiki

گروه کاربری: ميهمان | تعداد مطالب: 0 | تعداد نظرات: 0

ممنون از اين همه اموزشهاي خوب وعاليتون.
دوست عزيز ميشه بگيد چجوري بتونيم يه فايل با فرمت عكس bmp را از كارت بخونيم؟
27/07/1390 - 12:45
نام کامل: --
تاریخ عضویت: --
محل سکونت: --
آیدی یاهو: --

شایان

گروه کاربری: ميهمان | تعداد مطالب: 0 | تعداد نظرات: 0

سلام
مطلب بعدی mmc اگه اشتباه نکنم آموزش کار با فایل های صوتی ممنون میشم اگه در مرد رکورد فایل صوتی با فرمت mp3 یا wma نیز مطلبی ارائه کنید . البته اگه مطلب زبان اصلی نیز باشه مشکلی نداره . ممنون از زحماتتون .
27/07/1390 - 12:53
نام کامل: --
تاریخ عضویت: --
محل سکونت: --
آیدی یاهو: --

شایان

گروه کاربری: ميهمان | تعداد مطالب: 0 | تعداد نظرات: 0

سلام
مطلب بعدی mmc اگه اشتباه نکنم آموزش کار با فایل های صوتی ممنون میشم اگه در مرد رکورد فایل صوتی با فرمت mp3 یا wma نیز مطلبی ارائه کنید . البته اگه مطلب زبان اصلی نیز باشه مشکلی نداره . ممنون از زحماتتون .
27/07/1390 - 12:53
نام کامل: --
تاریخ عضویت: --
محل سکونت: --
آیدی یاهو: --

شایان

گروه کاربری: ميهمان | تعداد مطالب: 0 | تعداد نظرات: 0

سلام
مطلب بعدی mmc اگه اشتباه نکنم آموزش کار با فایل های صوتی ممنون میشم اگه در مرد رکورد فایل صوتی با فرمت mp3 یا wma نیز مطلبی ارائه کنید . البته اگه مطلب زبان اصلی نیز باشه مشکلی نداره . ممنون از زحماتتون .
12/08/1390 - 22:12
نام کامل: --
تاریخ عضویت: 8/01/1390
محل سکونت: --
آیدی یاهو: --

hp_mahmood

گروه کاربری: مدير کل | تعداد مطالب: 11 | تعداد نظرات: 65

شایان,

سلام.
شرمنده که دیر جواب میدم .

در آموزش بعد قراره صدا با فرمت wave رو از روی mmc پخش کنیم.
این کار راحته و با خواندن یک سکتور یا 512 بایت از mmc و اریال بایت به بایت آن به pwm با فاصله زمانی تقریبا 15 میکرو ثانیه ادامه پیدا میکنه .
به خاطر مشغله کاری نتونستم اماده کنم و در اولین فرصت آماده و برای شما دوستان آپلود خواهد شد .

در مورد ذخیره صدا باید بگم avr با توجه به محدودیت سرعت پردازش نمیتونه فایل رو به صورت mp3 یا wma کد کنه . و فقط ذخیره مستقیم فایل مانند فایل wave ممکن هست .
برای این کار یک مدار با میکروفن رو به مبدل adc متصل کرده و سپس اعداد خوانده شده رو در یک فایل در mmc ذخیره می کنیم . این پروژه هم در سایت قرار خواهد گرفت ( انشا الله)
6/09/1390 - 09:31
نام کامل: --
تاریخ عضویت: --
محل سکونت: --
آیدی یاهو: --

رضا

گروه کاربری: ميهمان | تعداد مطالب: 0 | تعداد نظرات: 0

سلام. خواهش ميكنم پروژه پخش صوت از روي مموري رو بزارين. واقعا خيلي بهش نياز دارم.من ميخام روي ترك ها كنترل داشته باشم. همچنين روي استپ و پلي
17/09/1390 - 15:20
نام کامل: --
تاریخ عضویت: --
محل سکونت: --
آیدی یاهو: --

سهیل

گروه کاربری: ميهمان | تعداد مطالب: 0 | تعداد نظرات: 0

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

بی شک بهترین و کاملترین آموزش mmc همینه . بی صبرانه منتظر شماره 4 و بعدی هاش هستیم . با تشکر . (لطفا همه کاراتون را بگذارید کنار و آموزش را کامل کنید .)

فقط سعی کنید هرچی واسه کار با mmc با بسکام هست را بگید .

فقط خواهشا راهای اینکه سریع تر بشه از mmc خون را بگید . من میخوام از روش فایل متنی واسه تابلو روان استفاده کنم . شنیدم اگر از spi استفاده کنم سرعت mmc حتی از eeprom هم بیشتره .
با تشکر از سایت خودتون .
17/09/1390 - 23:10
نام کامل: --
تاریخ عضویت: 8/01/1390
محل سکونت: --
آیدی یاهو: --

hp_mahmood

گروه کاربری: مدير کل | تعداد مطالب: 11 | تعداد نظرات: 65

سلام .

به خاطر مشغله درسی برای کنکور نتونستم ادامه آموزش رو آماده کنم .

تا اینجا تقریبا گفتنی ها گفته شده و ادامه کار چند پروژه خواهد بود .
شما با استفاده از spi سخت افزاری میتونید سعت بالایی رو داشته باشید .

در اولین فرصت ادامه آموزش برای شما عزیزان آماده خواهیم کرد .
24/09/1390 - 01:11
نام کامل: --
تاریخ عضویت: 8/01/1390
محل سکونت: --
آیدی یاهو: --

hp_mahmood

گروه کاربری: مدير کل | تعداد مطالب: 11 | تعداد نظرات: 65

به خاطر مشغله درسی برای کنکور نتونستم ادامه آموزش رو آماده کنم .

دوستانی که می خوان فایل صوتی پخش کنند با avr باید بدونن که فقط با سرعت پایین این میکرو فایل wav میشه پخش کرد . روش هم خیلی ساده هست . ابتدا فایل رو باز می کنید در مود input بعد 512 بایت خونده و در یک متغییر ذخیره کرده و بعد هر بایت رو به فاصله تقریبی 15 میکرو ثانیه به pwm ارسال می کنید .
pwm یباید درمود 8 بیت باشه .
خروجی رو با یک ic مثل tda2822 تقویت کنید .
کار ساده هست و شماتیک مدار تقویت کننده در دیتا شیت آی سی موجود است .

اگه خروجی تقویت نشه با هندز فری میشه گوش داد و تست کرد . اگه دیدید صدا خیلی سریع یا کنده زمان بین ارسال هر بایت رو تغییر بدید .
بعد از تمام شدن 512 بایت یک بایت جدید از فایل رو بخونید و داخل متغییر ذخیره
کنید .

برای سرعت بیشتر میکرو رو در حالت spi سخت افزاری راه اندازی کنید .



28/09/1390 - 19:45
نام کامل: --
تاریخ عضویت: --
محل سکونت: --
آیدی یاهو: --

داوود

گروه کاربری: ميهمان | تعداد مطالب: 0 | تعداد نظرات: 0

سلام
من برنامه ویو پلیر نوشتم به صورت زیر:
Dim D(512) As Byte
Dim Address As Long
Dim X As Long
Address = 1

Open "113.wav" For Binary As #3
Do

Get #3 , D(1) , Address , 512

Address = Address + 512

For X = 1 To 512
Pwm1a = D(x)
Waitus 29
Next

Loop Until Eof(#3 ) <> 0

Close #3
دو مشکل که بهش برخوردم این بود که:
1. صدا با کیفیتی پایینی پخش میشد و با تغییر زمان تاخیر فقط زیر و بم صدا عوض میشد وکیفیت پخش تغییری نمیکرد!
2. آی سی هایی که برنامه داخلشون پروگرم کردم دیگه به وسیله پروگرمر شناخته نمیشوند و الان چندتا اتمگ 32 دارم که نمیتونم پرو گرمشون کنم چکار میشه کرد؟
29/09/1390 - 11:21
نام کامل: --
تاریخ عضویت: 8/01/1390
محل سکونت: --
آیدی یاهو: --

hp_mahmood

گروه کاربری: مدير کل | تعداد مطالب: 11 | تعداد نظرات: 65

سلام.

یک مقدار از کیفیت پایین به علت سرعت پایین avr است .

اولا فایل صوتی باید دارای فرمت wav 8 بیت و مونو باشه و avr بهتره در حالت spi سخت افزاری کار کنه
شما می تونید به جای 512 بایت از 1024 بایت برای ذخیره داده قبل از پخش استفاده کنید که کمی تاثیر در کیفیت دارد .

از کریستال 16 استفاده کنید .

برای پروگرم کردن من از پروگرم usb دست ساز استفاده می کنم و برام این مشکل پیش اومده . علت مشکل استفاده میکرو از پرت سریال هست که باعث میشه پروگرمر درست کار نکنه .

راه حل پیشنهادی:
با یک سیم پایه ریست رو به زمین وصل کنید و هم زمان با فشردن کلید erase پایه ریست رو از زمین قطع کنید . چند بار این کار رو انجام بدید تا دقیقا هم زمان با ریست شدن avr پروگرمر عمل erase رو انجام بده .
من با این کار تونستم میکرو ها رو دوباره راه بندازم .

برای اینکه این مشکل کمتر پیش بیاد در ابتدای برنامه یک wait یک ثانیه قرار بدید .
تا بعد از این اگر این مشکل پیش اومد با روش بالا راحت تر میکرو پاک بشه .

یا حق
1/11/1390 - 11:01
نام کامل: --
تاریخ عضویت: --
محل سکونت: --
آیدی یاهو: --

داوود

گروه کاربری: ميهمان | تعداد مطالب: 0 | تعداد نظرات: 0

سلام
من کارهایی را که گفتید انجام دادم
از اتمگ 128 استفاده کردم
ولی صدا کمی لرزش دارد
من صدای قرائت قرآن را میخواهم پخش کنم که صدای قاری با لرزش شنیده می شود که از کیفیت کار میکاهد.
راه حلی برای این موضوع ندارید؟
مثلا در خروجی PWM فیلتری قرار داد یا آی سی تبدیل دیجیتال به آنالوگ؟
اگر میشود لطفا آی سی و یا مدار فیلتر را برام بفرستید ممنون میشم.
یا علی
2/11/1390 - 01:35
نام کامل: --
تاریخ عضویت: 8/01/1390
محل سکونت: --
آیدی یاهو: --

hp_mahmood

گروه کاربری: مدير کل | تعداد مطالب: 11 | تعداد نظرات: 65

داوود,

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

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

شاید اگر به جای pwm از یک ic دیجیتال به آنالوگ استفاده کنید کیفیت کمی بهتر شود .

ولی نباید انتظار داشت که مثل یک mp3 پلیر کیفیت داشته باشد . چون خود صدا با فرمت wav و اون هم مونو 8 بیت نمی تواند کیفیت زیادی داشته باشد حتی اگر avr از پخش آن بر آید . میت وانید از ic های پلیر استفاده کنید که می توانند mp3 را دی کود کنند .

این پروژه می تواند در جایی استفاده شود که مهم کیفیت نیست و فقط لازم است پیام خاصی به صورت صوتی اعلام شود .

یا علی
5/11/1390 - 16:40
نام کامل: --
تاریخ عضویت: --
محل سکونت: --
آیدی یاهو: --

داوود

گروه کاربری: ميهمان | تعداد مطالب: 0 | تعداد نظرات: 0

سلام دوست عزیز
ممنونم از راهنمای هایتان
یک مقدار در مورد آی سی های دی کود کننده MP3 بیشتر توضیح میدهید؟
شماره آی سی آن؟
و چگونگی کارکردشون؟
آیا به میکرو احتیاج دارند؟
من میخواهم از این پروژه در یک عروسک سخنگو استفاده کنم!
6/11/1390 - 01:24
نام کامل: --
تاریخ عضویت: 8/01/1390
محل سکونت: --
آیدی یاهو: --

hp_mahmood

گروه کاربری: مدير کل | تعداد مطالب: 11 | تعداد نظرات: 65

داوود,

سلام

ic های سری vs10xx و به عنوان مثال vs1003 که قیمت حدود 5000 تومان داره .
و بهتر از اون vs1011 که کار کردن باهاش ساده تره .
اگه دیتا شیت رو مطالعه کنید می فهمید چی به چیه .
پروژه های زیادی هم تو سایتها می تونید پیدا کنید .
این ic با دریافت اطلاعات دیجیتالی که میکرو از mmc می خونه اونها رو دیکود میکنه و در خروجی قرار میده . شما باید دیتا رو از روی mmc بخونی و به این ic ارسال کنی . این ic بقیه کار رو انجام میده .

پروژه هایی که دیدم با mega8 بودن . ولی من فک کنم بهتره از mega32 استفاده بشه .

یا علی
15/01/1391 - 19:04
نام کامل: --
تاریخ عضویت: --
محل سکونت: --
آیدی یاهو: --

رضا

گروه کاربری: ميهمان | تعداد مطالب: 0 | تعداد نظرات: 0

سلام به اقا داوود و اقایمدیر کل
منم مثه داوود جان همچین پروژه ای لازم دارم و کیفیتش هم میخام بالا باشه . لطفا اکه به نتایج سازنده ای رسیدید به منم کمک کنید بسیار متشکرم ازتون chaji2011@gmail.com
21/01/1391 - 12:15
نام کامل: --
تاریخ عضویت: --
محل سکونت: --
آیدی یاهو: --

احسان

گروه کاربری: ميهمان | تعداد مطالب: 0 | تعداد نظرات: 0

سلام
با تشکر از آموزش های خوبی که در اختیار ما گذاشتین ، چند تا سوال داشتم که ممنون میشم اگه بهش پاسخ بدین .
من اون برنامه ای رو که تو آموزش شماره 2 بود ، با پروتئوس اجرا کردم و درست عمل کرد . ولی برای اجرا درست برنامه تو پروتئوس باید یک فایل با پسوند زیپ رو توی mmc قرار میدادیم . اگه این کار رو انجام ندم بعد از دادن ورژن کتابخونه و تشخیص قرار گرفتن mmc پیام system is not supported رو میده . میخوام بدونم که اون فایل چیه ؟
سوال بعدی من اینه که زمانی که سخت افزارش رو میبندم هر کار میکنم بازم تو قسمت چک کردن mmc همون پیام system is not supported رو میده و بعد دیگه تو قسمت اندازه گیری حجم mmc میمونه و دیگه کار نمیکنه .
اگه ممکنه کمکم کنید . ممنون
22/01/1391 - 01:17
نام کامل: --
تاریخ عضویت: 8/01/1390
محل سکونت: --
آیدی یاهو: --

hp_mahmood

گروه کاربری: مدير کل | تعداد مطالب: 11 | تعداد نظرات: 65

احسان,

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

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

می تونید به صورتهای مختلف کارت رو فرمت کنید تا ببینید در کدام حالت میکرو کارت رو میشناسه .

ممکن هست مشکل سخت افزاری و اتصال نیز داشته باشید .
سیم mmc نباید طولانی باشه . شاید بیش از 5 سانت ایجاد مشکل کنه.

یا علی

فرم ارسال نظر

نام:*
ایمیل:*
 
دو کلمه نمایش داده شده در تصویر را وارد کنید: *

آمار

آمار مطالب یک ساعت پیش: 0
امروز: 0
این ماه: 1
کل: 42
کل نظرات: 243
آمار کاربران یک ساعت پیش: 0
امروز: 0
این ماه: 19
کل: 188
بن شدگان: 0
جدیدترین عضو: morteza

آمار سایت در وبگذر

تغییر قالب