سلام
دوستان من این برنامه رو نوشتم توی بسکام اجرا شد و هیچ اروری نداد.اما جوابی که در عمل می گیرم چیزی نیس که میخام.
"regfile = "m16def.dat$
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2
Config Kbd = Porta , Debounce = 50 , Delay = 100
Config Timer0 = Timer , Prescale = 64
Dim A As Byte
Enable Interrupts
Enable Timer0
On Timer0 Isr
Cursor Off
Startt:
A = 0
Do
Cls
Locate 1 , 1
Lcd A
Waitms 100
Incr A
Loop
Order:
Cls
Locate 1 , 1
"Lcd "hi world
Waitms 100
Goto Startt
End
Isr:
Do
A = Getkbd()
If A > 15 Then Goto Isr
If A = 14 Then Goto Order
Loop
Return
میخام ابتدا از صفر شروع به شمارش کنه و هروقت دکمه = رو بزنم یه عبارتی نوشته بشه و از اول بشمره.ولی تو عمل،ابتدا فقط عدد صفر رو نشون میده و وقتی = رو میزنم ،عبارت نوشته میشه و از اول شروع به شمارش میکنه ولی بعد از اون هرچی = رو میزنم هیچ اتفاقی نمیفته
لطفا راهنماییم کنید
دوستان من این برنامه رو نوشتم توی بسکام اجرا شد و هیچ اروری نداد.اما جوابی که در عمل می گیرم چیزی نیس که میخام.
"regfile = "m16def.dat$
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2
Config Kbd = Porta , Debounce = 50 , Delay = 100
Config Timer0 = Timer , Prescale = 64
Dim A As Byte
Enable Interrupts
Enable Timer0
On Timer0 Isr
Cursor Off
Startt:
A = 0
Do
Cls
Locate 1 , 1
Lcd A
Waitms 100
Incr A
Loop
Order:
Cls
Locate 1 , 1
"Lcd "hi world
Waitms 100
Goto Startt
End
Isr:
Do
A = Getkbd()
If A > 15 Then Goto Isr
If A = 14 Then Goto Order
Loop
Return
میخام ابتدا از صفر شروع به شمارش کنه و هروقت دکمه = رو بزنم یه عبارتی نوشته بشه و از اول بشمره.ولی تو عمل،ابتدا فقط عدد صفر رو نشون میده و وقتی = رو میزنم ،عبارت نوشته میشه و از اول شروع به شمارش میکنه ولی بعد از اون هرچی = رو میزنم هیچ اتفاقی نمیفته
لطفا راهنماییم کنید
دیدگاه