avatar_Celal Kızılırmak

KESME OLUŞTURMA

Başlatan Celal Kızılırmak, 29 Ağustos 2019, 17:21:22

Celal Kızılırmak

Değerli hocalarım bir sistemde iki adat kesme oluşturmak istiyorum.Yani hem usart kesmesi hemde INT/B0 kesmesi olacak nasıl bir yol izlemeliyim.Teşekkürler

furkan41

INT/B0 bacağındaki kesmeyi ve cevresel kesmeleri aktif edeceksiniz. UART kesmesinide aktif edeceksin daha sonra Interrupt alt programında if şartı ile hangi kesmenin olduğunu sorgulatacaksınız. ona görede işlem yaptıracaksınız. Program için yardım istiyor iseniz. kullandığınız Mikro Denetleyiciyi söyleyin datasheetine bakıp ona göre birşey söyleyelim. Ayrıca Programlama için hangi platformu kullanıyorsunuz ? PIC basic derslerine konuyu actığınıza göre PBP ile uğraşıyorsunuz. PBP ilgili pek bilgim yok Lise'de görmüştüm bir daha da görmemek üzere defteri kapattım :D Eğer C ile ilgili yardım isterseniz buradayım.

ete

Öncelikle Global kesmeleri aktif edilmeli INTCON.7=1
USART kesmesi için Peripheral kesmeler aktive edilmeli INTCON.6=1 , ardından PIE1.5=1 şeklinde set edilmeli

INT0 (B0) kesmesi için INTCON.4=1 şeklinde set edilmeli.
INTCON=%11010000 şeklinde tek komut da verilebilir.

ON INTERRUPT GOTO KESME şeklinde bir satır eklenerek programın kesme oluştuğunda KESME etiketine gitmesi sağlanmalıdır.
Şimdi de programın sonuna ;
DISABLE
KESME:
      IF PIR1.5=1  '(USART kesme Bayrağı set olmuş ise)
         ....
         Buralara usart kesmesiile ilgili kumtlarını yazacaksın
         TEMP=RCREG  'şeklinde bir satır ekleyip kesme bayrağını sıfırlamış olacaksın.
         GOTO CIK diyerek CIK satırına geçeceksin.
      ENDIF
'bu satırdan itibaren B0 kesmesi ile ilgili satırları yazacaksın.
...
...
...
INTCON.1=0  şeklinde B0 kesme bayrağı sıfırlanacak.
CIK:
RESUME
ENABLE
Tabiiki çalışma frekansına bağlı olarak
DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive
DEFINE HSER_TXSTA 24h ' Enable transmit, BRGH = 1
DEFINE HSER_SPBRG 25  ' 9600 Baud @ 4MHz, 0,16%
DEFINE HSER_CLROERR 1 ' Clear overflow automatically

şeklinde komut satırlarınıda programın baş tarafına ekleyeceksin.
Hepsi bu kadar.

Ete


   

Powered by EzPortal