• برای استفاده از سایت از طریق این لینک عضو سایت شوید و برای دسترسی به فایل های خودروئی و ریمپ از این لینک عضو گروه VIP شوید. درصورت نیاز به راهنمایی بعد از عضویت در سایت از طریق چت آنلاین در واتس اپ با ما در ارتباط باشید

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

مهدی چیت بند

مدیر بازنشسته
عضویت
2/1/13
ارسالی ها
135
تعداد لایک ها
38
محل سکونت
استان س و ب - زاهدان
وب سایت
www.iranianecu.com


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

http://www.8pic.ir/images/15984466152924027057.jpg

همانطور که از نامش پیداست از هفت دیود LEDکه همان دیودهای نور دهند هستند ، تشکیل شده است.
این دیود ها به صورت کاملا منظمی دورتا ردور هم جای گرفته ایند که به هنگام روشن شدن همه آنها
میتوانیم عدد 8لاتین را مشاهده کنیم.
نکته قابل ذکر این است که این دیودها در دو نوع ساخته میشوند یا تمامی پایه های آند (قطب مثبت) دیود هارا به هم متصل میکنند که به آن آند مشترک میگویند یا بلعکس تمامی پایه های کاتد(قطب منفی) دیودهارا به هم وصل میکنند که به آن سون سگمنت کاتد مشترک میگویند.

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

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


http://www.8pic.ir/images/41034198349188013064.jpg



شکل 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
http://abadanian.ir/File_Uploads/a-0.JPG
1
0
0
1
1
1
1
1
F9
http://abadanian.ir/File_Uploads/a-1.JPG
0
0
1
0
0
1
0
1
A4
http://abadanian.ir/File_Uploads/a-2.JPG
0
0
0
0
1
1
0
1
B0
http://abadanian.ir/File_Uploads/a-3.JPG
1
0
0
1
1
0
0
1
99
http://abadanian.ir/File_Uploads/a-4.JPG
0
1
0
0
1
0
0
1
92
http://abadanian.ir/File_Uploads/a-5.JPG
0
1
0
0
0
0
0
1
82
http://abadanian.ir/File_Uploads/a-6.JPG
0
0
0
1
1
1
1
1
F8
http://abadanian.ir/File_Uploads/a-7.JPG
0
0
0
0
0
0
0
1
80
http://abadanian.ir/File_Uploads/a-8.JPG
0
0
0
0
1
0
0
1
90
http://abadanian.ir/File_Uploads/a-9.JPG

جدول نمایش اعداد 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
http://abadanian.ir/File_Uploads/a-0.JPG
0
1
1
0
0
0
0
0
06
http://abadanian.ir/File_Uploads/a-1.JPG
1
1
0
1
1
0
1
0
5B
http://abadanian.ir/File_Uploads/a-2.JPG
1
1
1
1
0
0
1
0
4F
http://abadanian.ir/File_Uploads/a-3.JPG
0
1
1
0
0
1
1
0
66
http://abadanian.ir/File_Uploads/a-4.JPG
1
0
1
1
0
1
1
0
6D
http://abadanian.ir/File_Uploads/a-5.JPG
1
0
1
1
1
1
1
0
7D
http://abadanian.ir/File_Uploads/a-6.JPG
1
1
1
0
0
0
0
0
07
http://abadanian.ir/File_Uploads/a-7.JPG
1
1
1
1
1
1
1
0
7F
http://abadanian.ir/File_Uploads/a-8.JPG
1
1
1
1
0
1
1
0
6F
http://abadanian.ir/File_Uploads/a-9.JPG


برای اینکه بیشتر با این سون سگمنت ها روشن شوید برای هرکدام از آنها مثالی مشترک میزنیم.
فرض کنید میخواهیم یک سون سگمنت داشته باشیم که اعداد 0تا9 را به مدت فاصله یک ثانیه پشت سرهم نمایش دهد.
http://www.8pic.ir/images/09832360874469813807.jpg

با استفاده از دستور forساده ترین راه است که میتوانیم این اعداد را نمایش بدهیم.


  • [*=center]یک جدول تعریف کرده وعنصرهای آنرا اعداد 0تا9 قرار میدهیم.
    [*=center]یک دستور forساده مینویسیم که از اولین عنصر تا آخرین عنصر را محاسبه کند.
    [*=center]کتابخانه 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;
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;
delay_ms(1000);
}
};
}

http://www.8pic.ir/images/24104624010466703158.jpg

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

http://www.8pic.ir/images/17081634487799651081.jpg
شکل 3 - 10- سون سگمنت های آند مشترک وکاتد مشترک




 
بالا