Rev. 1.20 126 January 23, 2015 Rev. 1.20 127 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
UART Transmitter
Datawordlengthsofeither8or9bitscanbeselectedbyprogrammingtheBNObitintheUCR1
register.WhenBNObitisset,thewordlengthwillbesetto9bits.Inthiscasethe9thbit,which
istheMSB,needstobestoredintheTX8bitintheUCR1register.Atthetransmittercoreliesthe
TransmitterShiftRegister,morecommonlyknownastheTSR,whosedataisobtainedfromthe
transmitdataregister,whichisknownastheTXRregister.Thedatatobetransmittedisloaded
intothisTXRregisterbytheapplicationprogram.TheTSRregisterisnotwrittentowithnewdata
untilthestopbitfromtheprevioustransmissionhasbeensentout.Assoonasthisstopbithasbeen
transmitted,theTSRcanthenbeloadedwithnewdatafromtheTXRregister,ifitisavailable.It
shouldbenotedthattheTSRregister,unlikemanyotherregisters,isnotdirectlymappedintothe
DataMemoryareaandassuchisnotavailabletotheapplicationprogramfordirectread/write
operations.AnactualtransmissionofdatawillnormallybeenabledwhentheTXENbitisset,but
thedatawillnotbetransmitteduntiltheTXRregisterhasbeenloadedwithdataandthebaudrate
generatorhasdenedashiftclocksource.However,thetransmissioncanalsobeinitiatedbyrst
loadingdataintotheTXRregister,afterwhichtheTXENbitcanbeset.Whenatransmissionof
databegins,theTSRisnormallyempty,inwhichcaseatransfertotheTXRregisterwillresultin
animmediatetransfertotheTSR.IfduringatransmissiontheTXENbitiscleared,thetransmission
willimmediatelyceaseandthetransmitterwillbereset.TheTXoutputpinwillthenreturntotheI/
Oorotherpin-sharedfunction.
Transmitting Data
WhentheUARTistransmittingdata,thedataisshiftedontheTXpinfromtheshiftregister,with
theleastsignificantbitfirst.Inthetransmitmode,theTXRregisterformsabufferbetweenthe
internalbusandthetransmittershiftregister.Itshouldbenotedthatif9-bitdataformathasbeen
selected,thentheMSBwillbetakenfromtheTX8bitintheUCR1register.Thestepstoinitiatea
datatransfercanbesummarizedasfollows:
• MakethecorrectselectionoftheBNO,PRT,PRENandSTOPSbitstodenetherequiredword
length,paritytypeandnumberofstopbits.
• SetuptheBRGregistertoselectthedesiredbaudrate.
• SettheTXENbittoensurethattheUARTtransmitterisenabledandtheTXpinisusedasa
UARTtransmitterpin.
• AccesstheUSRregisterandwritethedatathatistobetransmittedintotheTXRregister.Note
thatthisstepwillcleartheTXIFbit.
Thissequenceofeventscannowberepeatedtosendadditionaldata.Itshouldbenotedthatwhen
TXIFis"0",datawillbeinhibitedfrombeingwrittentotheTXRregister.ClearingtheTXIFagis
alwaysachievedusingthefollowingsoftwaresequence:
• AUSRregisteraccess
• ATXRregisterwriteexecution
Theread-onlyTXIFagissetbytheUARThardwareandifsetindicatesthattheTXRregisteris
emptyandthatotherdatacannowbewrittenintotheTXRregisterwithoutoverwritingtheprevious
data.IftheTEIEbitissetthentheTXIFagwillgenerateaninterrupt.Duringadatatransmission,
awriteinstructiontotheTXRregisterwillplacethedataintotheTXRregister,whichwillbe
copiedtotheshiftregisterattheendofthepresenttransmission.Whenthereisnodatatransmission
inprogress,awriteinstructiontotheTXRregisterwillplacethedatadirectlyintotheshiftregister,
resultinginthecommencementofdatatransmission,andtheTXIFbitbeingimmediatelyset.When
aframetransmissioniscomplete,whichhappensafterstopbitsaresentorafterthebreakframe,the
TIDLEbitwillbeset.TocleartheTIDLEbitthefollowingsoftwaresequenceisused:
• AUSRregisteraccess
• ATXRregisterwriteexecution
NotethatboththeTXIFandTIDLEbitsareclearedbythesamesoftwaresequence.