به نام خدا!

سلام

تصمیم گرفتم پروژه هایی رو که میسازم یا پیدا میکنم اینجا قرار بدم تا همه استفاده کنیم!


 1  پروژه ارسال و دریافت UART با میکرو STM8S003F3P6

خوب اگه این میکرو رو دارید کافیه برنامه رو روش اجرا کنید تا از نزدیک کارکرد برنامه رو ببینید! البته شاید نقص ها و مشکلاتی داشته باشه! من فقط میخواستم نحوه کارکردش رو ببینید!

بدون وقفه در ارسال و دریافت:

 دریافت

وقفه هنگام دریافت:

 دریافت 
حجم: 789 کیلوبایت



 2  ارتباط SPI در مد Slave

خوب چیز خاصی نداره! کاراکتر CH همون کاراکتر دریافتیه! و همچنین میکرو به طور مداوم کاراکتر C رو بر میگردونه!

برای تست میتونید از برنامه زیر استفاده کنید! از میکروکنترلر LPC1768 هست و در مد Master قرار داره! باید LPC1768 رو به کامپیوتر وصل کنید UART با باودریت 115200 که میکرو LPC1768 از 0 تا 255 رو میفرسته و کاراکتر رو از میکرو Slave دریافت میکنه و توی ترمینال نشون میده!

تنها مشکلی که داره اینه که اولش ممکنه کاراکتر های اشتباه نشون بده ولی کم کم درست میشه! دقتش بد نیست. میشه بهش اعتماد کرد!


دریافت پروژه میکرو STM8S003F3P6 


دانلود پروژه میکرو LPC1768
حجم: 2.05 مگابایت



 3  پروژه میکروکنترلر STM8S003F3p6 به زبان اسمبلی

خوب من شخصا خیلی زبان اسمبلی رو دوست دارم! بنابراین سعی کردم که یه پروژه خروجی کردن یک پایه برای روشن کردن LED رو بنویسیم که در زیر میتونید دانلود کنید!

دریافت

راستی برای نوشتن اسمبلی در فایل C میتونید به صورت زیر استفاده کنید!

       asm("MOV $005002,#$FF"); //  DDRA.P3=1;
       asm("MOV $005003,#$FF"); // CR1A.P3 = 1;
       asm("MOV $005004,#$FF"); // CR2A.P3=1;
       asm("MOV $005000,#$FF"); // ODRA.P3=1;



 4  پروژه تایمر 4 برای میکروکنترلر STM8S003F3P6

خوب بالاخره خداروشکر این پروژه هم نوشتم! الان میخوام برم سراغ تایمر 1و 2 چون تایمر 4 هشت بیتی هست و تایمر 1 و 2 شانزده بیتی! اینم بگم تایمر 1 از همه پیشرفته تره!

دریافت
حجم: 304 کیلوبایت



 5  پروژه وقفه خارجی برای میکروکنترلر STM8S003F3P6

خوب میتونید از زیر دانلودش کنید!

پایه A.2 کلید بهش وصل میشه! پایه A.3 یه LED بهش وصل میشه! تابه وقفه هم نوشتم!

(دقت کنید که فایل main فقط مد نظر هست و ممکنه فایل های بی ربط دیگه ای هم در پروژه باشه!)

دریافت



 6  پروژه PWM میکروکنترلر STM8S003F3P6

میتونید توضیحش رو از اینجا بخونید!

و از لینک زیر دانلود کنید!

این پروژه از وقفه استفاده میکند:

دریافت
حجم: 302 کیلوبایت


این پروژه از وقفه استفاده نمیکند و داری تنظیم مقدار دیوتی سایکل می باشد!

دریافت
حجم: 300 کیلوبایت




 7  پروژه ADC میکروکنترلر STM8S003F3P6

خوب خداروشکر این واحد ADC هم راه اندازی کردم. خیالم راحت شد! 

توی این پروژه کلا دو تا تابع برای ADC داریم! یکی برای مقدار دهی و دیگیری برای بدست آوردن مقدار خوانده شده از واحد ADC

همچنین در این پروژه مقدار ADC به صورت PWM روی پایه PD.3 قابل مشاهده است! همچنین قابلیت ارسال مقدار خوانده شده به وسیله UART هم در این پروژه در نظر گرفته شده!

دریافت
حجم: 796 کیلوبایت


نکته: کانال ADC به صورت CHANNEL در برنامه Define شده که من اونو روی 2 گذاشتم! یعنی ADC کانال دوم رو میگرم! شما میتونید تغییرش بدید! همچنین توجه داشته باشید که کانال 2 میشه پایه PC.4 نکته دیگه اینه که میکرو STM8S003F3P6 فقط 5 تا کانال داره که از 2 شروع میشه تا 6. یعنی کانال 0 و 1 نداره!


کد اصلی و ساده رو میتونید از زیر دانلود کنید! (ولی خوب نتیجه اندازه گیزی ADC رو نمیتونید جایی ببینید! مثلا نمیتونید مقدار ADC رو تو مانیتور ببینید! چون در پروژه ی زیر ADC فقط مقدار دهی شده و یه تابع هم برای گرفتن مقدار ADC داره)

این پروژه رو گذاشتم چون خودم دوست دارم وقتی دنبال موضوعی مثل ADC میگردم پروژه ای که دانلود میکنم صرفا مخصوص ADC باشه نه چیزه دیگه ولی چون ADC به تنهایی قابل استفاده نبود در پروژه بالا از UART و PWM برای نشون دادن مقدار ADC کمک گرفتم!

دریافت
حجم: 272 کیلوبایت




 8  پروژه Beeper میکروکنترلر STM8S003F3P6

خوب گفتم برای اینکه پروژه ها تکمیل بشه، پروژه Beeper رو هم اینجا بزارم! راستش کاربرد دقیقش را نمیدونم! ولی خوب شاید یه روزی به کارمون بیاد!
با تغییر مقدار BEEPDIV صدای بیپر تغییر میکنه! بنابراین من در کد زیر از دو طریق اینکار رو کردم! یکی این که صدای مختلف یکی یکی نشون داده میشن! (یعنی مقدار  BEEPDIV یک واحد اضافه میشه)  یکی هم اینه که با استفاده از UART یکی یکی کاراکتر بفرستید تا اینکه از هر صدایی که خوشتون اومد کارکتر مربوطه رو توی برنامه بزارید تا از اون صدا استفاده بشه!
اگه خواستید از UART استفاده کنید کد مربوط به روش اول رو کامنت کنید تا اجرا نشه!

دریافت
حجم: 383 کیلوبایت

همچنین کد ساده شده و فقط با یک صدا رو میتونید از زیر دانلود کنید! (اینو گذاشتم که از UART و... خلاص بشیم! شاید یکی دوست نداشته باشه از UART استفاده کنه!)
کد زیر خیلی ساده اش کردم و خیلی به نظر خودم بهتره! از این کد استفاده کنید!
دریافت
حجم: 286 کیلوبایت
 
کل کد پروژه  Beeper سه خط بیشتر نیست!
 BEEP_CSR.BEEPDIV = 1;     /* Calculation of BEEPER calibration value */
 BEEP_CSR.BEEPSEL = 0; /* Select the output frequency */
 BEEP_CSR.BEEPEN = 1; /* Enable Beeper */
که میتونید به صورت متوالی روشن و خاموش کنید تا صدای هشدار بده! اصلا چیز خاصی نداره!

9- به زودی .... (انشالله)