امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
گرفتن عدد دو رقمی و بیشتر از کیبرد
نویسنده پیام
robojalal آفلاین
كاربر دو ستاره
**

ارسال‌ها: 162
موضوع‌ها: 11
تاریخ عضویت: شهریور ۱۳۸۹

تشکرها : 125
( 463 تشکر در 142 ارسال )
ارسال: #12
RE: گرفتن عدد دو رقمی و بیشتر از کیبرد
کد php:
$regfile "m16def.dat"
$crystal 1000000

Config Kbd 
Portd

Config Lcdpin 
Pin Rs Pinc.0 Pinc.1 Db4 Pinc.2 Db5 Pinc.3 Db6 Pinc.4 Db7 Pinc.5
Cursor Off 
Config Lcd 16 Cls

Dim Kbd 
As Byte
Dim Key 
As String 1
Dim Keys 
As String 8
Dim Vals 
As Long

Again
:
Do
Kbd Getkbd()
If 
Kbd >= 16 Then Goto Again
Key 
Lookupstr(kbd Keypad)

If 
Key "*" Then
Keys 
""
Cls Home Lcd "Clearing..."
Waitms 200
Goto Again
Elseif Len(keys) > 8 Then
Waitms 200
Goto Again
End 
If

Keys Keys Key
Cls 
Home Lcd Keys Waitms 200

'Vals = Val(keys)

Loop

Keypad:
Data "1" , "2" , "3" , ""
Data "4" , "5" , "6" , ""
Data "7" , "8" , "9" , ""
Data "*" , "0" , "" , "" 

این کد خیلی راحته
توضیحش هم گذاشتم

اعداد رو کنار هم میذاره
مثلا بار اول عدد 1
بار دوم عدد 4
و بار سوم عدد 5 زدیم به صورت 145 نشون میده که برای استفاده مانند ماشین حساب این کارکترها رو به عدد تبدیل کنیم که با دستور Val() این کار میکنیم

امیدورام به دردتون بخوره
موفق باشید ....


فایل‌(های) پیوست شده
.rar   keypad.rar (اندازه: 19.6 KB / تعداد دفعات دریافت: 98)



در راه علم هیچ وقت نگید نمی تونیم ، همه چیز تونستنی هست و فقط کمی اراده میخواد ، که شما دارین .Cool


http://robo-elec.blogfa.com

۲۷-مرداد-۱۳۹۲, ۰۱:۰۳:۳۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : babyy, hadikh73, Ambassador, رسول, omid_phoenix, helma
amoosa آفلاین
تازه وارد

ارسال‌ها: 17
موضوع‌ها: 3
تاریخ عضویت: دى ۱۳۸۹

تشکرها : 10
( 17 تشکر در 9 ارسال )
ارسال: #13
RE: گرفتن عدد دو رقمی و بیشتر از کیبرد
(۲۶-مرداد-۱۳۹۲, ۱۸:۲۹:۳۴)sinoo6 نوشته است: سلام خسته نباشین
من خواندن عدد 3 رقمی را اجرا کردم و ولی بد از زدن یکی دو رقم روی lcd اعداد عجیب قریب نشون میده
خودمم نفهمیدم مشکل از کجاست
میشه بگین مشکلش از کجاست؟

خوب ببین عدی که میدی از 255 بیشتره؟ چون احتمالا متغیرت از نوع بایته
۲۱-شهریور-۱۳۹۲, ۰۲:۴۸:۳۵
ارسال‌ها
پاسخ
jahan082 آفلاین
تازه وارد

ارسال‌ها: 1
موضوع‌ها: 0
تاریخ عضویت: دى ۱۳۹۲

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #14
RE: گرفتن عدد دو رقمی و بیشتر از کیبرد
سلام-من یه برنامه تو محیط cod vision دارم که یک عدد با استفاده از keypad روlcd نشون میده--اگه بخوامتو برنامم عدد دو رقمی بنویسه
تو برنامم باید چه تغیراتی بدم؟
۱۱-تير-۱۳۹۴, ۱۸:۰۸:۰۳
ارسال‌ها
پاسخ
lord mohsen آفلاین
تازه وارد

ارسال‌ها: 2
موضوع‌ها: 0
تاریخ عضویت: اردیبهشت ۱۳۹۲

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #15
RE: گرفتن عدد دو رقمی و بیشتر از کیبرد
سلام دوستان یه برنامه نوشتم قراره عدد سه رقمی از کیپد بگیره و بر رو 7seg نمایش بده مشکل داره نمیدونم ... میتونید کمک کنید؟؟؟
$regfile = "m32def.dat"
$crystal = 1000000
Config Kbd = Portd
Config Portb = Output
Ddra = 7
Dim Seg(16) As Byte , Yekan As Byte , Dahgan As Byte , Sadgan As Byte , Temp As Word
Dim A As Byte , Kbd As Word , Namber As Word , B As Byte , C As Byte , K As Byte
Seg(1) = &B01000000
Seg(2) = &B01111001
Seg(3) = &B00100100
Seg(4) = &B00110000
Seg(5) = &B00011001
Seg(6) = &B00010010
Seg(7) = &B00000010
Seg(8) = &B01111000
Seg(9) = &B00000000
Seg(10) = &B00010000
A = 0
B = 0
C = 0
Namber = 0
Do
Scan:
K = Getkbd()
If Kbd > 15 Then Goto Scan
Kbd = Lookup(k , Dat)
If Kbd > 999 Then Goto Scan
If A = 0 And B = 0 And C = 0 Then
   A = Kbd
Elseif A > 0 And B = 0 And C = 0 Then
   B = Kbd
Elseif A > 0 And B > 0 And C = 0 Then
   C = Kbd
Elseif A > 0 And B > 0 And C > 0 Then
   Namber = A * 10
   Namber = Namber + B
   Namber = Namber * 10
   Namber = Namber + C
Temp = Namber
Yekan = Temp Mod 10
Temp = Temp / 10
Dahgan = Temp Mod 10
Temp = Temp / 10
Sadgan = Temp Mod 10
Porta = &B00000011
Yekan = Yekan + 1
Portb = Seg(yekan)
Waitms 50
Porta = &B00000101
Dahgan = Dahgan + 1
Portb = Seg(dahgan)
Waitms 50

Porta = &B00000110
Sadgan = Sadgan + 1
Portb = Seg(sadgan)
Waitms 50
End If
Loop
Dat:
Data 7 , 4 , 1 , 1000 , 8 , 5 , 2 , 0 , 9 , 6 , 3 , 1000 , 1000 , 1000 , 1000 , 1000
۲۵-دى-۱۳۹۴, ۰۱:۰۸:۲۷
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [فوری] کمک درباره نویز گرفتن میکرو avr عابد مقدسیان 8 3,322 ۱۱-بهمن-۱۳۹۷, ۲۲:۴۱:۰۶
آخرین ارسال: 1نفر
  [سوال] مشکلات نویز گرفتن میکرو کنترلر avr عابد مقدسیان 5 1,973 ۱۷-آبان-۱۳۹۷, ۱۸:۰۰:۱۸
آخرین ارسال: alimogmov
  [فوری] ساخت نمایشگر شمارنده سه رقمی نزولی hamtoosi 1 2,490 ۲۵-دى-۱۳۹۴, ۰۱:۱۵:۵۹
آخرین ارسال: lord mohsen
  کمک برای شمارنده 3 رقمی مریم 89 9 6,027 ۲۲-آبان-۱۳۹۴, ۰۲:۵۶:۳۷
آخرین ارسال: amiri630
  [سوال] شمارش معکوس سه رقمی سون سگمنت مالتی پلکس amiri630 0 2,853 ۱۷-آبان-۱۳۹۴, ۱۵:۳۶:۰۶
آخرین ارسال: amiri630
  شمارنده سه رقمی با امکان کنترل morvarid 1 2,557 ۲۴-مرداد-۱۳۹۴, ۱۵:۳۷:۱۴
آخرین ارسال: omid_phoenix
  داشتن یک عدد سه رقمی از adc در تمام حالات؟ cortex-m3 1 2,233 ۱۹-خرداد-۱۳۹۴, ۱۱:۳۶:۲۰
آخرین ارسال: milad15m
Question ریز ریز کردن اعداد چند رقمی EBKA 6 10,728 ۲۵-اردیبهشت-۱۳۹۴, ۰۶:۴۷:۳۱
آخرین ارسال: reza18b
  شمارنده دو رقمی با سون سگمنت زبان C و AVR hosseinip 12 15,488 ۲۳-اردیبهشت-۱۳۹۴, ۱۱:۰۹:۲۶
آخرین ارسال: hosseinip
  شمارنده دو رقمی از 0 تا 99 sinastar 14 18,916 ۰۸-اردیبهشت-۱۳۹۳, ۱۶:۵۳:۳۶
آخرین ارسال: Pixar

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS