اولین و تنها وب سایت حرفه ای خودت انجام بده فارسی (DIY)

صفحه اصلی » تکنولوژی » آموزشی » ساخت شمارنده ماتریسی با نمایشگر فارسی
انتشار: ۳۰ دی ۱۳۹۰
897 بازدید

ساخت شمارنده ماتریسی با نمایشگر فارسی

نوشته شده توسط | وب سایت/وبلاگ من

تعداد مطالب ارسالی: 11

 ساخت شمارنده ماتریسی با نمایشگر فارسی

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

اما مداری که ما طراحی کرده ایم اعداد شمارش شده را به صورت فارسی بر ال ای دی  روی نمایش می دهد. نمایشگر از ۱۰۵ عدد ال ای دی تشکیل شده است که به صورت ماتریسی به هم وصل شده است . قلب این مدار یک  ایسی اتمگا۸ است که از خانواده ای وی ار می باشد و از ۴ عدد بافربه شماره۷۴ اچسی۵۷۳ برای ارتباط بین میکرو   و ال ای دی ها استفاده شده است.

از قابلیت این مدار شمارش به صورت نزولی و صعودی می باشد و از اعداد ۰ تا ۹۹۹ را می تواند بشمارد

من در مدار ساخته شده خودم برای سهولت کار از دات ماتریکس۷*۵ استفاده کرده ام به همین خاطر از۳ عدد دات ماتریس استفاده کرده ام ولی شما می تواند ازال ای دی استفاده نمایید که نقشه ان در ادامه اورده شده است

شمارنده ماتریسی فارسی

همان طور که گفته شد نمایشگر به صورت ماتریسی درست شده که نقشه ان در زیر نمایش داده شده است

شماتیک شمارنده ماتریسی فارسیدر ساخت این قسمت شما می توانید از نقشه بالا استفاده کنید و با ال ای دی ان را بسازید و یا این که از دات ماتریس استفاده نمایید.دات ماتریس در اندازه های مختلف وجود دارد که می توانید از دات ماتریس ۵*۷ استفاده نمایید ( که من شخصا از دات ماتریس استفاده کرده ام) و در داخل دات ماتریس ها ۳۵ عدد ال ای دی به صورت ماتریس قرار گرفته است.

ای سی اصلی مدار ای سی اتمگا۸ می باشد که به ان ۲ کلید و بلندگو ویک ال ای دی وصل شده است.

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

 یک کلید فشاری نیز وجود دارد که با فشار دادن ان ( بستگی دارد که کلید کشویی در چه حالتی وجود داشته باشد) شمارنده ۱ عدد افزایش یا کاهش می یابد.

بلند گویی که در مدار وجو دارد می تواند یک بلندگو ۸ اهم ۰٫۵ وات باشد. زمانی که مدار روشن می شود یک ساز زیبا می زند و همچنین با فشار دادن کلید یک بوق می زند.

وظیفه ال ای دی در مدار این است که با فشار دادن شستی ان روشن می شود و با دوباره فشاردادن شستی ال ای دی خاموش می شود.

در مدار از ۴ عدد ای سی بافر استفاده شده است که وظیفه انتقال اطلاعات را بر عهده دارند.

در اخر قلب اصلی مدار را ای سی اتمگا۸ تشکیل می دهد که به زبان بیسیک برنامه ریزی شده است و تغذیه ای سی توسط پایه های ۷و۸ تشکیل میدهند که باید پایه ۷ ان رابه ۵ ولت و پایه ۸ را به منفی مدار وصل نمایید.

زمانی که شما مدار را ساختید و روشن کردید بر روی نمایشگر قلب نمایش داده می شود و سپس بعد از ان عدد ۰۰۰ نمایش داده می شود.

و در آخر شماتیک کامل این مدار را برای راحتی کار شما دوستان میزارم.

شماتیک کامل مدارساخت شمارنده ماتریسی فارسی

برنامه پروگرام کردن میکرو
$regfile = “m8def.dat”
$crystal = 1000000
Config Portc = Output
Config Portb = Output

Config Pind.0 = Output
Config Pind.1 = Output
Config Pind.2 = Output
Config Pind.3 = Output
Config Pind.4 = Output
Config Pind.5 = Input
Config Pind.7 = Input
Set Portd.7
Config Pind.6 = Input
Set Portd.6

Dim A As Word , A1 As Word , A2 As Word , A3 As Word , A4 As Word , A5 As Word , A6 As Word , A7 As Word
Dim Sh As Word , Adad As Word , A8 As Word
Declare Sub Disply

Sound Portd.4 , 100 , 20
Sound Portd.4 , 100 , 30
Sound Portd.4 , 100 , 40
Sound Portd.4 , 100 , 50
Sound Portd.4 , 100 , 60
Sound Portd.4 , 100 , 70
Sound Portd.4 , 100 , 80
Sound Portd.4 , 100 , 90
Sound Portd.4 , 100 , 100
Sound Portd.4 , 100 , 110
Config Debounce = 35
Sh = 1
A1 = 0
Adad = 0
A8 = 0
Reset Portd.0
Set Portd.1
Set Portd.2
Ghalb:
Do
Incr Adad
Portb = &B10011000
Portc = &B11111110
Waitms Sh
Portb = &B10111100
Portc = &B11111101
Waitms Sh
Portb = &B11111000
Portc = &B11111011
Waitms Sh
Portb = &B10111100
Portc = &B11110111
Waitms Sh
Portb = &B10011000
Portc = &B11101111
Waitms Sh
Loop Until Adad = 160
Sound Portd.4 , 90 , 30
Sound Portd.4 , 90 , 40

Adad = 0
Set Portd.0
Reset Portd.1
Set Portd.2
Ghalb2:
Do
Incr Adad
Portb = &B10011000
Portc = &B11111110
Waitms Sh
Portb = &B10111100
Portc = &B11111101
Waitms Sh
Portb = &B11111000
Portc = &B11111011
Waitms Sh
Portb = &B10111100
Portc = &B11110111
Waitms Sh
Portb = &B10011000
Portc = &B11101111
Waitms Sh
Loop Until Adad = 160
Sound Portd.4 , 70 , 30
Sound Portd.4 , 70 , 40

Adad = 0
Set Portd.0
Set Portd.1
Reset Portd.2
Ghalb3:
Do
Incr Adad
Portb = &B10011000
Portc = &B11111110
Waitms Sh
Portb = &B10111100
Portc = &B11111101
Waitms Sh
Portb = &B11111000
Portc = &B11111011
Waitms Sh
Portb = &B10111100
Portc = &B11110111
Waitms Sh
Portb = &B10011000
Portc = &B11101111
Waitms Sh
Loop Until Adad = 160
Sound Portd.4 , 50 , 30
Sound Portd.4 , 50 , 40

Adad = 0
Reset Portd.0
Reset Portd.1
Reset Portd.2

Ghalb4:
Do
Incr Adad
Portb = &B10011000
Portc = &B11111110
Waitms Sh
Portb = &B10111100
Portc = &B11111101
Waitms Sh
Portb = &B11111000
Portc = &B11111011
Waitms Sh
Portb = &B10111100
Portc = &B11110111
Waitms Sh
Portb = &B10011000
Portc = &B11101111
Waitms Sh
Loop Until Adad = 130

Adad = 0
Yama:
Do
Debounce Pind.6 , 0 , Shomarande
A2 = A1 / 100
A = A2
Incr A
Reset Portd.0
Set Portd.1
Set Portd.2
Call Disply
Incr Adad

A3 = A2 * 100
A4 = A1 / 10
A5 = A4 * 10
A6 = A5 – A3
A4 = A6 / 10
A = A4
Incr A
Set Portd.0
Reset Portd.1
Set Portd.2
Call Disply
Incr Adad
Debounce Pind.6 , 0 , Shomarande

A7 = A1 – A5
A = A7
Incr A
Set Portd.0
Set Portd.1
Reset Portd.2
Call Disply
Incr Adad
Loop

Shomarande:
Sound Portd.4 , 100 , 50
If Pind.7 = 0 Then Decr A1
A8 = A1
Incr A8
If A8 = 0 Then A1 = 999

If Pind.7 = 1 Then Incr A1
Toggle Portd.3
If A1 > 999 Then A1 = 0
Goto Yama

End
Sub Disply:
Select Case A
‘——————————-********************************************—-
Case 1:
Portb = &B00011000
Portc = &B11111110
Waitms Sh

Portb = &B00100100
Portc = &B11111101
Waitms Sh

Portb = &B00100100
Portc = &B11111011
Waitms Sh

Portb = &B00011000
Portc = &B11110111

Waitms Sh
‘————————————————–
Case 2:
Portb = &B00000011
Portc = &B11111011

Waitms Sh

Portb = &B00001100
Portc = &B11111011

Waitms Sh

Portb = &B00110000
Portc = &B11111011
Waitms Sh

Portb = &B01000000
Portc = &B11111011
Waitms Sh
‘——————————————————-
Case 3:
Portb = &B10000011
Portc = &B11111101
Waitms Sh
Portb = &B10001100
Portc = &B11111101
Waitms Sh
Portb = &B10110000
Portc = &B11111101
Waitms Sh
Portb = &B11000000
Portc = &B11111101
Waitms Sh

Portb = &B10000100
Portc = &B11111011
Waitms Sh

Portb = &B10000100
Portc = &B11110111
Waitms Sh

Portb = &B10000011
Portc = &B11101111
Waitms Sh
‘———————————————————-
Case 4:
Portb = &B10000011
Portc = &B11111110
Waitms Sh
Portb = &B10001100
Portc = &B11111110
Waitms Sh
Portb = &B10110000
Portc = &B11111110
Waitms Sh
Portb = &B11000000
Portc = &B11111110
Waitms Sh

Portb = &B10000100
Portc = &B11111101
Waitms Sh

Portb = &B10000111
Portc = &B11111011
Waitms Sh

Portb = &B10000100
Portc = &B11110111
Waitms Sh

Portb = &B10000011
Portc = &B11101111
Waitms Sh

‘———————————————————-
Case 5:
Portb = &B10000110
Portc = &B11111110
Waitms Sh

Portb = &B10011000
Portc = &B11111110

Waitms Sh

Portb = &B11100000
Portc = &B11111110

Waitms Sh

Portb = &B10000100
Portc = &B11111101

Waitms Sh

Portb = &B10000110
Portc = &B11111011

Waitms Sh

Portb = &B10000101
Portc = &B11110111

Waitms Sh

Portb = &B100000101
Portc = &B111101111

Waitms Sh

‘———————————————————-
Case 6:

Portb = &B10001100
Portc = &B11111110
Waitms Sh

Portb = &B10110000
Portc = &B11111110
Waitms Sh

Portb = &B11000010
Portc = &B11111101
Waitms Sh

Portb = &B10100001
Portc = &B11111011
Waitms Sh

Portb = &B11000010
Portc = &B11110111
Waitms Sh

Portb = &B10001100
Portc = &B11101111
Waitms Sh

Portb = &B10110000
Portc = &B11101111
Waitms Sh

‘———————————————————-
Case 7:
Portb = &B11000000
Portc = &B11111110
Waitms Sh

Portb = &B10100000
Portc = &B11111101
Waitms Sh

Portb = &B10010110
Portc = &B11111011
Waitms Sh

Portb = &B10001101
Portc = &B11110111
Waitms Sh

Portb = &B10000101
Portc = &B11101111
Waitms Sh

‘———————————————————-
Case 8:
Portb = &B10000011
Portc = &B11111110
Waitms Sh

Portb = &B10001100
Portc = &B11111110
Waitms Sh

Portb = &B10010000
Portc = &B11111110
Waitms Sh

Portb = &B10100000
Portc = &B11111101
Waitms Sh

Portb = &B11000000
Portc = &B11111011
Waitms Sh

Portb = &B10100000
Portc = &B11110111
Waitms Sh

Portb = &B10000011
Portc = &B11101111
Waitms Sh

Portb = &B10001100
Portc = &B11101111
Waitms Sh

Portb = &B10010000
Portc = &B11101111
Waitms Sh

‘———————————————————-
Case 9:
Portb = &B10001100
Portc = &B11111110
Waitms Sh

Portb = &B10110000
Portc = &B11111110
Waitms Sh

Portb = &B11000000
Portc = &B11111110
Waitms Sh

Portb = &B10000010
Portc = &B11111101
Waitms Sh

Portb = &B10000001
Portc = &B11111011
Waitms Sh

Portb = &B10000010
Portc = &B11110111
Waitms Sh

Portb = &B10001100
Portc = &B11101111
Waitms Sh

Portb = &B10110000
Portc = &B11101111
Waitms Sh

Portb = &B11000000
Portc = &B11101111
Waitms Sh
‘———————————————————-
Case 10:
Portb = &B10000110
Portc = &B11111101
Waitms Sh

Portb = &B10001001
Portc = &B11111011
Waitms Sh

Portb = &B10001001
Portc = &B11110111
Waitms Sh

Portb = &B10000110
Portc = &B11101111
Waitms Sh

Portb = &B10011000
Portc = &B11101111
Waitms Sh

Portb = &B11100000
Portc = &B11101111
Waitms Sh

End Select
End Sub

(3 votes, average: 1.00 out of 1)
دیدگاهها و نظرات
  1. admin نوشته است:

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

    امتیاز به این دیدگاه : Thumb up 0 Thumb down 0

  2. admin نوشته است:

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

    با تشکر از سایت یزد کیت بابت این پروژه عالی
    http://yazdkit.com/dotmatrix-farsi-number-avr-843.html

    امتیاز به این دیدگاه : Thumb up 1 Thumb down 0

  3. abbasali kazemi نوشته است:

    با سلام وتشکر از مطالب بسیار خوبی که ارایه کرده اید. موفقیت بیشتر شما را ارزومندم
    کاظمی

    امتیاز به این دیدگاه : Thumb up 0 Thumb down 0

  4. arman نوشته است:

    زحمت کشیدید ، تشکر و موفق باشید

    امتیاز به این دیدگاه : Thumb up 0 Thumb down 0

  5. m.e.mexico نوشته است:

    kheyli jaleb bod

    امتیاز به این دیدگاه : Thumb up 0 Thumb down 0

  6. comi نوشته است:

    afarin be talashet edame bede ahsan

    امتیاز به این دیدگاه : Thumb up 0 Thumb down 0

  7. سهیل نوشته است:

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

    ممنون میشم راهنمییم کنین.
    خدانگهدار.

    امتیاز به این دیدگاه : Thumb up 0 Thumb down 0

  8. nima نوشته است:

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

    امتیاز به این دیدگاه : Thumb up 0 Thumb down 0

  9. sara نوشته است:

    salam
    Omidvaram dar hameye karhat movafagh bashi

    امتیاز به این دیدگاه : Thumb up 0 Thumb down 0

  10. صیقل وازی نوشته است:

    خیلی جالب بود .موفق باشید

    امتیاز به این دیدگاه : Thumb up 0 Thumb down 0

  11. sani نوشته است:

    salam matlab khobi bod omidvaram darajat balatar beri

    امتیاز به این دیدگاه : Thumb up 0 Thumb down 0

  12. mehrzad نوشته است:

    سلام و خسته نباشی
    مطلب بسیار جالبی بود

    امتیاز به این دیدگاه : Thumb up 0 Thumb down 0

  13. محمود نوشته است:

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

    امتیاز به این دیدگاه : Thumb up 1 Thumb down 0