۱۶-اردیبهشت-۱۳۸۷, ۱۲:۱۹:۵۵
۱۶-اردیبهشت-۱۳۸۷, ۱۵:۳۵:۳۴
۱۶-اردیبهشت-۱۳۸۷, ۱۸:۳۱:۵۶
mer30
۱۷-اردیبهشت-۱۳۸۷, ۱۲:۱۸:۲۹
سلام خسته نباشید ببخشید میشه یه توضیحاتی در باره این برنامه ماشین حساب بدهید یا اینکه یه برنامه با قطعه کد کمتر معرفی کنید آخه این برنامه خیلی بلند است و یاد گیری منطق آن سخت در ضمن در خط آخر هم چندین خطا دارد .
mer30
mer30

۲۲-اردیبهشت-۱۳۸۷, ۱۱:۰۲:۵۸
با سلام
در این برنامه 2 عدد باهم جمع میشود
$regfile = "m32def.dat"
$crystal = 12000000
Config Lcdpin = Pin , Db4 = Pind.0 , Db5 = Pind.1 , Db6 = Pind.2 , Db7 = Pind.3 , Rs = Pind.4 , E = Pind.5
Config Lcd = 16 * 2
Config Kbd = Portc , Debounce = 100
Dim A As Byte
Dim B As Byte
Dim C As Byte
Dim D As Byte
Dim E As Byte
Cls
Q:
A = Getkbd()
If A > 15 Then
Goto Q
End If
If A < 10 Then
Lcd A
End If
Z:
B = Getkbd()
If B > 15 Then
Goto Z
End If
If B = 13 Then
Locate 1 , 2
Lcd "/"
Goto W
End If
Goto Z
W:
C = Getkbd()
If C > 15 Then
Goto W
End If
If C < 10 Then
Lcd C
Goto S
End If
Goto W
S:
D = Getkbd()
If D > 15 Then
Goto S
End If
If D = 14 Then
D = A + C
Locate 1 , 7
Lcd D
End If
If D = 15 Then
Cls
Goto Q
End If
Goto S
End 'end program
در این برنامه 2 عدد باهم جمع میشود
$regfile = "m32def.dat"
$crystal = 12000000
Config Lcdpin = Pin , Db4 = Pind.0 , Db5 = Pind.1 , Db6 = Pind.2 , Db7 = Pind.3 , Rs = Pind.4 , E = Pind.5
Config Lcd = 16 * 2
Config Kbd = Portc , Debounce = 100
Dim A As Byte
Dim B As Byte
Dim C As Byte
Dim D As Byte
Dim E As Byte
Cls
Q:
A = Getkbd()
If A > 15 Then
Goto Q
End If
If A < 10 Then
Lcd A
End If
Z:
B = Getkbd()
If B > 15 Then
Goto Z
End If
If B = 13 Then
Locate 1 , 2
Lcd "/"
Goto W
End If
Goto Z
W:
C = Getkbd()
If C > 15 Then
Goto W
End If
If C < 10 Then
Lcd C
Goto S
End If
Goto W
S:
D = Getkbd()
If D > 15 Then
Goto S
End If
If D = 14 Then
D = A + C
Locate 1 , 7
Lcd D
End If
If D = 15 Then
Cls
Goto Q
End If
Goto S
End 'end program
۱۴-خرداد-۱۳۹۰, ۲۰:۰۶:۰۷
(۱۶-اردیبهشت-۱۳۸۷, ۱۵:۳۵:۳۴)1nafar نوشته است: [ -> ]باسلام:لینک مشکل داره
اینم برنامه ماشین حساب:
ماشین حساب
راستی شما برنامه ای دارید که دو عدد اعشاری رو بتونه باهم جمع کنه ؟

۱۴-خرداد-۱۳۹۰, ۲۱:۵۴:۰۰
برای جمع زدن اعداد اعشاری باید مقدار اعشارش را ازش جدا کنی و جداگانه با هم جمع بزنی و مقدار صحیح را هم جداگانه!!
البته این نکته مد نظر داشته باشید که تعداد رقم های اعشار از قبل باید تعریف شده باشه و یکان و دهگان و صد گان و.... هم جدا کنید (با تقسیم بر 10) و در نتیجه رقم نقلی از قسمت اعشار را با قسمت صحیح جمع بزنید.
موفق باشید
البته این نکته مد نظر داشته باشید که تعداد رقم های اعشار از قبل باید تعریف شده باشه و یکان و دهگان و صد گان و.... هم جدا کنید (با تقسیم بر 10) و در نتیجه رقم نقلی از قسمت اعشار را با قسمت صحیح جمع بزنید.
موفق باشید
۲۰-اردیبهشت-۱۳۹۱, ۱۵:۱۰:۴۶
سلام میشه برنامه ای و بذارید که با تغییر وضعیت بیت شماره ی 7 از پورت bعدد رو بگیره و در پورت dقرار بده؟ممنون
2 تا سوال دارم
یه برنامه ای که با تغییر وضعیت بیت شماره ی 7 از صفر به یک 5 عدد 7 بیتی و از ورودی b بگیره و در خروجی d قرار بni
و برنامه ای که با تغییر وضعیت dipswitchیک واحد به پورت dاضافه کنه
خیلی فوری احتیاج دارم حداقل تا امشب ممنونم
2 تا سوال دارم
یه برنامه ای که با تغییر وضعیت بیت شماره ی 7 از صفر به یک 5 عدد 7 بیتی و از ورودی b بگیره و در خروجی d قرار بni
و برنامه ای که با تغییر وضعیت dipswitchیک واحد به پورت dاضافه کنه
خیلی فوری احتیاج دارم حداقل تا امشب ممنونم
۲۰-اردیبهشت-۱۳۹۱, ۱۶:۱۹:۱۱
برنامه قبلی فقط اعداد یک رقمی رو محاسبه میکنه !
این برنامه 4 عمل اصلی با قابلیت اعشار ...
این برنامه 4 عمل اصلی با قابلیت اعشار ...
کد:
$regfile = "M32DEF.DAT"
$crystal = 8000000
Config Kbd = Portd
Config Lcdpin = Pin , Db4 = Pinb.4 , Db5 = Pinb.5 , Db6 = Pinb.6 , Db7 = Pinb.7 , Rs = Pinb.2 , E = Pinb.3
Config Lcd = 20 * 2
Dim A As Single
Dim B As Single
Dim S As Byte
Dim Yab As Single
Dim X As Byte
Dim Y As Byte
Star:
A = 0
S = 0
B = 0
Cls
Do
Start1:
X = Getkbd()
If X >= 16 Then Goto Start1
X = Lookup(x , Key)
If X = 47 Or X = 42 Or X = 45 Or X = 13 Or X = 61 Or X = 43 Then Exit Do
If S > 5 Then Goto Start1
A = A * 10
A = A + X
Locate 1 , 1
Lcd A
Waitms 100
Incr S
Loop
Cls
If X = 13 Then Goto Star
Y = X
S = 0
Locate 1 , 1
Lcd A ; Chr(y)
Waitms 100
Do
Start2:
X = Getkbd()
If X >= 16 Then Goto Start2
X = Lookup(x , Key)
If X = 47 Or X = 42 Or X = 45 Or X = 13 Or X = 61 Or X = 43 Then Exit Do
If S > 5 Then Goto Start2
B = B * 10
B = B + X
Locate 1 , 1
Lcd A ; Chr(y) ; B
Waitms 100
Incr S
Loop
If X = 13 Then Goto Star
S = 0
Locate 1 , 1
Lcd A ; Chr(y) ; B
Waitms 100
Select Case Y
Case 47 : Yab = A / B
Case 42 : Yab = A * B
Case 45 : Yab = A - B
Case 43 : Yab = A + B
End Select
Locate 2 , 1
Lcd " ="
Locate 2 , 2
Lcd Yab
A = Yab
S = 6
B = 0
Goto Start1
End
Key:
Data 7 , 8 , 9 , 47 , 4 , 5 , 6 , 42 , 1 , 2 , 3 , 45 , 13 , 0 , 61 , 43
۲۰-اردیبهشت-۱۳۹۱, ۲۲:۲۲:۱۰
خواهشض میکنم من تا امشب این 3 تا برنامه رو میخوام