6 Ekim 2013 Pazar

'****************************************************************
'*  Name    : Buton_16F628A.BAS                                        *
'*  Author  : Şinasi Yavuz                                     *
'*  Notice  : Copyright (c) 01,12,2010                          *
'*          :                              *
'*  Date    :  01,12,2010                                       *
'*  Version : 1.0                                               *
'*  Notes   :                          *
'*          :                                                   *
'BAS:
'IF TUS0=0 THEN ‘Tuşa  basılmadığı zaman Tus=1 dir basılınca 0 olur.
'TOGGLE LED0 ‘ LED’in  durumunu değiştir yak veya söndür.
'WHILE TUS0=0 ‘ hala tuşa  basılı tutuluyor ise
'wend ‘ bırakılıncaya kadar  bekle.
'endIF ‘ tuş bırakılınca  buraya geç.

 'IF TUS1=0 THEN TOGGLE  LED1
'IF TUS2=0 THEN TOGGLE LED2
'IF TUS3=0 THEN TOGGLE LED3

' IF TUS4=0 THEN
'TOGGLE LED4
'WHILE TUS4=0
'WEND
'ENDIF

' TUS kullanımı son derece değişik neticeler verir.  Yukarıdaki örnekte


' toplam 5 adet Tuş bulunmaktadır. İlk tuş ile sonuncu tuş korumaya  alınmıştır.


' korumadan kasıt tuşa bir kere basılınca Toggle komutu icra edilmekte  ancak


' tuş bırakılıncaya kadar başka hiç bir işlem yapılmamaktadır.


' Diğer tuşlarda ise koruma yoktur. Toggle komutu yerine getirildikten  sonra


' program çok hızlı bir şekilde yeniden aynı tuşa bakmakta ve şayet  halen basılı


' ise bir kez daha toggle komutunu icra etmektedir. Tüm tuşları  deneyerek aradaki


' farkı görmeye çalışınız. Gerekirse PAUSE 100 süresini daha da  kısaltarak farkı görmeye
' çalışınız.

' PAUSE 100
'GOTO BAS
'END



'****************************************************************

DEFINE LOADER_USED 1
DEFINE  OSC     4
'@ DEVICE pic16F628a,xt_OSC,mclr_off
  @ DEVICE pic16F628a, INTRC_OSC_NOCLKOUT,mclr_off
But var portb.1
led var portb.0
i var byte



 OPTION_REG.7 = 0
CMCON=7

high portb.0
pause 1000
low portb.0

high portb.2
pause 1000
low portb.2

high portb.3
pause 1000
low portb.3

high portb.4
pause 1000
low portb.4

high portb.5
pause 1000
low portb.5

BASLA:



IF but=0 THEN
TOGGLE LED
WHILE but=0
WEND
ENDIF
pause 100

GOTO BASLA

END

0 yorum:

Yorum Gönder