۰۲-آذر-۱۳۹۶, ۲۲:۵۳:۵۰
سلام و عرض ادب خدمت اعضای انجمن
خواستم بعد چند سال نوری عضویت توی اینجا یه تاپیک ارسال کرده باشم و از رکود بیرون بیام^_^ و ...
چند وقت پیش یه برد آموزشی ساده و اولیه واسه گیتهای منطقی طراحی کردم که بیشتر واسه افراد مبتدی کاربرد داره گفتم اینجا بزارمش شاید بدرد کسی دیگه بخوره
و در کنارش چون توی بعضی از طراحی ها یه سری مورد دیدم (البته از آدمای مبتدی مثل خودم)چندتا نکته ساده توی طراحی مدار وفیبر هم به تاپیک پیوست کردم (پست بعدی)
اشکالات توی برنامه نویسی و شماتیک رو هم به بزرگواری خودتون ببخشید و خوشحال میشم اگه اشکال یا نکته ای توش هست بهم بگید
این برنامه مدار که به زبان بیسیک هست:
این هم تصویری از شماتیک
توی پیوست سورسش رو کامل گذاشتم میتونید دانلود کنید»
برنامه مدار:
خیلی ساده نوشته شده اصل برنامه با کانتر و دستور Select Case نوشته شده وخلاصه برنامه اینه که تایمر 1رو توی مد کانتر گذاشتم و مقدار حد نوشتم براش و مقدار خود تایمر رو توی یه متغیر ریختم که به ازای هر مقدار یکی از اجزای برنامه اجرا بشه و یه گیت نمایش داده بشه
شماتیک مدار:
سوکت power2 واسه متصل کردن باتری به مدار،سوکت power select میتونه یه چیزی مثل جمپر یا کلید باشه واسه انتخاب تغذیه (ورودی5ولتی یا باتری) ...
فایل شبیه سازی و طراحی برد توی پیوست هست
واسه طراحی برد تو کتابخانه پروتئوس دکمه ها فوت پرینت نداشتن و LCD هم فوت پرینتش 14 پایه و دیپ بود که موقتا وبا عجله تغییرشون دادم یخورده بهم ریختن شاید واسه تغییرات توی مدار با اشکال مواجه بشید اگه اشکال پیش اومد بگید تا کتابخونه رو هم بزارم
ورژن پروتئوس که باهاش طراحی کردم 8.1هست
توضیحی ایرادی ...ی هست بفرمایید^_^
خواستم بعد چند سال نوری عضویت توی اینجا یه تاپیک ارسال کرده باشم و از رکود بیرون بیام^_^ و ...
چند وقت پیش یه برد آموزشی ساده و اولیه واسه گیتهای منطقی طراحی کردم که بیشتر واسه افراد مبتدی کاربرد داره گفتم اینجا بزارمش شاید بدرد کسی دیگه بخوره
و در کنارش چون توی بعضی از طراحی ها یه سری مورد دیدم (البته از آدمای مبتدی مثل خودم)چندتا نکته ساده توی طراحی مدار وفیبر هم به تاپیک پیوست کردم (پست بعدی)
اشکالات توی برنامه نویسی و شماتیک رو هم به بزرگواری خودتون ببخشید و خوشحال میشم اگه اشکال یا نکته ای توش هست بهم بگید
این برنامه مدار که به زبان بیسیک هست:
کد:
$regfile "m8def.dat"
$crystal = 1000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Rs = Portb.5 , E = Portb.4 , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.0
Config Timer1 = Counter , Edge = Falling
Config Portd.3 = Output
'^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^
Dim A As Bit
Dim B As Bit
Dim C As Word
Dim N As Bit
Dim M As Bit
'^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^
Deflcdchar 1 , 32 , 32 , 14 , 21 , 31 , 21 , 14 , 32 ';KAREKTER ALAMAT XOR
'^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^
Cls
Lcd "^_^"
Cursor Off
Wait 1
Cls
Lcd "1NOT 2AND 3NAND"
Lowerline
Lcd "4OR5NOR 6XOR7XNR"
'^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^
Do
If Pind.0 = 0 Then
Counter1 = 0
Cls
Do
A = Pind.1
B = Pind.2
C = Counter1
If C = 8 Then
Counter1 = 0
End If
'^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^
Select Case C
'^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^
Case 1 'NOT
Locate 1 , 1
Lcd "NOT "
Locate 1 , 9
Lcd " "
Locate 2 , 1
Lcd "RABETE "
Locate 2 , 8
Lcd "F=A' "
Locate 1 , 5
Lcd " A="
Locate 1 , 8
Lcd A
N = Not A
Locate 1 , 14
Lcd "F="
Locate 1 , 16
Lcd N
Portd.3 = N
'^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^
Case 2 'AND
Locate 1 , 1
Lcd "AND "
Locate 2 , 1
Lcd "RABETE "
Locate 2 , 8
Lcd "F=(A.B) "
Locate 1 , 5
Lcd " A="
Locate 1 , 10
Lcd "B="
Locate 1 , 8
Lcd A
Locate 1 , 12
Lcd B
M = A And B
Locate 1 , 14
Lcd "F="
Locate 1 , 16
Lcd M
Portd.3 = M
'^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^
Case 3 'NAND
Locate 1 , 1
Lcd "NAND"
Locate 2 , 1
Lcd "RABETE "
Locate 2 , 8
Lcd "F=(A.B)'"
Locate 1 , 5
Lcd " A="
Locate 1 , 10
Lcd "B="
Locate 1 , 8
Lcd A
Locate 1 , 12
Lcd B
M = A And B
N = Not M
Locate 1 , 14
Lcd "F="
Locate 1 , 16
Lcd N
Portd.3 = N
'^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^
Case 4 'OR
Locate 1 , 1
Lcd "OR "
Locate 2 , 1
Lcd "RABETE "
Locate 2 , 8
Lcd "F=(A+B) "
Locate 1 , 5
Lcd " A="
Locate 1 , 10
Lcd "B="
Locate 1 , 8
Lcd A
Locate 1 , 12
Lcd B
M = A Or B
Locate 1 , 14
Lcd "F="
Locate 1 , 16
Lcd M
Portd.3 = M
'^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^
Case 5 'NOR
Locate 1 , 1
Lcd "NOR "
Locate 2 , 1
Lcd "RABETE "
Locate 2 , 8
Lcd "F=(A+B)'"
Locate 1 , 5
Lcd " A="
Locate 1 , 10
Lcd "B="
Locate 1 , 8
Lcd A
Locate 1 , 12
Lcd B
M = A Or B
N = Not M
Locate 1 , 14
Lcd "F="
Locate 1 , 16
Lcd N
Portd.3 = N
'^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^
Case 6 'XOR
Locate 1 , 1
Lcd "XOR "
Locate 2 , 1
Lcd "RABETE "
Locate 1 , 5
Lcd " A="
Locate 2 , 8
Lcd "F=(A"
Locate 2 , 12
Lcd Chr(1)
Locate 2 , 13
Lcd "B) "
Locate 1 , 10
Lcd "B="
Locate 1 , 8
Lcd A
Locate 1 , 12
Lcd B
M = A Xor B
Locate 1 , 14
Lcd "F="
Locate 1 , 16
Lcd M
Portd.3 = M
'^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^
Case 7 'XNOR
Locate 1 , 1
Lcd "XNOR"
Locate 2 , 1
Lcd "RABETE "
Locate 2 , 8
Lcd "F=(A"
Locate 2 , 12
Lcd Chr(1)
Locate 2 , 13
Lcd "B)'"
Locate 1 , 5
Lcd " A="
Locate 1 , 10
Lcd "B="
Locate 1 , 8
Lcd A
Locate 1 , 12
Lcd B
M = A Xor B
N = Not M
Locate 1 , 14
Lcd "F="
Locate 1 , 16
Lcd N
Portd.3 = N
'^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^
Case Else
Locate 1 , 1
Lcd "BARAI SHORO OK"
Locate 2 , 1
Lcd "RA FESHAR DAHID "
End Select
'^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^
Loop
End If
Loop
End
این هم تصویری از شماتیک
توی پیوست سورسش رو کامل گذاشتم میتونید دانلود کنید»
برنامه مدار:
خیلی ساده نوشته شده اصل برنامه با کانتر و دستور Select Case نوشته شده وخلاصه برنامه اینه که تایمر 1رو توی مد کانتر گذاشتم و مقدار حد نوشتم براش و مقدار خود تایمر رو توی یه متغیر ریختم که به ازای هر مقدار یکی از اجزای برنامه اجرا بشه و یه گیت نمایش داده بشه
شماتیک مدار:
سوکت power2 واسه متصل کردن باتری به مدار،سوکت power select میتونه یه چیزی مثل جمپر یا کلید باشه واسه انتخاب تغذیه (ورودی5ولتی یا باتری) ...
فایل شبیه سازی و طراحی برد توی پیوست هست
واسه طراحی برد تو کتابخانه پروتئوس دکمه ها فوت پرینت نداشتن و LCD هم فوت پرینتش 14 پایه و دیپ بود که موقتا وبا عجله تغییرشون دادم یخورده بهم ریختن شاید واسه تغییرات توی مدار با اشکال مواجه بشید اگه اشکال پیش اومد بگید تا کتابخونه رو هم بزارم
ورژن پروتئوس که باهاش طراحی کردم 8.1هست
توضیحی ایرادی ...ی هست بفرمایید^_^