200 likes | 385 Views
BAB XIII INTERRUPT. UNIVERSITAS JENEDERAL ACHMAD YANI RIZAL SURYANA. INTERRUPT. Suatu kondisi yang memaksa prosessor menghintikan sementara program utama untuk mengeksekusi rutin interrupt tertentu /Interrupt R outine Service. Sumber Interrupt AVR.
E N D
BAB XIIIINTERRUPT UNIVERSITAS JENEDERAL ACHMAD YANI RIZAL SURYANA
INTERRUPT Suatukondisi yang memaksaprosessormenghintikansementara program utamauntukmengeksekusirutin interrupt tertentu/Interrupt Routine Service
Sumber Interrupt AVR Jikaterdapat interrupt padawaktu yang samamakamikrokontrollerakanmelakukanpemilihan Interrupt denganprioritastertinggiakan yang dilaksanakanterlebihdahulu. INT0 dan INT1 merupakanprioritaskeduadanketigasetelah Reset
KONDISI INTTERUP INT0, INT1, INT2 LOW LEVEL ANY CHANGE FALLING EDGE RISSING EDGE
REGISTER INTERRUPT MCUCR MCUCSR GISCR GIFR
MCU Control And Status Register (MCUCSR) • Bit 6 – ISC2 : Interrupt Sense Control INT2 Untuk interrupt INT2 hanyamemilikisatu bit ISC, sehinggahanyamemiliki 2 kondisipemicu interrupt • 0 = Interrupt terjadijikaterjaditransisiturunpada PIN INT2 • 1 = Interrupt terjadijikaterjaditransisinaikpada PIN INT2 • Sumber Interrupt INT2, perubahantransisisinyal yang dapatmembangkitkan interrupt harusmemilikilebarpulsa minimal sekitar 50 ns
Status Register (SREG) • Digunakanuntukmenyimpaninformasidanhasiloperasiaritmatikaterakhir. • Bit 7 – I : Global Interrupt Enable digunakanuntukmengaktifkaninterupsisecaraumum (interupsi global). • 1 = Interrupt secaraumumaktif • 0 = Interrrupttidakaktif
Komunikasi Serial • Mikrokontrollerdilengkapidenganfasilitaskomunikasi, sistemkomunikasipadamikrokontrollerada 2 Jenisyaitu : • Parallel • Serial • Agar komunikasi serial dapatberjalandenganbaikdibutuhkansuatuprotokol/aturankomunikasi : • USART • SPI • I2C
JenisKomunikasi Serial Synchronous Clock dikirimkanbersamadengan data serial, tetapi clock dibangkitkansendiri-sendiribaikdisisipenerimamaupundisisipengirim Asynchronous tidakdiperlukan clock, karena data dikirimkandengankecepatantertentu yang samabaikpadapengirimmaupunpadapenerima
Universal Synchronous and Asynchronous Serial Receiver and Transmitter (USART) • Merupakanbagiandarimikrokontroller yang menerjemahkan bit-bit paralelmenjadi bit-bit serail. • USART protokolkomunikasiyang digunakandalampengiriman data serial antara device satudengan yang lainnya. • KomponenUtama USART : • Penyangga (Buffer) Transmit/Receive • Pengendali (Control) Transmit/Receive • KendaliLogika Read/Write • Kendali Modem
Pengiriman data, kecepatanantarapengirimdanpenerimaharussamakarenapaket data dikirimtiap bit mengandalkan clock tersebut. Dalampengiriman data hanyadibutuhkansatukabeltransmisi. Tetapi model iniakanmendapatkanmasalahketikajarak yang ditempuhmenjadijauh. Hal inidisebabkansemakincepatdanjauhnyajaraktransmisimembuatpaket-paket bit data menjaditerdistorsisehinggadata yang dikirimatauditerimabisamengalami error
Baud Rate Paket data UART, Clock yang dikirimkanbergantungdarinilai baud rate. Baud rate yang adaadalahnilai-nilaitetap yang tidakbisadiubahubahdarikisarannilai 110 sampai 11059200 bps (bit per second) Rumusanuntukmencari Baud Rate = Fosc/(16(UBRR+1)) UBRR = (Fosc/(16*Baud Rate)) – 1 Error (%) = (BaudRateAktual – BaudRateAwal)100%
Register UASRT • Register UDR buffer untukpenyimpanan data yang dikirimatau yang diterima • Bit 7 – RXC: USART Receive Complete • RXC otomatisakanbernilai 1, jikaada data baru di buferpenerima. RXC otomatisakanbernilai 0, jika data sudahdibacaataubuferpenerimakosong. • Bit 6 – TXC: USART Transmit Complete TXC otomatisakanbernilai 1, jika data di buffer selesaidikirim. • Bit 5 – UDRE: USART Data Register Empty UDRE otomatisakanbernilai 1 , jika register UDR kosong . receiver siapmenerima data. UDRE=0, UDR adaisinya . • Bit 4 – FE: Frame Error FE otomatisakanbernilai 1, jikaada frame eror. • Bit 3 – DOR: Data OverRun DOR otomatisakanbernilai 1, jika data datangketikabuferpenuh(terjadiantrian). • Bit 2 – PE: Parity Error PE otomatisakanbernilai 1, jikaterjadi parity eror. • Bit 1 – U2X: Double the USART Transmission Speed kitaset U2X=0, kecepatan normal. U2X=1 kecepatan 2xbaudrate. • Bit 0 – MPCM: Multi-processor Communication Mode kita set MCM=1 byte pertamaygditerimaharus 9 bit , jikatdk data byte akandiabaikan.bitiniterjadihanyauntukpenerimaansajapdkomunikasibanyak microcontroller.
Register UCSRB • Bit 7 – RXCIE: RX Complete Interrupt Enable kitaset RXCIE=1 , interupsi receive complete aktif. • Bit 6 – TXCIE: TX Complete Interrupt Enable kitaset TXCIE=1, interupsi transmit complete aktif. • Bit 5 – UDRIE: USART Data Register Empty Interrupt Enable kitaset UDRIE=1, interupsi UDRE aktip. • Bit 4 – RXEN: Receiver Enable kitaset RXEN=1, USART receiver aktif. miconbisamnerima data. • Bit 3 – TXEN: Transmitter Enable kitaset TXEN=1, UsartTransmiteraktif. miconbisamengirim data. • Bit 2 – UCSZ2: Character Size kitaset UCSZ2:UCSZ1:UCSZ0 = 011 , panjang data 8 BIT. (bit UCSZ1 dan UCSZ0 ada di register UCSRC)
Register UCSRC • Bit 7 – URSEL: Register Select . memilih UCSRC atau UBRRH kita set URSEL=1 , UCSRC aktif ,UBRRH tdkaktif, kita set URSEL=0 , UBRRH aktif , UCRSC tdkaktif. • Bit 6 – UMSEL: USART Mode Select kita set UMSEL=1 , mode synceonous. UMSEL=0 mode asyncronous • Bit 5:4 – UPM1:UMP0: Parity Mode • Bit 3 – USBS: Stop Bit Select • kita set USBS=0, stop bit =1 bit , USBS=1 panjang stop bit = 2 bit. • Bit 2:1 – UCSZ1:0: Character Size kita set UCSZ2:UCSZ1:UCSZ0 = 011 , panjang data 8 BIT. (bit UCSZ2 ada di register UCSRB) • Bit 0 – UCPOL: Clock Polarity bit inidigunakanuntuk mode syncoronoussaja. kita set UCPOL=0 trnasmisi clock naik, UCPOL=1 transmisi clock turun. (khususygini don’t care krnkitamenggunakan mode asyncronous)
Tugas MembuatRangkumanMulaidariAwalPerkuliahansampaiTerakhir Di Kumpulkan paling lambatHariSenin 06 – 01 - 2014