Mikrovaldiklio PIC16F84A inversijos, apkeitimo, loginių funkcijų ir rotacijos komandų tyrimas 5 laboratorinio darbo ataskaita Atliko: KT– 5/1 gr. st. Data: 2008 spalio 13 d. 1. Darbo tikslas: Išstudijuoti inversijos comf, apkeitimo swapf, rotacijos rlf, rrf ir loginių funkcijų andwf, andlw, iorwf, iorlw, xorwf, xorlw komandas. 2. MV PIC16F84A komandų comf, swapf, rlf, rrf, andwf, andlw, iorwf, iorlw, xorwf, xorlw analizė. Komanda comf invertuoja f registro skilčių turinį, t. y. „0“ keičia į „1“, o „1“– į „0“. Šiuo atveju dvejetainis skaičius 11100000, įkeltas į PORTB registrą, yra keičiamas į 00011111. Jei operande po kablelio yra įrašomas 1, tai šio veiksmo rezultatas yra įkeliamas į f registrą (šiuo atveju į PORTB registrą), jei 0– į W registrą. Komanda swapf (swap nibbles in f) apkeičia vietomis f registro tetradas, t. y. skaičius, esančius keturiose aukštesnėse skiltyse, apkeičia su skaičiais, esančiais keturiose žemesnėse skiltyse. Šiuo atveju PORTB registro dvejetainis skaičiaus 11100000 yra keičiamas į 00001110. Jei operande po kablelio yra įrašomas 1, tai šio veiksmo rezultatas yra įkeliamas į f registrą, jei 0– į W registrą. Komanda rlf atlieka skaičiaus, esančio f registre, rotaciją į kairę, t. y. perstumia registro viduje jo turinį per vieną skiltį į kairę, įskaitant keliamojo vieneto požymio bitą C, saugojamą specialiajame registre STATUS. Jei šio veiksmo rezultatą reikia įkelti į f registrą, tuomet operande po kablelio yra rašomas 1, jei į W registrą– 0. Tarkime programoje komanda rlf yra kartojama 7 kartus ir rezultatas yra įkeliamas į f registrą (į PORTB registrą). Dėl to dvejetainis skaičius 00000001, esantis PORTB registre, pirmą kartą įvykdžius komandą rlf yra keičiamas į 00000010, antrą kartą– į 00000100 ir t. t., t. y. „1“ per programos ciklą yra perstumiamas į kairę iš žemiausiosios registro skilties į aukščiausiąją. Kadangi dvejetainio skaičiaus perstūmimas į kairę 2 kartus padidina jo vertę, tai komanda rlf gali būti naudojama daugybos iš 2n veiksmui atlikti, kur n rodo per kiek skilčių yra perstumtas į kairę skaičius Komanda rrf yra analogiška komandai rlf. Ji atlieka skaičiaus, esančio f registre, rotaciją į dešinę, t. y. perstumia registro viduje jo turinį per vieną skiltį į dešinę, įskaitant keliamojo vieneto požymio bitą C, saugojamą specialiajame registre STATUS. Jei šio veiksmo rezultatą reikia įkelti į f registrą, tuomet operande po kablelio yra rašomas 1, jei į W registrą– 0. Tarkime programoje komanda rrf yra kartojama 7 kartus ir kiekvieną kartą rezultatas yra įkeliamas į f registrą (į PORTB registrą). Dėl to dvejetainis skaičiaus 10000000, esantis PORTB registre, pirmą kartą įvykdžius komandą rrf yra keičiamas į 01000000, antrą kartą– į 0010000 ir t. t., t. y. „1“ per programos ciklą yra perstumiamas į dešinę iš aukščiausiosios registro skilties į žemiausiąją. Kadangi dvejetainio skaičiaus perstūmimas į dešinę 2 kartus sumažina jo vertę, tai komanda rrf gali būti naudojama dalybos iš 2n veiksmui atlikti. Komanda andwf vykdo loginę IR operaciją tarp dvejetainių skaičių, esančių atitinkamose W ir f registrų skiltyse. Tarkime į W registrą yra įkeltas skaičius 00111111, o į PORTB registrą– 11100000, tai šios loginės operacijos rezultatas pagal loginių operacijų teisingumo lentelę (3.1 lentelė) yra 00100000. Jei operande po kablelio yra įrašomas 1, tai operacijos rezultatas yra įkeliamas į f registrą, jei 0– į W registrą. Komanda andlw vykdo loginę IR operaciją tarp dvejetainių skaičių, esančių atitinkamose skaičiaus l ir skaičiaus, įkelto į W registrą, skiltyse. Tarkime skaičius l yra 10000000, o į W registrą yra įkeltas skaičius 11100000, tai šios loginės operacijos rezultatas pagal loginių operacijų teisingumo lentelę (3.1 lentelė) yra 10000000. Jis yra įkeliamas į W registrą. Komanda iorwf vykdo loginę ARBA operaciją tarp dvejetainių skaičių, esančių atitinkamose W ir f registrų skiltyse. Tarkime į W registrą yra įkeltas skaičius 00111111, o į PORTB registrą– 11100000, tai šios loginės operacijos rezultatas pagal loginių operacijų teisingumo lentelę (3.1 lentelė) yra 11111111. Jei operande po kablelio yra įrašomas 1, tai operacijos rezultatas yra įkeliamas į f registrą, jei 0– į W registrą. Komanda iorlw vykdo loginę ARBA operaciją tarp dvejetainių skaičių, esančių atitinkamose skaičiaus l ir skaičiaus, įkelto į W registrą, skiltyse. Tarkime skaičius l yra 10000000, o į W registrą yra įkeltas skaičius 11100000, tai šios loginės operacijos rezultatas pagal loginių operacijų teisingumo lentelę (3.1 lentelė) yra 11100000. Jis yra įkeliamas į W registrą. Komanda xorwf vykdo loginę „sumos moduliu 2“ operaciją tarp dvejetainių skaičių, esančių atitinkamose W ir f registrų skiltyse. Tarkime į W registrą yra įkeltas skaičius 00111111, o į PORTB registrą– 11100000, tai šios loginės operacijos rezultatas pagal loginių operacijų teisingumo lentelę (3.1 lentelė) yra 11011111. Jei operande po kablelio yra įrašomas 1, tai operacijos rezultatas yra įkeliamas į f registrą, jei 0– į W registrą. Komanda xorlw vykdo loginę „sumos moduliu 2“ operaciją tarp dvejetainių skaičių, esančių atitinkamose skaičiaus l ir skaičiaus, įkelto į W registrą, skiltyse. Tarkime skaičius l yra 10000000, o į W registrą yra įkeltas skaičius 11100000, tai šios loginės operacijos rezultatas pagal loginių operacijų teisingumo lentelę (3.1 lentelė) yra 01100000. Jis yra įkeliamas į W registrą. 3. Loginių operacijų teisingumo lentelė. 3.1 lentelė. Loginių operacijų teisingumo lentelė Skaičių kombinacija Loginės operacijos rezultatas AND (IR) IOR (ARBA) XOR (suma moduliu 2) 00 0 0 0 01 0 1 1 10 0 1 1 11 1 1 0 4. Programų, išsaugotų atliekant laboratorinio darbo 22 ir 27 punktų užduotis, tekstai ir komentarai. Programos, išsaugotos atliekant 22 laboratorinio darbo užduoties punktą, tekstas ir komentarai. ;Zemo daznio impulsu generatorius su xorlw komanda LIST p=16F84A #INCLUDE
Šį darbą sudaro 1337 žodžiai, tikrai rasi tai, ko ieškai!
★ Klientai rekomenduoja
Šį rašto darbą rekomenduoja mūsų klientai. Ką tai reiškia?
Mūsų svetainėje pateikiama dešimtys tūkstančių skirtingų rašto darbų, kuriuos įkėlė daugybė moksleivių ir studentų su skirtingais gabumais. Būtent šis rašto darbas yra patikrintas specialistų ir rekomenduojamas kitų klientų, kurie po atsisiuntimo įvertino šį mokslo darbą teigiamai. Todėl galite būti tikri, kad šis pasirinkimas geriausias!
Norint atsisiųsti šį darbą spausk ☞ Peržiūrėti darbą mygtuką!
Mūsų mokslo darbų bazėje yra daugybė įvairių mokslo darbų, todėl tikrai atrasi sau tinkamą!
Panašūs darbai
Atsisiuntei rašto darbą ir neradai jame reikalingos informacijos? Pakeisime jį kitu nemokamai.
Pirkdamas daugiau nei vieną darbą, nuo sekančių darbų gausi 25% nuolaidą.
Išsirink norimus rašto darbus ir gauk juos akimirksniu po sėkmingo apmokėjimo!