
9.1.6SetDisplayStartLowOrderAddress
9.1.7SetDisplaystartHighOrderAddress
Theseinstructionscausedisplaystartaddressestobewritteninthedisplaystartaddressregisters.Thedisplaystartaddress
indicatesaRAMaddressatwhichthedatadisplayedatthetopleftendonthescreenisstored.Inthegraphicmode,thestart
addressiscomposedofhigh/loworder16bits.Inthecharacterdisplay,itiscomposedofhelower4bitsofhighorderaddress
(DB3
-
DB4)and8bitsofloworderaddress.Theupper4bitsofhighorderaddressareignored.
9.1.8SetCursorAddress(loworder)(RAMwriteloworderaddress)
9.1.9SetCursorAddress(highorder)(RAMwritehighaddress
)
Theseinstructionscausecursoraddressestobewritteninthecursoraddresscounters.Thecursoraddressindicatesandaddress
forsendingorreceivingdisplaydataandcharactercodestoorfromtheRAM.Namely,dataataddressspecifiedbythe
cursoraddressareread/written.Inthecharactermode,thecursorisdisplayedatthedigitspecifiedbythecursoraddress.A
cursoraddressconsistsofthelow-orderaddress(8bits)andthehigh-orderaddress(8bits).Satisfythefollowingrequirements.
Thecursoraddresscounterisa16bitup-countwithSETandRESETfunctions.WhenthebitNChangesfrom1to0,thebit
N+1isaddedby1.Whensettingtheloworderaddress,theLSB(bit1)ofthehighorderaddressisaddedby1iftheMSB(bit
*)oftheloworderaddresschangesfrom1to0.Therefore,setboththeloworderaddressandthehighorderaddressasshown
inabovetable.
9.1.10WriteDisplayData
Afterthecode$“OC”iswrittenintotheinstructionregisterwithRS=1,8bitdatawithRS=0shouldbewrittenintothedata
register.ThisdataistransferredtotheRAMspecifiedbythecursoraddressasdisplaydataorcharactercode.Thecursor
addressisincreasedby1afterthisoperation.
9.1.11ReadDisplayData
DatacanbereadfromtheRAMwithRS=0afterwritingcode$“0D”intotheinstructionregister.Thereadprocedureisas
follows:
ThisinstructionoutputsthecontentsofdataoutputregisteronDataBus(DB0toDB7)andthentransfersRAMdataspecified
byacursoraddresstothedataoutputregister,alsoincreasingthecursoraddressby1.Aftersettingthecursoraddress,
correctdataisnotoutputatthefirstreadbutatthesecondtime.Thus,makeonedummyreadwhenreadingdataaftersetting
thecursoraddress.
PAGE PAGE PAGE PAGE7 777
REGISTERR/WRSDB7DB6DB5DB4DB3DB2DB1DB0
InstructionRegister0100001000
DisplayStartAddressRegister(loworderbyte)00(Startloworderaddress)Binary
REGISTERR/WRSDB7DB6DB5DB4DB3DB2DB1DB0
InstructionRegister0100001001
DisplayStartAddressRegister(highorderbyte)00(Starthighorderaddress)Binary
REGISTERR/WRSDB7DB6DB5DB4DB3DB2DB1DB0
InstructionRegister0100001010
CursorAddressCounter(loworderbyte)00(Cursorloworderaddress)Binary
REGISTERR/WRSDB7DB6DB5DB4DB3DB2DB1DB0
InstructionRegister0100001011
CursorAddressCounter(highorderbyte)00(Vp-1)Binary0(Hp-1)Binary
1Whenyouwanttorewrite(set)boththeloworderaddress
andthehighorderaddress.
Settheloworderaddressandthensetthehighorder
address.
2Whenyouwanttorewriteonlytheloworderaddress.Don
‘
tfailtosetthehighorderaddressagainaftersetting
theloworderaddress.
3Whenyouwanttorewriteonlythehighorderaddress.Setthehighorderaddress.Youdon
‘
thavetosetthelow
orderaddressagain.
REGISTERR/WRSDB7DB6DB5DB4DB3DB2DB1DB0
InstructionRegister0100001100
RAM00MSB(patterndata,charactercode)LSB
REGISTERR/WRSDB7DB6DB5DB4DB3DB2DB1DB0
InstructionRegister0100001101
RAM00MSB(patterndata,charactercode)LSB