RSS
» کار عملی 16 - درایور ترانزیستوری موتور ( پل اچ) ( یکشنبه بیست و هشتم مهر ۱۳۹۲ )
» ویژه تابستان 95 ( جمعه هفتم خرداد ۱۳۹۵ )
» کلاس های تابستان 1395 در حال شروع شدن ( دوشنبه سوم خرداد ۱۳۹۵ )
» خبرهای خوشی در راه است... ( سه شنبه بیست و پنجم فروردین ۱۳۹۴ )
» کتاب آموزشی CodeVision AVR ( یکشنبه چهارم آبان ۱۳۹۳ )
» نرم افزار CodeVision AVR ( یکشنبه چهارم آبان ۱۳۹۳ )
» نرم افزار طراحی رگولاتور ولتاژ و جریان ( یکشنبه چهارم آبان ۱۳۹۳ )
» آیا عطسه‌ نشانه صبر در انجام کارهاست؟ ( سه شنبه بیست و یکم مرداد ۱۳۹۳ )
» یادش بخیر - شبهای قدر دوران کودکی ( جمعه بیست و هفتم تیر ۱۳۹۳ )
» اطلاعیه کار آموزی ویژه تمامی رشته ها و گرایش های مهندسی ( سه شنبه بیست و چهارم تیر ۱۳۹۳ )
» پانته آ ( یکشنبه بیست و دوم تیر ۱۳۹۳ )
» العجل مولا ( جمعه بیستم تیر ۱۳۹۳ )


آشنایی با نمایشگر هفت قطعه(7-segment)

همانطور که از نامش پیداست از هفت دیود LEDکه همان دیودهای نور دهند هستند ، تشکیل شده است.
این دیود ها به صورت کاملا منظمی دورتا ردور هم جای گرفته ایند که به هنگام روشن شدن همه آنها
میتوانیم عدد 8لاتین را مشاهده کنیم.
نکته قابل ذکر این است که این دیودها در دو نوع ساخته میشوند یا تمامی پایه های آند (قطب مثبت) دیود هارا به هم متصل میکنند که به آن آند مشترک میگویند یا بلعکس تمامی پایه های کاتد(قطب منفی) دیودهارا به هم وصل میکنند که به آن سون سگمنت کاتد مشترک میگویند.
 
موارد استفاده این دیودها به طور مشخص برای نمایش اعداد انگلیسی کاربرد دارند و البته میتوان از آنها برای نمایش حروف معدود انگلیسی نیز استفاده کرد.
پایه های سون سگمنت 10 عدد هستند که تعداد 7 پایه آن که با حروف کوچک (a-b-c-d-e-f-g) مشخص
میشوند و یکی برای نشان دادن نقطه یا ممیز برای نوشته های انگلیسی و نهایتا دو پایه نیز برای قطب مشترک در نظر گرفته شده است.

نحوه نامگذاری پایه ها :




شکل 1-10
با این وجود حتما دریافته ایید که مثلا برای روشن کردن عدد یک باید دیودهای bوc  روشن شوند و بقیه خاموش باشند.
و به همین ترتیب برای اعداد دیگر باید استفاده کنیم.
واما نکته دیگر اگر بخواهیم اعداد 0 تا 9 را توسط سون سگمنت و با آی سی میکرو نمایش دهیم چه کار باید بکنیم؟
خوب هر دیود از سون سگمنت را به یک پایه از پورت های آی سی وصل میکنیم . البته همه پایه ها باید به پایه های یک پورت از آی سی وصل شده باشند.
فرض کنید عدد 2 انگلیسی را با استفاده از پورت Bبخواهیم نمایش دهیم. به این صورت عمل میکنیم:
ابتدا باید بدانیم که برای نمایش عدد 2 کدام دیود ها باید روشن باشند : دیود های a-b-d-e-g
حال باید بدانیم که سون سگمنت ما از چه نوعی است اگر از نوع کاتد مشترک باشد ، پس باید برای روشن شدن دیود مورد نظر به آن یک دهیم و اگر نه که باید صفر دهیم.
P0
P1
P2
P3
P4
P5
P6
P7
پایه پورت X
a
B
c
d
e
f
g
.
پایه سون سگمنت
1
1
0
1
1
0
1
0
نمایش حرف F
در آند مشترک
0
0
1
0
0
1
0
1
نمایش حرف  F در کاتد مشترک
 
جدول 1 –10
پس در آند مشترک: PORTX=0b01011011;          یا         PORTX=0x5B;
پس درکاتد مشترک:PORTX=0b10100100;          یا         PORTX=0xA4;
 
جدول نمایش اعداد 0تا 9 در سون سگمنت های آند مشترک
P0
P1
P2
P3
P4
P5
P6
P7
 
پایه های پورت X
a
b
c
d
e
f
g
.
 
پایه های سون سگمنت
1
2
4
8
1
2
4
8
↓استخراج
هگز
HEX
اعداد
0
0
0
0
0
0
1
1
 C0
a-0
1
0
0
1
1
1
1
1
F9
a-1
0
0
1
0
0
1
0
1
A4
a-2
0
0
0
0
1
1
0
1
B0
a-3
1
0
0
1
1
0
0
1
99
a-4
0
1
0
0
1
0
0
1
92
a-5
0
1
0
0
0
0
0
1
82
a-6
0
0
0
1
1
1
1
1
F8
a-7
0
0
0
0
0
0
0
1
80
a-8
0
0
0
0
1
0
0
1
90
a-9
 
جدول نمایش اعداد 0تا 9 در سون سگمنت های کاتد مشترک
P0
P1
P2
P3
P4
P5
P6
P7
 
پایه های پورت X
a
b
C
d
e
f
g
.
 
پایه های سون سگمنت
1
2
4
8
1
2
4
8
↓استخراج
هگز
HEX
اعداد
1
1
1
1
1
1
0
0
3F
a-0
0
1
1
0
0
0
0
0
06
a-1
1
1
0
1
1
0
1
0
5B
a-2
1
1
1
1
0
0
1
0
4F
a-3
0
1
1
0
0
1
1
0
66
a-4
1
0
1
1
0
1
1
0
6D
a-5
1
0
1
1
1
1
1
0
7D
a-6
1
1
1
0
0
0
0
0
07
a-7
1
1
1
1
1
1
1
0
7F
a-8
1
1
1
1
0
1
1
0
6F
a-9
 
برای اینکه بیشتر با این سون سگمنت ها روشن شوید برای هرکدام از آنها مثالی مشترک میزنیم.
فرض کنید میخواهیم یک سون سگمنت داشته باشیم که اعداد 0تا9 را به مدت فاصله یک ثانیه پشت سرهم نمایش دهد.
با استفاده از دستور forساده ترین راه است که میتوانیم این اعداد را نمایش بدهیم.
  • یک جدول تعریف کرده وعنصرهای آنرا اعداد 0تا9 قرار میدهیم.
  • یک دستور forساده مینویسیم که از اولین عنصر تا آخرین عنصر را محاسبه کند.
  • کتابخانه delay.hرا معرفی میکنیم.
پس برای آند مشترک :
voide(main)voide{
int i;
int table[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
while(1){                                   
for(i=0;i<10;i++){
PORTB=table[i];
delay_ms(1000);
}
};
}
و برای کاتد مشترک :
voide(main)voide{
int i;
int table[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}
while(1){                                   
for(i=0;i<10;i++){
PORTB=table[i];
delay_ms(1000);
}
};
}

 
نکته برای برنامه پروتئوس:
برای انتخاب سون سگمنت که تا به حال نداشتیم در قسمت کیوورد کلمه7-segرا وارد میکنیم از پنجره ای که باز میشود ودارای انواع سون سگمنت ها است ، سون سگمنت ها آند مشترک وکاتد مشترک تکی را انتخاب میکنیم. برای اینکه سون سگمنت ها ی یکی ودوتای تا شش تایی وجود دارد اما درحال حاضر ما به سون سگمنت تکی نیاز داریم یکی کاتد مشترک(com-cathode)و آند مشترک (com-anode)
درضمن هرکدام از آنها را به سه رنگ آبی،قرمزوسبزمشاهده میکنید که ما به دلخواه رنگ سبز را انتخاب کردیم. شما نیز هر رنگی که دلتان خواست میتوانید انتخاب کنید.
 
شکل 3 - 10-  سون سگمنت های آند مشترک وکاتد مشترک



برچسب‌ها: iceflower, شمارنده با 7seg
دسته بندی : قطعات الکترونیکی

موضوعات
آرشیو مطالب
نویسندگان
درباره ما

    بسیجی گمنام خمینی ٍ "" و لا یحمل هذا العلم الا اهل البصر و صبر و العلم به مواضع حق ""
    و این پرچم مبارزه را جز افراد با بصیرت و صبور و آگاه به جایگاه حق به دوش نمی کشند .

    این وبلاگ متعلق به گروهی از سربازان حقیقی حضرت بقیه الله الاعظم می باشد که در عرصه جهاد علمی و فرهنگی فعالیت می کند .

    ایمیل : malekipcb@gmail.com