به نام خدا : شمارنده تک رقمی با avr / این پروژه avr یه شمارنده هست که با یه 7s (سون سگمنت) درست شده و کارش اینه که از 0 تا 9 میشموره و وقتی به 9 رسید دوباره از صفر میشموره.
من atmega16 استفاده کردم. شما میتونید از هر چی که خاستید استفاده کنید
شبیه سازیش هم با پروتئوس انجام دادم.
برنامه برای atmega16 رو به زبان c با کد ویژن نوشتم.فایلش رو هم در زیر میزارم.(هم شبیه سازیش هم کد نویسیش)
اتصالات 7s و atmega16 رو هم بیسیم کردم.همون طور که میبینید.
اسم قطعات رو هم در شکل زیر مشخص کردم.
کد پروژه :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include <mega16.h> #include <delay.h> void main() { unsigned char anode_seg[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; int i=0; DDRA=0xff; while(1) { PORTA=anode_seg[i]; delay_ms(100); i=i+1; if(i==10) i=0; } } |
مهمان
با یک push button میخام یه کدی رو بنویسم که هر بار دکمه رو فشار میدم یکی اضافه بهشه
while(1)
if(PINC.0==1)
COUNT=COUNT+1;
if(count==1)
print (“1”)
else if(count==2)
print(“2”)
,……….
ولی وقتی تو پروتیوس شبیه سازی میکنم با یه بار زدن دکمه شروع به شمارش میکند و منتظر زدن دکمه بعدی نیست
میشه بگید اشکال کجاست
مهمان
سلام
این برنامه برای اعداد 0 تا 15 هم کاربرد داره با فشردن تک کلید ؟
مهمان
سون سگمنت رو از کجا باید بیاریم؟
مهمان
سلام من یک شمارنده یک رقمی میخواستم که با دو دکمه کم و زیاد بشه لطفا راهنمایی کنید
مهمان
سلام داداش…. کاتد مشتر ک یا باالعکسش فرق نداره؟ مال شما فکر کنم آند هست… ماله من کاتده…. اجرا میشه آیا؟
نویسنده این مطلب
سلام
زیاد فرقی نمیکنه – فقط کدش یکم تغییر میکنه
مثلا کد مربوط به 0 برا آند فک کنم میشه 0x40 و برا آندش باید 0 هارو 1 و 1 هارو 0 کرد که کد فوق میشه 0xBF
اعداد باینری رو بلد باشی حله.
مهمان
سلام.
void main() یعنی چی؟
نویسنده این مطلب
سلام
یه تابع با نام main – که خروجیش void هستش یعنی چیزی ارسال نمیکنه – میکرو وقتی شروع به کار میکنه – بعد از فراخونی کتابخونه ها و متغییر های سراسری – یکراست میاد سراغ تابع main و کدهاشو اجرا میکنه و اگه قبل از تابع main و یا بعدش شونصد تا تابع هم باشه – میکرو فقط main رو اجرا میکنه – بقیه توابع فقط وقتی اجرا میشن که تو تابه main فراخونی بشن
مهمان
سلام.
بعد تو()یک کلمه باشه چیه
نویسنده این مطلب
ورودی های تابع – کتاب آموزش c از نت دانلود کن بخون – ۱ هفته ای راه میوفتی
مهمان
سلام.
کتاب جابر الو ندی خو به
نویسنده این مطلب
کتاب تخصصی آموزش سی نیستش ولی آموزش سی توش داره ۱ فصلی فک کنم – من باشم به عنوان منبع آموزش سی – یه منبع حرفه ای ازش استفاده نمیکنم و میرم سراغ یه کتاب خوب
مهمان
سلام خسته نباشید آقا مهدی
من زیاد از برنامه c سر در نمیارم ولی خیلی دوستدارم یاد بگیرم
حالا میخواستم ببینم اگه میشه یه توضیح دقیق از نوع کارکرد هر کدوم از این کلمه هایی که تو برنامه سون سگمنت تکی نوشتی به ایمیلم بفرستی خیلی احتیاج دارم ممنون …
پاسخ دادن
مهمان
سلام مهندس
لطفا یه توض بدین که چگونه سون سگمنت رو بدون اتصال به میکرو وصل کرده اید برای سون سگمنت کاتد مشترک هم به همین شکل باید اتصال داد
نویسنده این مطلب
سلام
این یکی از امکانات پروتئوس هستش که برا جلوگیری از شلوغ شدن محیط به خاطر تعداد زیاد سیم ها و اتصالات اومدن یه امکانی رو گزاشتن که اتصالات رو به صورت بیسیم تعیین بشه کرد(البته در عمل باید از سیم استفاده کرد و چیز واضحی هستش ولی تو پروتئوس برا راحتی و ترتمیزی کار این امکان رو اضافه کرده سازنده این نرم افزار)
مهمان
به وبلاگ ماهم سری بزنید من از شما واقعا ممنونم پاسی در این درس را مدیون شما ام انشااله برای پروژه باهم گفتگو خواهیم کرد
مهمان
عالی بود مرسی
مهمان
سلام مهندس
ببخشید من تن تن مزاحمتون میشم
میگم بعضی کتابا تو سگمنت مثلا ۰ و ۰x3F تعریف کردن کلا ۱۰ رقمش با مال شما فرق داره الان موندم
نویسنده این مطلب
سلام دوباره
نه بابا این چه حرفیه کاکو
دقیقا متوجه سوالت نشدم.
در ضمن سوالا رو تو پست های مرتبط بپرسی بهتر میتونم راهنماییت کنم
مهمان
ببخشید من فایل پروژه رو دانلود نکرده بودم که ببینم 7 سگمنتتون آند مشترکه
مهمان
سلام خب پس 0x40 عدد – (منها O_o ) رو نشون میده دیگه.عدد 0 که میشه 0x3F
نویسنده این مطلب
سلام
۰ روشن میکنه
و ۱ خاموش
ok????
مهمان
سلام اقا سابت واقعا مفیدی دارین
یه سوال : عبارت 0x24(یا بقبه مقدار های ارایه) چه عددی رو توی سون سگمنت نشون میده؟(یکم گیج شدم)
نویسنده این مطلب
سلام
تو عکس بالا a بیت اول-b بیت دوم….
هر کدوم رو دوس داری روشن باشه باس ۱ کنی
مهمان
با سلام
لینک مشکل داره به سایت زیر می رود
http://wordpress.org/plugins/register-plus-redux/screenshots/
نویسنده این مطلب
سلام
درستش کردم