1 / 17

Katkestused 1

Katkestused 1. PIC KATKESTUSED. KATKESTUS. CALL0x04. KATKESTUS. CALL 0x04. BIOS Interrupts. Katkestuste loogika. Saab keelata ära iga katkestust eraldi või kõiki ühekorraga. Katkestuste loogika. GIE – General Interrupt Enable. xxxIF – I nterrupt F LAG (Tekitab katkestav seade)

lark
Download Presentation

Katkestused 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Katkestused 1 PIC KATKESTUSED

  2. KATKESTUS CALL0x04

  3. KATKESTUS CALL 0x04

  4. BIOS Interrupts

  5. Katkestuste loogika Saab keelata ära iga katkestust eraldi või kõiki ühekorraga

  6. Katkestuste loogika GIE – General Interrupt Enable xxxIF –Interrupt FLAG (Tekitab katkestav seade) xxxIE –Interrupt Enable (Programm lubab)

  7. Katkestuste loogika PEIE – Peripheral Interrupt Enable xxxIF –Interrupt FLAG (Tekitab katkestav seade) xxxIE –Interrupt Enable (Programm lubab)

  8. Katkestuste loogika EE – EEPROM Write completeAD – A/D ConverterRC – USART ReceiveTX – USART TransmitSSP – Synchronous Serial PortCCP1, CCP2 – Capture/Compare/PWMTMR1, TMR2 – TimerBCL – SSP I2C mode Bus CollisionCM - Comparator xxxIF –Interrupt FLAG (Tekitab katkestav seade) xxxIE –Interrupt Enable (Programm lubab)

  9. Katkestuste registrid INTerrupt CONtrol register xxxE = 1 – katkestus lubatudxxxE = 0 – katkestus keelatud xxxF = 1 – sündmus olixxxF = 0 – sündmust ei olnud

  10. Katkestuste registrid xxxF = 1 – sündmus olixxxF = 0 – sündmust ei olnud xxxE = 1 – katkestus lubatudxxxE = 0 – katkestus keelatud

  11. Loeb käsu kohal PCTäidab käsu kohal PC-1 INTF läheb ise 1 -ks Loeb käsu kohal PC+1Täidab käsu kohal PC PC+1 kirjutatakse Stacki,GIE bitt läheb ise 0 -ks Loeb käsu kohal 0004h Täidab katkestuse programmi Katkestuse programm peab lõppema käsuga RETFIE Stackist loetakse PC+1,GIE bitt läheb ise 1 -ks PC PC+1 Loeb käsu kohal PC+1ja põhiprogramm jätkub

  12. Loeb käsu kohal PCTäidab käsu kohal PC-1 INTF läheb ise 1 -ks Loeb käsu kohal PC+1Täidab käsu kohal PC PC+1 kirjutatakse Stacki,GIE bitt läheb ise 0 -ks Loeb käsu kohal 0004h Täidab katkestuse programmi Midagi on puudu ????? Katkestuse programm peab lõppema käsuga RETFIE Stackist loetakse PC+1,GIE bitt läheb ise 1 -ks Loeb käsu kohal PC+1ja põhiprogramm jätkub

  13. Loeb käsu kohal PCTäidab käsu kohal PC-1 INTF läheb ise 1 -ks Loeb käsu kohal PC+1Täidab käsu kohal PC PC+1 kirjutatakse Stacki,GIE bitt läheb ise 0 -ks Loeb käsu kohal 0004h Täidab katkestuse programmi Mis juhtub, kui RETFIE ajal on INTF 1 ? Otsekohe tekib uus katkestus!! Katkestuse programm peab seadma INTF 0 -ks Katkestuse programm peab lõppema käsuga RETFIE Stackist loetakse PC+1,GIE bitt läheb ise 1 -ks Loeb käsu kohal PC+1ja põhiprogramm jätkub

  14. Ükski asi ei toimu otsekohe Katkestuste latentsus GIE bitt läheb nulliks tühja käsutsükli ajal 3 – 4 tsüklit4 MHz – tsükkel 1 μs ingl. k. late - hilja Loetakse katkestuse vektorist käsk Täidetaksekatkestuse vektori käsk INTF seatakse järgmise OSC1 frondiga aga protsessor saab sellest aru alles järgmise Q1 ajal

  15. Millal kasutada katkestust ja millal mitte? Saab ka ilma katkestuseta – kontrollida pidevalt biti olekut.

  16. Millal kasutada katkestust ja millal mitte? Kui katkestused toimuvad suht. harva ja protsessor peab pidevalt tegelema millegi muuga, näiteks arvutustega või millegi lülitamisega. Katkestused ei tohi tekkida liiga sageli.Uus katkestus ei tohi tulla enne kui eelmise katkestuse teenindamise programm on lõpetanud.

  17. On võimalus, et katkestus tekib samal ajal kui ma tahan katkestust keelata Loop BCF INTCON,GIE ; Disable BTFSC INTCON,GIE ; Kas 0 ? GOTO Loop ; Ei ...... ; Jah BSF INTCON,GIE ; Enable

More Related