به نام خدا
پروژه AVR آی سی شیفت ریجستر ۷۴hc595 : به وسیله این آی سی میشه با 3 تا پایه از میکرو کنترلر AVR تعداد زیادی پایه رو کنترل کرد و بهشون اطلاعات داد که این موضوع زیاد متونه برا ما مفید باشه مخصوصا تو پروژه هایی که میکرو ما پایه کم آورده است و یا در تابلو روان ها.اگه در مورد این آی سی چیز زیادی نمیدونید مطلب آموزش جامع کار با آی سی شیفت ریجستر ۷۴hc595 رو حتما بخونید.تو این مطلب و این پروژه من میخوام نحوه دادن اطلاعات توسط میکرو کنترلر AVR به این آی سی رو توضیح بدم انشا الله.
یه راست بریم سر پروژه و توضیح اضافه دادن تعطیل(البته فعلا)
توضیح پروژه : تو این پروژه به PORTD هر چی بدید در خروجی یعنی در پایه های خروجی شیفت ریجستر (Q0 تا Q7) مشاهدش میکنید. که برای این کار باید نحوه دادن اطلاعات به این آی سی رو بدونید(در مالب قبلی توضیح دادم…لینکش رو هم در بالا گزاشتم) و ما یه تابع برای همین موضوع نوشتیم که کارش همینه.
این از مدار پروژه
اینم از کد های پروژه
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
#include <mega16.h> #include <delay.h> #define SH_CP PORTB.0 //جابجا کردن بیت ها #define DS PORTB.1 //تعیین صفر یا یک بودن اطلاعات #define ST_CP PORTB.2 //نمایش بیت ها void show_data(int SizeBite,int HexzaDesimal) { int i; char str[128]; for(i=SizeBite-1;i>=0;i--) { str[i]=HexzaDesimal%2; HexzaDesimal=HexzaDesimal/2; } for(i=0;i<=SizeBite-1;i++) { DS=str[i];//صفر و یک کردن SH_CP=1;SH_CP=0;//جابجایی ST_CP=1;ST_CP=0;//نمایش } } void main(void) { DDRB=0XFF; DDRD=0X00; while (1) { show_data(8,PIND); delay_ms(100); }; } |
توضیح کد های پروژه
1 |
void show_data(int SizeBite,int HexzaDesimal) |
این تابع کارش دادن اطلاعات مورد نظر ما به آیسی شیفت ریجستر هستش و دو چیز دریافت میکنه که بیت اول (SizeBite) تعین تعداد بیت های ارسالی هستش(که معمولا اطلاعات ما 8 بیتی هستش.) و بیت دوم(HexzaDesimal) چیزی هستش که قراره در خروجی شیفت ریجستر نمایش داده شود.
1 2 3 |
DS=str[i];//صفر و یک کردن SH_CP=1;SH_CP=0;//جابجایی ST_CP=1;ST_CP=0;//نمایش |
اگه جلسه قبل رو خونده باشید کد بالا رو کاملا متوجه میشید.
دانلود پروژه AVR آی سی شیفت ریجستر
امید وارم این پروژه به دردتون بخوره ، من این پروژه رو به درخواست یکی از دوستان نوشتم >>>> اگه جاییش رو متوجه نشدید حتما بپرسید تا کاملا براتون توضیح بدم.
اگه مطلب مفید بود 3 تا صلوات برا تعجیل در ظهور آقا بفرستید.
موفق باشد.
اصلاح پروژه ( دیدگاه کاربر با نام HB125 در قسمت نظرات ) : در برنامه ای که نوشتی به نظر من یک ایراد کوچیک هستش که بهتره تصحیح بشه؛ خط 19 ( همون نمایش ) بهتره بیرون از حلقه FOR باشه ( بعد از خط 20 )، تا در خروجی، داده خروجی با شیفت شدن به نمایش در نیاد و دقیقا بعد از چینش دقیق داده ها خروجی روشن بشه.
مهمان
دوست عزیز در برنامه ای که نوشتی به نظر من یک ایراد کوچیک هتست که بهتره تصحیح بشه خط 19 همون نمایش بهتر بیرون از حلقه FOR باشه بعد از خط 20 تا در خروجی داده خروجی با شیفت شدن نمایش در نیاد و دقیقا بعد از چینش دقیق داده ها خروجی روشن بشه بعد یک سوال هم داشتم SH_CP=1;SH_CP=0;//جابجایی لازم نیست بین حالت 0 و 1 یک مکث باشه بابت مطلب خوبت هم ممنون
نویسنده این مطلب
سلام
ممنون از شما – در مطلب ذکرش میکنم – اما حوصله تصحیحش رو ندارم.
طبق دیتاشیت، در ولتاژ VCC = 4.5 V و دمای 25 درجه سانتیگراد، سطح HIGH/LOW پایه SHCP ( با عنوان tW ) باید 50ns باشه ( مقدار بین min و max – همون Typical دیتاشیت ) و دوره تناوب ( T = 1/f_max) هم 90MHz هستش ( مقدار Typical )

حالا با توجه به فرکانس میکرو که حداکثر 16 میگ هستش، فک نکنم کد فوق مشکلی داشته باشه ( نظر خودت چیه؟ )
مهمان
لطفا با آیات شوخی نفرمایید.
مهمان
سلام آقا مهدی دمت گرم و سرت خوش.بابت همه چی و سایتت.
اگر امکانش هست نکات عملی کار با 74595 هم بگو که واقعا.درباره ولتاژ شناور هم بگو….چیه؟
مهمان
سلام علیکم
برادر من عشقم ففط ال ای دی وتابلو روان هستش
این 74 اچ سی هم واسه من سوال بود که چطور اینکارو میکنه
مطالب خیلی مفیدی بود خدا خیرت بده
فقط من یه پروژه نمایش ارقام صفحات قرآن وسوره توی ذهنم هست اما کسی نیست کمکم کنه ایده های جدیدی هم واسش دارم
شمامیتونی کمکم کنید مطمئنم واستون مثل آب خوردنه
لطفا اگه مایل بودین جواب بدین
مهمان
سلام عالی بود واقعا تابع بسیار زیبا بود. اگه میشه درباره ساخت تابلو روان با این آیسی هم یک پروژه بزارید من میخوام با این ایسی تابلو 32*32 بسازم که بتونم روش ساعت انالوگ نشون بدم. ممنون میشم راهنمایی کنید درباره شماتیک و برنامه.
نویسنده این مطلب
سلام
پروژه تابلو روان تو سایت هستش
مهمان
سلام وقت بخیر خیلی عالی بود.
مهمان
سلام
(“asm(“nop# یعنی چی؟
نویسنده این مطلب
سلام-نمیدونم
مهمان
nop به معنی no operating
مهمان
نظر ندی یه وقت…گناه میشه
من قصد ساخت یک مدار دارم که بخشی از آن نیاز به شیفت رجیستر دارد
میخوام سه تا گیرنده مادون قرمز بصورت مجزا بهشون پالسهایی بفرستم و بعد آنها را یکجا برای کامپیوتر ارسال کنم
میشه کمکم کنید
ممنون
البته راههای مختلفی به ذهنم رسیده مثلا با آی سی های سری ۷۴ یا ۴۰ و راه دیگه ]ی سی های سری amega است نظر شما چیه؟ کدام بهتر و برای تولید انبوه مطمئن تر و مقرون بصرفه تر است؟
مهمان
با سلام وتشکر از مطالب مفیدتون
میشه پروژه ساخت تابلو روان با این آی سی را هم تو سایت قرار بدید من میخوام ساعت دیجیتال مسجد که تابلو روانش با این آی سی هست را تعمیر کنم
مهمان
سلام باتشکر ازسایت خوبتون.لطفا برنامه یه شمارنده 0تا99 رو با 7 سگمنت با آی سی74hc595 به زبون بیسیک واسم فرستید.مرسی
نویسنده این مطلب
سلام
با بیسیک کار نمیکنم
مهمان
سلام من بالاخره سایتم رو راه انداختم سایت شما خیلی خووووب پیشرفت کرده البته از اولش مشخص بود ی انتقاد دارم قسمت خبرنامه چرا کار نمیکنه من از اولین عضو های خبرنامه سایت هستم اما خبری نیست از ایمیل لطفا پاسخ بدید
نویسنده این مطلب
سلام
…..
لینک سایتتون؟؟؟؟
والا تکی کار کردن یکم سخته
منم دانشجو….با کلی کار … درس و….
وقت نمیکنم…..خودم چند بار بهش فک کردم ولی حال انجامش رو نداشتم…..
پیش خودم میگفتم نکنه کاربرا از ایمیل های زیادکه از طرف سایت میاد براشون خسته بشن و….
در هر صورت مشکل از منه و قبول هم دارم….
مهمان
سلام آقامهدي واقعا دستت دردنكنه بسيار مطالب جالب وآموزنده است خدا قوت
نویسنده این مطلب
سلام

قابلی نداشت.