16F84 STATUSS Reģistrēties

B

brpathirana

Guest
Hellow, man ir dažas šaubas par Microcontroller STATUSS reģistriem.Ja mēs uzskatām pic 16f84;

1) Kāpēc tas sastāv no 2 nos statusa reģistru par 2 vietām?

2) Ja tas ir nepieciešams, lai mainītu no 0 bankā līdz 1 bankas, ir iespējams rakstīt komandu šādā veidā?
BSF 03h, 5
Kas notiks, ja mēs rakstīt komandu šādā veidā?
BSF 83h, 5

Pl.man palīdzēt.

 
1.ir tikai viena statusa reģistrā.Iemesla dēļ, šķiet, ir divās vietās ir tā, ka lielākā daļa programmu ir nepieciešams tai piekļūt bieži neatkarīgi no tā, ko bankas pašlaik izvēlēts.Ja jūs uzskatāt, ka nekādi norādījumi, ka pārbaudes bitu STATUSS reģistra vai nu veikt nākamo norādījumu, vai tā pārlēkt pāri, ja banka bija ieslēgt būtu iespējams izlaist instrukciju bez nosēšanās bankā komutācijas kodu.Jūs redzēsiet dažas citas reģistri arī tiek plānots visās bankās.

2.Jūs varētu saņemt brīdinājumu no montētājam, lai pārbaudītu banka ir izvēlēts pareizi, bet tas tiks uzskatīts par tādu pašu darbību.

Starp citu, ir daudz labāks veids, rakstot kodu, kas padara to daudz vieglāk lasāms.Tā vietā, izmantojot reģistru un bitu skaitu, ja jūs iekļaut 16F84.inc galvenes faila sākumā savu programmu, varat izmantot reģistrēties un mazliet nosaukumu vietā.

Piemēram, var rakstīt "BSF 03h, 5" kā "BSF STATUSS, RP0", kas ir vieglāk lasīt.

Ja jūs izmantojat MPLab kā savu montētājs (bezmaksas un ļoti ieteicams), varat izmantot arī banksel direktīvu.Viss, kas Jums jādara, ir rakstīt banksel seko nosaukums reģistra jūs gatavojas izmantot blakus, un tas radīs kodu, lai RP0 un RP1 biti jums.Par 16F84 nav sarežģīti noteikt banku bitiem, bet, ja jums pāriet uz lielāku atbildīgajām kur reģistri ir sadalīti pa vairākām bankām, tā kļūst daudz vieglāk, ja lietojat banksel.

Brian.

 

Welcome to EDABoard.com

Sponsor

Back
Top