Kotisivu
Elektroniikka sivulle
Takaisin
Takaisin käskyihin
![]()
PORTA rekisteri osoitteessa 05H
PORTB rekisteri osoitteessa 06H
TRISA rekisteri osoitteessa 85H
TRISB rekisteri osoitteessa 86HPORTA / PORTB Rekisterit vastaavat piirin I/O portteja, joihin voidaan ohjelmassa kirjoittaa tai joita voidaan ohjelmassa lukea.
PORTA rekisterissä on käytössä vain 5bittiä joita voidaan ohjelmassa käsitellä, bitit 0...4.
PORTB rekisterissä on käytössä kaikki 8 bittiä bitit 0...7.
Rekisterit sijaitsevat kontrollerin muistialueella BANK0, PORTA osoitteessa 0x05 ja PORTB osoitteessa 0x06
| PORT | pin | PORT | pin | |
| PORTA,0 | 17 | PORTB,0 | 6 | |
| PORTA,1 | 18 | PORTB,1 | 7 | |
| PORTA,2 | 1 | PORTB,2 | 8 | |
| PORTA,3 | 2 | PORTB,3 | 9 | |
| PORTA,4 | 3 | PORTB,4 | 10 | |
| PORTB,5 | 11 | |||
| PORTB,6 | 12 | |||
| PORTB,7 | 13 |
TRISA / TRISB rekisterien sisältö määrää portin ominaisuuden, toimiiko portti tulona tai lähtönä.
Rekisterin kirjoitettavalla tiedolla asetetaan kontrollerin PORTA ja PORTB I/O portit joko tuloiksi tai lähdöiksi.
Rekisterit sijaitsevat kontrollerin muistialueella BANK1, TRISA osoitteessa 0x85 ja TRISB osoitteessa 0x86
|
7 |
6 | 5 | 4 | 3 | 2 | 1 | 0 |
| T | T | T | T | T | T | T | T |
| T = 1 Piirin nasta INPUT tulo. (oletusarvo kun piirille kytketään jännite) | |||||||
| T = 0 Piirin nasta OUTPUT lähtö | |||||||
Ohjelmoitaessa portteja, täytyy ensin määrittää minkä portin ja mikä bitti toimii tulona ja mikä lähtönä.
Jos esimerkiksi halutaan piirin jalka 9 tuloksi ja jalka 10 lähdöksi.
Määritetään ensin STATUS rekisterin bit 5:llä että halutaan käsitellä TRIS rekisteriä BANK1:ssä
BSF STATUS,5 ; Käsky asettaa STATUS rekisterin bit 5:n 1:ksi
MOVLW B'00001000' ; Käsky asettaa W rekisterin sisällöksi 00001000 binäärisenä eli bit 3 asetetaan 1:ksi
MOVWF TRISB ; Käsky siirtää W rekisterin sisällön TRISB rekisteriin.
BCF STATUS,5 ; Käsky asettaa STATUS rekisterin bit 5:n 0:ksiTämän jälkeen voidaan mikä tahansa muu, PORTB:n bitti asettaa ohjelmassa 0:aan tai 1:een, paitsi bit3, josta ohjelmassa voidaan vain lukea siihen tuleva tieto, 0 tai 1.
Porttiin kirjoitus, piirin jalan asettaminen tilaan 1 tai 0
BSF PORTB,0 ; Asettaa PORTB:n bitin 0, 1:ksi. Piirin jalka 6
BCF PORTB,1 ; Asettaa PORTB:n bitin 1, 0:ksi. Piirin jalka 7
BSF PORTB,4 ; Asettaa PORTB:n bitin 4, 1:ksi. Piirin jalka 10
Käskyn jälkeen tila pysyy asetettuna, kunnes se uudella käskyllä asetetaan toiseen tilaan.
Samaa käskyä voidaan käyttää useamman kerran peräkkäin, portin tila pysyy käskystä huolimatta ensimmäisellä kerralla asetetussa tilassa .Portin lukeminen PORTB bit3
BTFSC PORTB,3 ; Tarkistaa PORTB bit3:n tilan, jos tila on 0 ohitetaan seuraava käsky
GOTO OSOITE ; Hyppy paikkaan OSOITE, jos tila on 1
Ohjelma jatkuu tästä eteenpäin jos tila on alhaalla, piirin jalka 9.Ja vastaava tilanne toisin päin
BTFSS PORTB,3 ; Tarkistaa PORTB bit3:n tilan, jos tila on 1 ohitetaan seuraava käsky
GOTO OSOITE ; Hyppy paikkaan OSOITE, jos tila on 0
Ohjelma jatkuu tästä eteenpäin jos tila on ylhäällä, piirin jalka 9