به نام خدا!
سلام
تصمیم گرفتم پروژه هایی رو که میسازم یا پیدا میکنم اینجا قرار بدم تا همه استفاده کنیم!
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 رو هم اینجا بزارم! راستش کاربرد دقیقش را نمیدونم! ولی خوب شاید یه روزی به کارمون بیاد!BEEP_CSR.BEEPDIV = 1; /* Calculation of BEEPER calibration value */
BEEP_CSR.BEEPSEL = 0; /* Select the output frequency */
BEEP_CSR.BEEPEN = 1; /* Enable Beeper */
9- به زودی .... (انشالله)