صفحه 3 از 5 اولاول 12345 آخرآخر
نمایش نتایج 81 تا 120 از 162

نام تاپیک: AVR

  1. #81
    کاربر دائمی
    تاریخ عضویت
    مهر 1388
    محل زندگی
    شهرمون
    پست
    171

    نقل قول: سلام

    نقل قول نوشته شده توسط TOWHEN مشاهده تاپیک
    من میخوام یه سروو موتور رو کنترل کنم. اینو متوجه شدم که یه vcc و gnd میگیره و سیم وسط وصل میشه به میکرو. حالا با میکرو باید بهش پالس بدم؟ دقیقا نمیدونم باید چطور بهش دستور چرخش بدم. متشکرم

    تو یه برنامه آماده که دیده بودم عبارتی به این صورت بود:
    ;PORTA=~i
    اون علامت ~ برای چی هست؟
    سلام دوست عزيز
    اول اينكه شما براي راه اندازي موتور نبايد مستقيما به ميكرو اتصال بدي بايد با ترانزيستور وصل كني وگرنه موتور جريان زياد ميكشه ميكرو ميسوزه
    اگر ميخواي بگو نحوه اتصال ترانزيستورو بگم بهت
    براي پالس دادنم بايد پايه ي ترانزيستور رو به يكي از تايمراي ميكرو وصل كني و با fast pwmپالس بدي
    براي چرخش موتور هم هيچ دستور خاصي نميخواد بديد فقط بايد تايمر رو فعال كنيد
    و براي كنترل سرعتم فقط لازمه مقدار 0cr رو تغيير بدي
    البته ميدونم خيلي دير اين جوابو زدم اما ممكنه به درده يكي ديگه بخوره
    توضيح بيشتر خواستيد بگيد تا دقيق تر بگم

  2. #82

    نقل قول: AVR

    سلام آموزشگاه معتبری که کلاس avr داشته باشه سراغ دارید؟

  3. #83
    کاربر دائمی
    تاریخ عضویت
    آذر 1383
    محل زندگی
    تهران
    پست
    113

    نقل قول: AVR

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

  4. #84
    کاربر دائمی
    تاریخ عضویت
    آذر 1383
    محل زندگی
    تهران
    پست
    113

    نقل قول: AVR

    تدریس خصوصی AVR هم در خدمت هستسم

  5. #85
    کاربر دائمی
    تاریخ عضویت
    آذر 1383
    محل زندگی
    تهران
    پست
    113

    نقل قول: AVR

    سرو متور ها انواع مختلفی دارن. اما با دادن پالس مربعی و VCC , 'GRand را نمیفتن.
    یه جور سرو دیسی هست که 180 درجه هم فقط حرکت میکنه که درایورش هم روشه که اونها میشه با دادن پالس به ورودیشون بهشون فرمان داد

  6. #86

    نقل قول: AVR

    سلام
    من میخوام با بسکام از portc.2 که وصله به یه میکرو سوییچ ورودی بگیرم
    مثلا وقتی vcc وصل شد به اون پین میکرو بفهمه و یکسری دستوراتو انجام بده ، زمانی ام که ولتاژ قطع شد یکسری دستوره دیگه انجام بدم.
    اینم کدمه :
    Do While Portc.2 == 0
    portb.6=1
    Loop
    Do While Portc.2 == 1
    portb.6=1
    Loop
    قبلش هم portc رو به عنوان ورودی معرفی کردم.
    حالا موقع کامپایل اروره invalid datatype میده
    میخواستم اگه میشه راهنماییم کنید که بدونم مشکل چیه
    ممنون

  7. #87

    نقل قول: AVR

    لااقل یکی بگه چطوری میتونم حالیش کنم که تو یک بیت از یک پورت ولتاژ هست یا نه؟ بنویسم portc.0==0 یا 1 میفهمه خودش؟

  8. #88

    نقل قول: AVR

    1.عبارت == در زبان بیسیک وجود نداره . یعنی برای مقایسه هم باید از = استفاده کنید .
    2. برای خوندن ورودی باید از pinc.2 استفاده کنید . portc.2 وقتی استفاده میشه که قرار باشه پایه مورد نظر(2) خرورجیش تغییر کنه.
    3. بهتره پول آپ داخلی پایه ای که ورودی میشه رو فعال کنید (و یا از پول آپ - پول دان خارجی استفاده کنید) در غیر این صورت مقدار ورودی به سادگی تغییر میکنه و نویز روش اثر میگزاره (حتی با نزدیک کردن دست هم مقدارش عوض میشه)

    به نظر من بهتره برنامه رو اینطوری بنویسید :


    if pinc.2 =0 then
    portb.6=1
    else
    portb.6=0
    end if

  9. #89

    نقل قول: AVR

    سلام
    ممنون بابت راهنماییتون
    ولی یه مشکل ، من نمیتونم از if استفاده کنم . دلیل اینکه از do while استفاده کردم اینه که pinc.2 معلوم نیست که چه زمانی مقدارش تغییر میکنه و من میخوام تا زمانی که تغییر نکرده تو اون قسمت از دستورات بچرخه(loop انجام بشه) تا ورودیش تغییر کنه و بعد بره سر دستورات دیگه.
    کد طبق توضیحاتتون بصورت زیر شد ولی باز هم همون ارور رو میده:
    Do While Pinc.2 = 0
    portb.6=1
    Loop
    Do While Pinc.2 = 1
    portb.6=1
    Loop
    آخرین ویرایش به وسیله alireza976 : یک شنبه 14 آذر 1389 در 01:00 صبح

  10. #90

    نقل قول: AVR

    دستورات do-loop و while-wend به صورت جدا وجود دارند و عبارتی که شما نوشتید تو زبان بیسیک تعریف نشده هست . یه نگاهی به راهنمای خود بسکام بندازید مشکلتون برطرف میشه:
    http://avrhelp.mcselec.com/index.html?do_loop.htm
    http://avrhelp.mcselec.com/index.html?while_wend.htm

  11. #91

    نقل قول: AVR

    دستوراتو به شکل زیر نوشتم جواب داد
    Do
    If Pinc.7 = 1 Then Portb.6 = 1
    If Pinc.7 = 0 Then Exit Do
    Loop
    ...
    بازم ممنون بابت راهنماییتون

  12. #92

    نقل قول: AVR

    سلام
    من می خوام یه 7segment رو با atmega16 روشن کنم برنامش هم نوشتم. طریقه وصل کردن این دو را در proteus می خواستم.

  13. #93

    نقل قول: AVR

    سلام. من ميخواستم اصول كلي طراحي منو در كدويژن(نه بيسكام) رو برام توضيح بدين. مثلا از چه دستوراتي بايد استفاده بشه و الگوي كلي ايجاد منو چطوريه. ممنون

  14. #94

    نقل قول: AVR

    منو(menu ) برای lcd گرافیکی منظورتونه ؟
    دستور خاصی نداره ! البته یه سری کتابخونه گرافیکی به زبان C هست که احتمالا تو اون ها یه سری تابع داشته باشه ( اگه تو وب بگردید پیدا میکنید) ولی در کل روش کلی خیلی بدیهیه و به این صورته که شما یه تعداد شکل (مثلا مستطیل) رو یه جای lcd ،مثلا سمت راست، میکشید . بعد روی اونها (مختصات هر مستطیل) متنتون رو با رنگ مخالف مینویسید . مثلا توی lcd های گرافیکی مونوکروم (همین lcd های گرافیکی معمولی 128*64 ) مستطیل رو با سیاه ایجاد میکنید و توش متن رو با سفید مینویسید (اغلب کتابخونه های lcd گرافیکی یه آرگومان برای رنگ دارند).دیگه بقیه اش بستگی به سلیقه و حوصله شما داره تا چقدر خوشگل از آب در بیاد ! مثلا منو میتونه همین مستطیل ها باشه و یه مثلث کوچیک جلوی گزینه ی فعال باشه که با پایین و بالا بردن (با کلیدی که تو مداره) مکانش تغییر کنه و گزینه دیگه ای فعال کنه ، یا اینکه گزینه فعال شده highlight بشه (رنگ مستطیل و متن جابه جا بشه) یا اینکه ............

    فقط یادتون باشه که تقریبا تمامی کتابخونه های lcd گرافیکی که توابع اولیه (مثل ریم مستطیل و متن و خط و...)رو دارن ، برای هر پیکسل فقط بک بیت (0 یا 1) در نظر میگیرند . برای همین در حقیقت یک لایه گرافیکی بیشتر ندارید . مثلا اگه اول نوشته رو بنویسید و بعد مستطیل رو روش بکشید ، فقط مستطیل دیده میشه ، مثل کاغذ معمولی و مداد. برای همین بهتره منوها و سایر عناصر گرافیکی رو به صورت تابع تعریف کنید تا بتونید به دفعات زیادی از اونها استفاده کنید. مثلا اگه یکی گزینه ی ساعت رو انتخاب بکنه و بعدش صفحه ساعت باز بشه ، باید قبلش کل صفحه پاک بشه و بعد ساعت رسم بشه ، همینطور بعد از برگشتن به منو کل صفحه باید پاک بشه و دوباره منو ها رسم بشن .

    در کل اگه یکم با کتابخونه lcd گرافیکی آشنا بشید و چندتا شکل و نوشته رو رسم کنید ، همه چیز دستتون میاد.

  15. #95

    نقل قول: AVR

    سلام اگر از برنامه الکترو برای program کردن آی سی استفاده کنی مشکلت حل می شه.
    بازم اگه مشکلی داشتی به انجمن Roboforum.ir یه سری بزن انشاالله مشکلت برطرف میشه.

  16. #96

    نقل قول: AVR

    مشکل با پورت سریال

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

    $regfile = "m32def.dat"
    $crystal = 16000000
    $lib "lcd4.lbx"
    $baud = 19200

    Config Lcdpin = Pin , Rs = Portb.0 , E = Portb.2 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Postb.7
    Config Lcd = 16 * 2
    Config Kbd = Portc
    Dim Row As Byte , Column As Byte , Key As Byte , Sendkey As String * 10 , Convert As Byte
    Column = 1 : Row = 1

    Main:
    Key = Getkbd()
    Locate Row , Column
    Lcd Key
    Sendkey = Sendkey + Str(key)
    Waitms 500
    Incr Column
    End

  17. #97

    نقل قول: AVR

    1.باید برنامتون داخل یه حلقه بینهایت باشه ، که تو کد شما برنامه 1 بار اجرا میشه و تموم میشه.
    2. برای خوندن اطلاعات از کامپیوتر باید از دستور های WAITKEY و INKEY و امثالهم استفاده کنید تا کاراکتر ورودی رو بخونید
    3. برای ارسال از دستور print استفاده میشه .
    برنامه رو تا یه جایی بنویسید ، بعد اگه مشکلی بود سوالتون رو بپرسید.

  18. #98

    نقل قول: AVR

    نقل قول نوشته شده توسط ho_612 مشاهده تاپیک
    مشکل با پورت سریال

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

    $regfile = "m32def.dat"
    $crystal = 16000000
    $lib "lcd4.lbx"
    $baud = 19200

    Config Lcdpin = Pin , Rs = Portb.0 , E = Portb.2 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Postb.7
    Config Lcd = 16 * 2
    Config Kbd = Portc
    Dim Row As Byte , Column As Byte , Key As Byte , Sendkey As String * 10 , Convert As Byte
    Column = 1 : Row = 1

    Main:
    Key = Getkbd()
    Locate Row , Column
    Lcd Key
    Sendkey = Sendkey + Str(key)
    Waitms 500
    Incr Column
    End
    سلام

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

    اینجا را نگاه کنید : http://ouo.ir/serial-port-monitor.html ، فایل دانلود کنید در خود کد ها ، کلی کامنت آموزشی قرار دادم .

    احتمالا مشکل شما حل میشود چون C#‎ با Vb زیاد فرق نداره تازه مبدل هم زیاد وجود داره ...

    سوال داشتی دقیق بپرس جواب بدم ...

    موفق باشید
    آخرین ویرایش به وسیله jblaox : پنج شنبه 24 شهریور 1390 در 09:56 صبح

  19. #99

    نقل قول: AVR

    سلام من می خوام با آی سی های avr کار کنم و تا حالا برنامه نویسی نکردم.(فقط متلب کار کردم!).می خوام یه کتاب یا یه مرجع بهم معرفی کنید تا این کار رو یاد بگیرم.یکی میگه با بسکام یکی میگه با کدویژن.بالاخره من نفهمیدم چی به چیه.لطفا راهنمایی کنید.ممنون

  20. #100

    نقل قول: AVR

    کتاب الکترونیکی تو این تاپیک معرفی شده ، کتاب چاپی هم خیلی زیاده ، من هم هیچکدومش رو نخوندم (غیر از کتاب علی کاهه) برای همین نمی تونم بگم کدوم بهتره.
    برای شروع بهتره میکرو و وسایل مربوطه اش رو تهیه کنید و بعد قدم به قدم یاد بگیرید . تو این تاپیک مقدمات کار گفته شده .
    در مورد زبان بهتره با C کار کنید (کامپایلر هم سلیقه ای هست) ولی اگه فقط میخواید کارتون راه بیوفته و بعدا زیاد با میکرو سر و کار ندارید ، از بسکام (بیسیک) هم میتونید استفاده کنید.

  21. #101
    کاربر دائمی آواتار sam166
    تاریخ عضویت
    شهریور 1388
    محل زندگی
    ???????
    پست
    508

    نقل قول: AVR

    میشه در مورد ساخت منو های تو در تو در کدویژن توضیح بدبد و مثال بزنید

  22. #102

    نقل قول: AVR

    نقل قول نوشته شده توسط sudy3090 مشاهده تاپیک
    سلام.آقا ما جواب نخواستیم. این توضیحاتو خودم بلدم. بابا مثلا مهندس کامپیوترم.من برنامه را می خواستم که انگار شما فقط دارید منو می پیچونید.تازه امروز بالاخره جواب گرفتم . خداحافظ

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

  23. #103
    کاربر تازه وارد آواتار 121314
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    اراک
    پست
    35

    نقل قول: AVR

    سلام من درباره Avr ,Codvision آشنایی مقدماتی دارم الان به یه پروژه معمولی به همراه Pcb اون نیاز دارم. کمکم کنید

  24. #104

    نقل قول: AVR

    سلامُ علیکم

    یه سوال داشتم : میخواستم ببینم آیا میشود با Java برای AVR برنامه نوشت یا نه فقط C جواب میدهد ؟

    خدانگهدارتان باشد

  25. #105

    نقل قول: AVR

    زبان java قابلیت تبدیل شدن به کد ماشین رو نداره و به همین دلیل هم نمیشه ازش تو برنامه نویسی میکروکنترلر ها استفاده کرد . به غیر از C ، بیسیک و پاسکال هم تو برنامه نویسی میکروکنترلرها استفاده میشن.

  26. #106

    نقل قول: AVR

    سلام به همگی
    دوستان من به پایه صفر پورت B یک کلید وصل کردم و میخوام که هر موقع کلید را فشار دادم LED روشن بشه و با رها کردن کلید خاموش بشه باید از تابع خاصی برای این برنامه استفاده کنم ؟؟
    ضمنا برنامه را در Codevision باید بنویسم
    لطفا منو راهنمایی کنید

  27. #107

    نقل قول: AVR

    کافیه مقدار رجیستر PINB رو بخونید ، با توجه وضعیتش (مقدار رجیستر) میتونید بفهمید کلید فشار داده شده یا نه . در ضمن قبل از استفاده باید پایه مورد نظر رو به صورت ورودی و با پول آپ داخلی تنظیم کنید.

  28. #108
    کاربر دائمی
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    Esfahan
    پست
    110

    نقل قول: AVR

    اقا اینجا کسی هست ما یه پروژه avr بخوایم واسمون انجام بده ؟

  29. #109
    کاربر جدید آواتار sharin
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    ايران
    پست
    22

    نقل قول: AVR

    سبك فروم ، معمولا اينجوريه كه يه سري مشكلاتشون رو مطرح مي كنن و كسايي كه بلد هستن ، جواب مي دن.
    شما هم شروع كن به كار كردن روي پروژه و هر جا كه مشكل داشتي بپرس تا كسايي كه مي تونن كمك كنن .

    موفق باشيد.

  30. #110

    نقل قول: AVR

    با سلام خدمت دوستان عزیز
    من می خوام یه برنامه با codevision بنویسم که یه متنی را روی LED Matrix به صورت رواننمایش بده
    با میکرو atmega16
    به صورت ثابت راحته ولی نمیدونم چجوری روانش کنم

    خیلی هم تو زمینه AVR مبتدی هستم ولی باید این مشکلو حل کنم
    خواهش می کنم کمکم کنید

  31. #111

    نقل قول: AVR

    سلام
    من یک سری کد دارم نمیدونم معنیش چیه لطفا بهم بگید:

    ACSR=0XC0;
    ADCSRA=0X87;
    lcd_init(16);

    ADCSRA=0X40;
    Return ADCW;

    اون دو خط یعنی چی و چرا عدد 16 پاس شده؟

  32. #112

    نقل قول: AVR

    ACSR و ADCSRA و ADCW رجیستر های میکرو (بخش ADC و مقایسه کننده آنالوگ هستند) . اینکه دقیقا چکاری میکنند رو باید از روی کل برنامه و اطلاعات داخل دیتا شیت میکرو خودتون ببینید .
    lcd_init هم احتمالا مربوط به راه اندازی اولیه lcd کاراکتری هست و داره مشخص میکنه که lcd چند خطی هست(16 خطی) . بازم برای جزییات باید خودتون کد کامل و دیتا شیت میکرو (بخش تعریف رجیستر های مربوطه) رو ببینید.

  33. #113

    نقل قول: AVR

    تا حالا کسی اینحا با aubtm 20 کار کرده؟ با میکرو داده بفرسته با لپ تاپ دریافت کنه؟ موقع وصل کردن به میکرو txd ماژول و به txd میکرو وصل می کنیم و rxd ماژول و به زمین؟ اتصال بقیه ی پایه های ماژول به چه صورته؟ ممنون میشم کسی راهنمایی کنه؟

  34. #114

    Angry نقل قول: AVR

    سلام دوستان
    این برنامه منه
    http://uploadkon.ir/uploads/27678403...f27f56b663.zip
    وقتی به ال سی دی میزنم یه چیزای در هم نشون میده ولی اصلا معلوم نیست چیه
    یه چیزی من این برنامه رو از یکی از دوستان گرفتم .فایل فونت رو نداده بود خودم یه 8*8 از جایه دیگه گذاشتم تو فولدر ,این کار میتونه باعث مشکل شه؟
    میخواستم ازتون خواهش کنم یه نگاهی به برنامه بندازید
    برنامه gps هستش
    خیلی خیلی ممنون

  35. #115

    نقل قول: AVR

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

  36. #116

    نقل قول: AVR

    سلام.من دارم يك ربات مين ياب درست ميكنم،كه از سنسور SRF05 براي اون استفاده كردم.حالا براي برنامه نويسي اين سنسور گير كردم!در ضمن ميخوام برنامه به زبان سي باشه!كسي ميتونه توبرنامه نويسيش بهم كمك كنه؟اگه نمونه كد هم داريد برام خواهشن بفرستيد.فقط دوستان من خيلي خيلي عجله دارم!!خواهش ميكنم يكي زود جوابمو بده!!ممنون.

  37. #117
    کاربر تازه وارد آواتار mhmmdshirazi
    تاریخ عضویت
    مهر 1387
    محل زندگی
    tehran
    سن
    30
    پست
    80

    نقل قول: AVR

    نقل قول نوشته شده توسط small_rz مشاهده تاپیک
    تا حالا کسی اینحا با aubtm 20 کار کرده؟ با میکرو داده بفرسته با لپ تاپ دریافت کنه؟ موقع وصل کردن به میکرو txd ماژول و به txd میکرو وصل می کنیم و rxd ماژول و به زمین؟ اتصال بقیه ی پایه های ماژول به چه صورته؟ ممنون میشم کسی راهنمایی کنه؟
    توصیه میکنم از ic های ftdi مثل ft232rl استفاده کنید خیلی راحت تره و اگه کمک خواستی من باهاش کار کردم!

  38. #118

    نقل قول: AVR

    سلام
    من تازه کار با ای وی ار رو شروع کردم
    به ما یه پروژه دادن که خودم هرکاری کردم نتونستم راش بندازم همه ی کاراشو بلدم فقط تو راه اندازی 7seg-mpx2-ca مشکل دارم
    تو نصبش تو پروتئوس مشکل ندارم
    اگه می شه کد های کد ویژنشو بگید مشکلمم اینه که نمی تونیم یه عدد دو رقمی توش نشون بدم مثلا 14
    مرسی

  39. #119
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    نقل قول: AVR

    باسلام ، این تالار واقعا مهجور مانده وبه همین دلیل کسی هم دیگر سوالی نمی پرسد من جمله بنده که دیر با آن آشنا شدم . متاسفانه کاربر محترم farzadsw که جور بسیاری از مشکلات مطرح شده را کشیده اند هم مشغول پروژه ها و وبلاگ خودشان هستند .
    آقای فرشاد خان برای این جور مطالب با یک جستجو در وب ، موارد زیادی یافت میشوند که نیازمند تغییرات اندک هستند . منجمله کدهای زیر که برای کدویژن تغییراتی داده شده است .


    #define SEVEN_SEGMENT_SHIFT_DDR DDRB
    #define SEVEN_SEGMENT_SHIFT_PORT PORTB
    #define SEVEN_SEGMENT_PORT PORTD
    #define SEVEN_SEGMENT_DDR DDRD
    #define SEVEN_SEGMENT_DIGITS 2 // تعداد رقم

    volatile unsigned char digits[SEVEN_SEGMENT_DIGITS];

    void SevenSegment(unsigned char n)
    {
    /*
    This function writes a digits given by n to the display
    */
    if(n<10)
    {
    switch (n)
    {
    case 0:
    SEVEN_SEGMENT_PORT=0b00000011;
    break;
    case 1:
    SEVEN_SEGMENT_PORT=0b10011111;
    break;
    case 2:
    SEVEN_SEGMENT_PORT=0b00100101;
    break;
    case 3:
    SEVEN_SEGMENT_PORT=0b00001101;
    break;
    case 4:
    SEVEN_SEGMENT_PORT=0b10011001;
    break;
    case 5:
    SEVEN_SEGMENT_PORT=0b01001001;
    break;
    case 6:
    SEVEN_SEGMENT_PORT=0b01000001;
    break;
    case 7:
    SEVEN_SEGMENT_PORT=0b00011111;
    break;
    case 8:
    SEVEN_SEGMENT_PORT=0b00000001;
    break;
    case 9:
    SEVEN_SEGMENT_PORT=0b00001001;
    break;
    }
    }
    else
    {
    //This symbol on display tells that n was greater than 9
    //so display can't handle it

    SEVEN_SEGMENT_PORT=0b11111101;
    }
    }

    void Print(unsigned int num)
    {
    /*
    This function breaks apart a given integer into separete digits
    and writes them to the display array i.e. digits[]
    */
    unsigned char i=0;
    unsigned char j;
    unsigned int max_num=1;
    for (j=0;j<SEVEN_SEGMENT_DIGITS;j++)
    max_num=max_num*10;
    if(num>(max_num-1)) return;

    while(num)
    {
    digits[i]=num%10;
    i++;

    num=num/10;
    }
    for(j=i;j<SEVEN_SEGMENT_DIGITS;j++) digits[j]=0;
    }

    interrupt [TIM0_OVF] void timer0_ovf_isr(void)
    {
    static unsigned char i=0;
    //TCNT0=0xD9;

    if (i<=SEVEN_SEGMENT_DIGITS) i=0;
    SEVEN_SEGMENT_SHIFT_PORT=(1<<i);
    i++;
    SevenSegment(digits[i]);
    }


    در هرجای برنامه که خواستید مقدار سون سگمنتها را تغییر دهید از تابع print استفاده کنید:
    print(anyVariable);

    در ایجا ازتایمر0 برای ریفرش کردن سگمنتها استفاده شده است . شما برحسب نیاز خود آنرا تغییر دهید.
    با تغییر در خطهای اول تا پنجم پورت هارا مطابق پروژه خود تنظیم کنید ودر تابع ()main مقادیر اولیه به را به آنها بدهید

    SEVEN_SEGMENT_SHIFT_DDR=(1<<SEVEN_SEGMENT_DIGITS);   // =~(1<<SEVEN_SEGMENT_DIGITS); اگر درايور سگمنتها اينورتر است
    SEVEN_SEGMENT_SHIFT_PORT=0x00;
    SEVEN_SEGMENT_PORT=0xFF;
    SEVEN_SEGMENT_DDR=0xFF;
    آخرین ویرایش به وسیله Abbas Amiri : دوشنبه 17 مهر 1391 در 22:08 عصر

  40. #120

    نقل قول: AVR

    با سلام من یه برنامه فلاشر 8 کاناله رقص نور دارم به زبان سی هست اگه اشتباه نکنمکه افکتهای متععددی رو اجرا میکنه میخاستم ببینم کسی میتونه تعداد کانالهاشو ویرایش کنه یعنی از 8 کانال به 10 کانال و 4 کانال و 5 و6 و7 کانال تغییر پیداکنه البته با همین رقص نورها فعلا 10 کاناله رو لازم دارم اگه سخته این دو تا 4 و 6 کاناله رو هم کارم راه میوفته اینم لینک برنامه

صفحه 3 از 5 اولاول 12345 آخرآخر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •