راه اندازی سون سگمنت4تایی بابسکام وپروتوس

راه اندازی سون سگمنت 4 تایی با بسکام و پروتئوس

سلام براستادید. امروز آموزش راه اندازی سون سگمنت 4 رقمی با بسکام avr و پروتئوس را انجام میدهیم. مانند شکل پروژه بایستی درپروتئوس مدار را کشیده و برنامه نویسی را در بسکام انجام دهید و شبیه سازی پروژه را ببینید.این پروژه کاربردی وعملی میباشد.

من از یک روش جدید وکابردی استفاده کردم که می توان به جای استفاده از آیسی واشغال پایه ها ازیک سون سگمنت 4تایی استفاده کرد که می توان آن را از 0 تا 9999 مقدار دهی کرد. با استفاده از دو کلید میتوان عدد روی سون سگمنت را کم و زیاد کرد.

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

وسایل مورد نیاز پروژه:

سون سگمنت 4 تایی

میکرو مگا16

2 کلید فشاری

برد بورد 

جامپر

 

کد پروژه:

$regfile = "m16def.dat"
$crystal = 8000000
Config Portc = Input
Config Portb = Output
Config Porta.0 = Output : Ra Alias Porta.0
Config Porta.1 = Output : Rb Alias Porta.1
Config Porta.2 = Output : Rc Alias Porta.2
Config Porta.3 = Output : Rd Alias Porta.3 'yekan'
Dim I As Integer
Dim R_num As Byte
Dim B_seg1 As Byte
Dim B_seg2 As Byte
Dim B_seg3 As Byte
Dim B_seg4 As Byte
Dim Yekan As Word
Dim Num_s As String * 4 ' num_s=abcd
Dim S1 As String * 1
Dim S2 As String * 1
Dim S3 As String * 1
Dim S4 As String * 1
Config Timer2 = Timer , Prescale = 8
Enable Timer2
Enable Ovf2
On Ovf2 Over
Enable Interrupts
Start Timer2
Ra = 1
Rb = 1
Rc = 1
Rd = 1
Yekan = 0
Do

Debounce Pinc.0 , 1 , Up_key , Sub
Debounce Pinc.1 , 1 , Dn_key , Sub

Num_s = Str(yekan)
S1 = Mid(num_s , 1 , 1)
S2 = Mid(num_s , 2 , 1)
S3 = Mid(num_s , 3 , 1)
S4 = Mid(num_s , 4 , 1)

If Yekan < 10 Then
B_seg1 = 10
B_seg2 = 10
B_seg3 = 10
B_seg4 = Val(s1)
Elseif Yekan < 100 Then
B_seg1 = 10
B_seg2 = 10
B_seg3 = Val(s1)
B_seg4 = Val(s2)
Elseif Yekan < 1000 Then
B_seg1 = 10
B_seg2 = Val(s1)
B_seg3 = Val(s2)
B_seg4 = Val(s3)
Elseif Yekan < 10000 Then
B_seg1 = Val(s1)
B_seg2 = Val(s2)
B_seg3 = Val(s3)
B_seg4 = Val(s4)
End If

 

Loop
Up_key:
Incr Yekan
If Yekan > 9999 Then Yekan = 0
Return

Dn_key:
Decr Yekan
If Yekan = 65535 Then Yekan = 9999
Return

Over:
Incr R_num
If R_num > 3 Then R_num = 0
If R_num = 0 Then
Rd = 1
Portb = Lookup(b_seg1 , Number)
Ra = 0
End If

If R_num = 1 Then
Ra = 1
Portb = Lookup(b_seg2 , Number)
Rb = 0
End If
If R_num = 2 Then
Rb = 1
Portb = Lookup(b_seg3 , Number)
Rc = 0
End If
If R_num = 3 Then
Rc = 1
Portb = Lookup(b_seg4 , Number)
Rd = 0
End If
Return

End
Number:
Data &B00111111 , &B00000110 , &B01011011 
, &B01001111 , &B01100110 , &B01101101 
, &B01111101 , &B00000111 , &B01111111 
, &B01101111 , &B0000_0000

 

برای دانلود کلیک کنید

راه اندازی سون سگمنت 4 تایی با بسکام و پروتئوس

عملکرد پروژه شمارشگر سون سگمنت 4 رقمی>>>

با فشردن هر کلید مقدار نمایشی کم و زیاد می شود. هنگامی که قبل از 0 کلید پایین فشرده شد به آخرین عدد میرود (9999) و هرگاه به آخرین عدد رود با فشردن کلید بالا به 0 باز میگردد.

 

بدرود وسلامت باشید. با پروژه های بیشتر درانتظارمان باشید:🎁💻

 

پروژه بعدی سون سگمنت 8 رقمی بابسکام avr>>

پروژه شمارشگر سون سگمنت 8 رقمی با بسکام AVR

porya toomani

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *