راه اندازی سون سگمنت 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 رقمی>>>
با فشردن هر کلید مقدار نمایشی کم و زیاد می شود. هنگامی که قبل از 0 کلید پایین فشرده شد به آخرین عدد میرود (9999) و هرگاه به آخرین عدد رود با فشردن کلید بالا به 0 باز میگردد.
بدرود وسلامت باشید. با پروژه های بیشتر درانتظارمان باشید:🎁💻
پروژه بعدی سون سگمنت 8 رقمی بابسکام avr>>