Rev. 1.20 128 January 23, 2015 Rev. 1.20 129 January 23, 2015
BS82B12A-3/BS82C16A-3/BS82D20A-3
Touch Key 8-Bit Flash MCU with LED/LCD Driver
BS82B12A-3/BS82C16A-3/BS82D20A-3
Touch Key 8-Bit Flash MCU with LED/LCD Driver
Transmit Break
IftheTXBRKbitissetthenbreakcharacterswillbesentonthenexttransmission.Breakcharacter
transmissionconsistsofastartbit,followedby13×N‘0’bitsandstopbits,whereN=1,2,etc.Ifa
breakcharacteristobetransmittedthentheTXBRKbitmustberstsetbytheapplicationprogram
andthenclearedtogeneratethestopbits.Transmittingabreakcharacterwillnotgenerateatransmit
interrupt.Notethatabreakconditionlengthisatleast13bitslong.IftheTXBRKbitiscontinually
keptatalogichighlevelthenthetransmittercircuitrywilltransmitcontinuousbreakcharacters.
AftertheapplicationprogramhasclearedtheTXBRKbit,thetransmitterwillnishtransmittingthe
lastbreakcharacterandsubsequentlysendoutoneortwostopbits.Theautomaticlogichighsatthe
endofthelastbreakcharacterwillensurethatthestartbitofthenextframeisrecognized.
UART Receiver
TheUARTiscapableofreceivingwordlengthsofeither8or9bitscanbeselectedbyprogramming
theBNObitintheUCRregister.IftheBNObitisset,thewordlengthwillbesetto9bitswiththe
MSBbeingstoredintheRX8bitoftheUCR1register.AtthereceivercoreliestheReceiveSerial
ShiftRegister,commonlyknownastheRSR.ThedatawhichisreceivedontheRXexternalinput
pinissenttothedatarecoveryblock.Thedatarecoveryblockoperatingspeedis16timesthatofthe
baudrate,whilethemainreceiveserialshifteroperatesatthebaudrate.AftertheRXpinissampled
forthestopbit,thereceiveddatainRSRistransferredtothereceivedataregister,iftheregisteris
empty.ThedatawhichisreceivedontheexternalRXinputpinissampledthreetimesbyamajority
detectcircuittodeterminethelogiclevelthathasbeenplacedontotheRXpin.Itshouldbenoted
thattheRSRregister,unlikemanyotherregisters,isnotdirectlymappedintotheDataMemoryarea
andassuchisnotavailabletotheapplicationprogramfordirectread/writeoperations.
Receiving Data
WhentheUARTreceiverisreceivingdata,thedataisseriallyshiftedinontheexternalRXinputpin
totheshiftregister,withtheleastsignicantbitLSBrst.TheRXRregisterisatwobytedeepFIFO
databuffer,wheretwobytescanbeheldintheFIFOwhileathirdbytecancontinuetobereceived.
NotethattheapplicationprogrammustensurethatthedataisreadfromRXRbeforethethirdbyte
hasbeencompletelyshiftedin,otherwisethisthirdbytewillbediscardedandanoverrunerrorOERR
willbesubsequentlyindicated.Thestepstoinitiateadatatransfercanbesummarizedasfollows:
• MakethecorrectselectionofBNO,PRTandPRENbitstodenethewordlengthandparitytype.
• SetuptheBRGregistertoselectthedesiredbaudrate.
• SettheRXENbittoensurethattheUARTreceiverisenabledandtheRXpinisusedasaUART
receiverpin.
Atthispointthereceiverwillbeenabledwhichwillbegintolookforastartbit.
Whenacharacterisreceived,thefollowingsequenceofeventswilloccur:
• TheRXIFbitintheUSRregisterwillbesetwhenRXRregisterhasdataavailable,atleastone
charactercanberead.
• WhenthecontentsoftheshiftregisterhavebeentransferredtotheRXRregisterandiftheRIE
bitisset,thenaninterruptwillbegenerated.
• Ifduringreception,aframeerror,noiseerror,parityerror,oranoverrunerrorhasbeendetected,
thentheerroragscanbeset.
• TheRXIFbitcanbeclearedusingthefollowingsoftwaresequence:
• AUSRregisteraccess
• AnRXRregisterreadexecution