计算机原理与接口技术.docx

上传人:b****6 文档编号:5829943 上传时间:2023-01-01 格式:DOCX 页数:13 大小:1.04MB
下载 相关 举报
计算机原理与接口技术.docx_第1页
第1页 / 共13页
计算机原理与接口技术.docx_第2页
第2页 / 共13页
计算机原理与接口技术.docx_第3页
第3页 / 共13页
计算机原理与接口技术.docx_第4页
第4页 / 共13页
计算机原理与接口技术.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

计算机原理与接口技术.docx

《计算机原理与接口技术.docx》由会员分享,可在线阅读,更多相关《计算机原理与接口技术.docx(13页珍藏版)》请在冰豆网上搜索。

计算机原理与接口技术.docx

计算机原理与接口技术

计算机原理与接口技术

Microcontroller

A microcontroller (sometimesabbreviated µC, uC or MCU)isasmallcomputeronasingle integratedcircuit containingaprocessorcore,memory,andprogrammable input/output peripherals

Microcontrollersareusedinautomaticallycontrolledproductsanddevices,suchasautomobileenginecontrolsystems,implantablemedicaldevices,remotecontrols,officemachines,appliances,powertools,toysandother embeddedsystems.Byreducingthesizeandcostcomparedtoadesignthatusesaseparatemicroprocessor,memory,andinput/outputdevices,microcontrollersmakeiteconomicaltodigitallycontrolevenmoredevicesandprocesses. Mixedsignal microcontrollersarecommon,integratinganalogcomponentsneededtocontrolnon-digitalelectronicsystems.

Interrupt

Microcontrollersmustprovide realtime (predictable,thoughnotnecessarilyfast)responsetoeventsintheembeddedsystemtheyarecontrolling.Whencertaineventsoccur,an interrupt systemcansignaltheprocessortosuspendprocessingthecurrentinstructionsequenceandtobeginan interruptserviceroutine (ISR,or"interrupthandler").TheISRwillperformanyprocessingrequiredbasedonthesourceoftheinterrupt,beforereturningtotheoriginalinstructionsequence.Possibleinterruptsourcesaredevicedependent,andoftenincludeeventssuchasaninternaltimeroverflow,completingananalogtodigitalconversion,alogiclevelchangeonaninputsuchasfromabuttonbeingpressed,anddatareceivedonacommunicationlink.Wherepowerconsumptionisimportantasinbatteryoperateddevices,interruptsmayalsowakeamicrocontrollerfromalowpowersleepstatewheretheprocessorishalteduntilrequiredtodosomethingbyaperipheralevent.

MCS8051

The8051architectureprovidesmanyfunctions(CPU, RAM, ROM, I/O, interrupt logic, timer,etc.)inasingle package

∙8-bit ALU and Accumulator,8-bit Registers (one 16-bit registerwithspecial moveinstructions),8-bit databus and2x16-bit addressbus/programcounter/datapointer andrelated8/11/16-bitoperations;henceitismainlyan 8-bitmicrocontroller

∙Boolean processorwith17instructions,1-bitaccumulator,32registers(4bitaddressable8-bit)andupto144special1-bitaddressableRAMvariables(18bitaddressable8-bit)[3]

∙Multiply,divideand compare instructions

∙4fast switchableregisterbanks with8registerseach(memorymapped)

∙Fastinterruptwithoptionalregisterbankswitching

∙Interrupts and threads withselectablepriority[4]

∙Dual16-bit addressbus –Itcanaccess2x216 memorylocations–64 kB (65536locations)eachofRAMandROM

∙128 bytes ofon-chipRAM(IRAM)

∙4 KiB ofon-chipROM,witha16-bit(64KiB)addressspace(PMEM).Notincludedon803Xvariants

∙Four8-bit bi-directional input/output port

∙UART(serialport)

∙Two16-bitCounter/timers

∙Powersaving mode(onsomederivatives)

Theonlyregisteronan8051thatisnotmemory-mappedisthe16-bitprogramcounterPC.Thisspecifiestheaddressofthenextinstructiontoexecute.Relativebranchinstructionssupplyan8-bitsignedoffsetwhichisaddedtothePC.

Thefollowingregistersarememory-mappedintothespecialfunctionregisterspace:

∙(0x81)StackpointerSP.Thisisan8-bitregisterusedbysubroutinecallandreturninstructions.Thestackgrowsupward;theSPisincrementedbeforepushing,anddecrementedafterpoppingavalue.

∙(0x82–83)DatapointerDP.Thisisa16-bitregisterthatisusedforaccessingPMEMandXRAM.

∙(0xD0)ProgramstatuswordPSW.Thiscontainsimportantstatusflags:

∙PSW.0:

PParity.Givestheparity(modulo-2sumofthebitsof)themostrecentALUresult.

∙PSW.1:

UDUserDefined.Forgeneralsoftwareuse,nototherwiseusedbyhardware.

∙PSW.2:

OV Overflowflag.Setwhenadditionproducesasignedoverflow.

∙PSW.3:

RS0Registerselect0.Thelow-orderbitoftheregisterbank.Setwhenbanksat0x08or0x18areinuse.

∙PSW.4:

RS1Registerselect1.Thehigh-orderbitoftheregisterbank.Setwhenbanksat0x10or0x18areinuse.

∙PSW.5:

F0Flag0.Forgeneralsoftwareuse,nototherwiseusedbyhardware.

∙PSW.6:

AC auxiliarycarry.Setwhenadditionproducesacarryfrombit3tobit4.

∙PSW.7:

C Carrybit.

∙(0xE0)AccumulatorA.Thisregisterisusedbymostinstructions.

∙(0xF0)Bregister.Thisisusedasanextensiontotheaccumulatorformultiplyanddivideinstructions.

Inaddition,thereare8generalpurposeregistersR0–R7,mappedtoIRAMbetween0x00and0x1F.Only8bytesofthatrangeareusedatanygiventime,determinedbythebankselectbitsinthePSW.

256singlebitsaredirectlyaddressable.Thesearethe16IRAMlocationsfrom0x20–0x2F,andthe16specialfunctionregisters0x80,0x88,0x90,…,0xF8.

NotethatthePSWdoesnotcontainthecommonN(negative)andZ(zero)flags.Instead,becausetheaccumulatorisabit-addressibleSFR,itispossibletobranchonindividualbitsofit,includingthemsbit.Thereisalsoaninstructiontojumpiftheaccumulatoriszeroornon-zero.

Instructionsareall1to3byteslong,consistingofaninitialopcodebyte,followedbyupto2bytesofoperands.

Thereare16basicALUinstructionsthatoperatebetweentheaccumulatorandasecondoperand,specifiedusingoneofthefollowingaddressingmodes:

∙Registerdirect,R0–R7(opcodes x8–xF)

∙Registerindirect,@R0or@R1(opcodes x6and x7)

∙Memorydirect,specifyinganIRAMorSFRlocation(opcodes x5,followedby1byteofaddress)

∙Immediate,specifyingan8-bitconstant(opcodes x4,followedby1byteofdata)

Theinstructionsareasfollows.Notallsupportalladdressingmodes;theimmediatemodeinparticularissometimesnonsensical:

∙0y INC operand:

Incrementthespecifiedoperand.Opcode04specifies"INCA"

∙1y DEC operand:

Decrementthespecifiedoperand.Opcode14specifies"DECA"

∙2y ADDA,operand:

AddtheoperandtotheaccumulatorA.

∙3y ADDCA,operand:

Addtheoperand,plustheCbit,totheaccumulator.

∙4y ORLA,operand:

LogicalORtheoperandintotheAregister.

∙5y ANLA,operand:

LogicalANDtheoperandintotheAregister.

∙6y XRLA,operand:

Logicalexclusive-ORtheoperandintotheAregister.

∙7y MOV operand,#data:

Moveimmediatedatatotheoperand.Opcode74specifies"MOVA,#data.

∙8y MOV address,operand:

MovedatatoanIRAMorSFRregister.

∙9y SUBBA,operand:

Subtracttheoperandfromtheaccumulator,withborrow.Notethereisnosubtract without borrow.

∙Ay MOV operand,address:

MovedatafromanIRAMorSFRregister.OpcodesA4andA5arenotused.

∙By CJNE operand,#data,offset:

Compare operand totheimmediate data,andbranchtoPC+address ifnotequal.OpcodesB4andB5performCJNEA,operand,offset,formemorydirectandimmediateoperands.Notethereisno"compareandjumpifequal"instruction.

∙Cy XCHA,operand:

Exchange(swap)theaccumulatorandtheoperand.OpcodeC4isnotused.

∙Dy DJNZ operand,offset:

Decrementtheoperand,andbranchtoPC+offset iftheresultisnon-zero.OpcodesD4,D6,andD7arenotused.

∙Ey MOVA,operand:

Moveoperandtotheaccumulator.OpcodeE4isnotused.(Useopcode74instead.)

∙Fy MOV operand,A:

Moveaccumulatortotheoperand.OpcodeF4isnotused.

OnlytheADD,ADDCandSUBBinstructionssetPSWflags.TheINC,DEC,andlogicalinstructionsdonot.TheCJNEinstructionsmodifytheCbitonly,totheborrowthatresultsfrom operand1−operand2.

The32opcodes0x00–0x3F,plusthefewopcodesnotusedintheaboverange,areusedforotherinstructionswithmorelimitedoperand-specificationcapabilities.

Oneofthereasonsforthe8051'spopularityisitsrangeofoperationsonsinglebits.Bitsarealwaysspecifiedbyabsoluteaddresses;thereisnoregister-indirectorindexedaddressing.Instructionsthatoperateonsinglebitsare:

∙SETB bit,CLR bit,CPL bit:

Set,clear,orcomplementthespecifiedbit

∙JB bit,offset:

Jumpifbitset

∙JNB bit,offset:

Jumpifbitclear

∙JBC bit,offset:

Jumpifbitset,andclearbit

∙MOVC,bit,MOV bit,C:

Movethespecifiedbittothecarrybit,orvice-versa

∙ORLC,bit,ORLC,/bit:

ORthebit(oritscomplement)tothecarrybit

∙ANLC,bit,ANLC,/bit:

ANDthebit(oritscomplement)tothecarrybit

∙XRLC,bit,XRLC,/bit:

Exclusive-ORthebit(oritscomplement)tothecarrybit

Althoughmostinstructionsrequirethatoneoperandistheaccumulatororanimmediateconstant,itispossibletoperformaMOVdirectlybetweentwointernalRAMlocations.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 水产渔业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1