MCS单片机原理及应用教程_第1页
MCS单片机原理及应用教程_第2页
MCS单片机原理及应用教程_第3页
MCS单片机原理及应用教程_第4页
MCS单片机原理及应用教程_第5页
已阅读5页,还剩246页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MCS-51单片机原理及应用教程清华大学出版社刘迎春主编本书主要内容单片机基础知识单片机的组成与结构分析MCS-51单片机的指令系统单片机的程序设计MCS-51单片机的中断系统定时/计数器单片机的串行通信及接口MCS-51单片机的系统扩展接口技术MCS-51兼容机及串行总线扩展第1章单片机的基础知识

▲微型计算机的系统组成

▲单片机概述

▲不同计数制之间的转换▲数的表示方法▲思考练习题1.1微型计算机的系统集成1.1微型计算机的系统组成

1.1.1主机

主机一般由运算器、控制器和主存储器组成。1.运算器运算器是进行算术和逻辑运算的部件,它由完成加法运算的加法器、存放操作数和运算结果的寄存器和累加器等组成。

2.控制器它是整个计算机硬件系统的指挥中心,根据不同的指令产生不同的动作,指挥整个机器有条不紊地自动地进行工作。

3.主存储器主存储器又称为内存储器,它由大量的存储单元组成,用以存储大量的数据及程序。

1.1.2外部设备1.输入设备目前常用的有键盘、软驱、磁带机、光驱等

2.输出设备常用的有显示器、打印机、绘图仪等

3.外存储器常用的外存有磁带、磁盘、光盘,其中磁盘又可分为硬盘及软盘。

1.2单片机概述1.2.1单片机的发展概况第一阶段(1971~1976)第二阶段(1976~1979)第三阶段(1979~1982)第四阶段(1982~1990)第五阶段(1990至今)1.2.2单片机的应用1.在工业测控中的应用2.在智能产品中的应用3.在计算机网络与通信技术中的应用1.2.3单片机的发展趋势1.3不同计数制之间的转换1.3.1十进制数一个十进制数,它的数值是由数码0,1,2,…,8,9来表示的。数码所处的位置不同,代表数的大小也不同。例如:53478=5×104+3×103+4×102+7×101+8×100,对应于:1.3.2二进制数二进制是按“逢二进一”的原则进行计数的。二进制数的基为“2”,即其使用的数码为0、1,共两个。二进制数的权是以2为底的幂。例如:10110100=1×27+0×26+1×25+1×24+0×23+1×22+0×21+0×20,对应于:

其各位的权为1,2,4,8,…,即以2为底的0次幂、1次幂、2次幂等。(10110100)2=1×27+0×26+1×25+1×24+0×23+1×22+0×21+0×20=1801.3.3十六进制数十六进制数的基为16,即基数码共有l6个:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F。其中A,B,C,D,E,F分别代表值为十进制数中的10,11,12,13,14,15。十六进制的权为以16为底的幂。例如:4F8E=4×163+F×162+8×161+E×160=20366,对应于:常用计数制表示数的方法比较

十进制二进制十六进制0001112102311341004510156110671117810008910019101010A111011B121100C131101D141110E151111F1610000101.3.4不同进制数之间的转换1.十进制数转换成二进制数的方法就是用2去除该十进制数,得商和余数,此余数为二进制代码的最小有效位(LSB)或最低位的值;再用2除该商数,又可得商数和余数,则此余数为LSB左邻的二进制代码(次低位)。依此类推,从低位到高位逐次进行,直到商是0为止,就可得到该十进制数的二进制代码。除二取余法

1.3.4不同进制数之间的转换例如:将(67)10转换成二进制数,过程如下:即:(67)10=(1000011)2。1.3.4不同进制数之间的转换1.十进制数转换成二进制数的方法将已知十进制的小数乘以2之后,可能有进位,使整数位为1(当该小数大于0.5时),也可能没有进位,其整数位仍为零。该整数位的值为二进制小数的最高位。再将乘积的小数部分乘以2,所得整数位的值为二进制小数的次高位。依此类推,直到满足精度要求或乘2后的小数部分为0为止。乘二取整法

例如秘:将(0偏.6动25甚)1概0转换尺成二薯进制框数,凑其过倚程如作下:即:(0他.6归25浊)1勇0=胜(0泼.1拌01订)21.镰3.畅4不同兆进制携数之碧间的感转换2.二进喇制数佳转换病为十弯进制计数的帐方法将二妄进制兴数转朽换成佩十进亭制数泛时,居只要掏将二曾进制况数各韵位的京权乘益以各巴位的举数码(0或1)再相薄加即熔可。例如均:将(1第10猪1.暂10收01皇)2制转俯换成顿十进怀制数按:(1垄10红1.钢10助01吃)2=1×梯23位+1欠×2归2+愈0×粱21壶+1剩×2报0+遭1×你2-脸1+废0×畅2-锅2+肿0×嘉2-闸3+冒1×县2-鸡4=8+徐4+誓0+太1+每0.诉5+职0+菊0+姐0.朴06刚25铸=(甲13许.5萍62爆5)约101.蜘3.矛4不同辞进制宽数之扒间的妥转换3.二进熄制与搭十六惠进制扩数之孕间的遍转换搜方法二进罩制数壁转换亿成十哀六进谷制数例如巴:把(1眠01坝10好11幅01绩.1勺10期01拢01福)2转换肠成十喜六进延制数鞭。即:(1饮01积10球11踢01粮.1浑10秃01甲01去)2边=(餐16晴D.貌CA止)1哨6。1.屈3.相4不同界进制讨数之章间的酿转换2)十六出进制筋数转颤换成尘二进京制数将十停六进助制数洲转换物成二嫩进制信数时扮,只辛要将糕每1位十遍六进葬制数练用4位相裹应的菜二进揉制数读表示牲即可爆完成溉转换辅。例如漂:将(E怀CA担16乏)1块6转换殃成二中进制刃数。即:(E角CA抖16诉)1狭6=苏(1岭11述01肤10唇01伴01优00笨00汇10趁11溜0)塞2。1.披3.竖5二进乘制数涝的算单术运店算规型则1.二进盼制加犯法基掏本规害则0+痰0=夏00+段1=劈燕1+待0=痛11+巡寿1=手0向邻筒近高食位有叼进位1+泥1+具1=裙1向邻辞近高寻位有年进位2.二进总制减钻法基恭本规坏则0-机0=皂01-矿1=欺01-用0=厦10-桃1=纲1向邻鲜近高洗位有销借位3.二进驳制乘刃法基泥本规楚则0×愤0=举00×弊1=坚1×稻0=玻01×铺1=徐14.二进掌制除弦法基书本规砖则1/红1=决10/牵1=救01.逻辑煤与运屠算基忙本规迎则0∧谦0=鄙01∧辅0=甜0∧搁1=诉01∧解1=袜12.逻辑涉或运第算基棒本规掘则0∨等0=赚01∨慨0=耻0∨若1=犬11∨朱1=视11.邻3.幕6逻辑蒙运算3.逻辑弱非运叹算基刷本规摔则/0撤=1/1底=04.逻辑秩异或盗运算耍基本宝规则0⊕脸0=诱1⊕别1=斑01⊕袜0=幻玉0⊕承1=途11.顺4.爆1真值商与机婆器数单片鼻机用援来表涛示数喉的形杆式称究为机批器数萌,也夺称为鲁机器宋码。善而把公对应嚼于该栽机器奸数的严算术黄值称葬为真袋值。设:N1棉=+勿10仍10弓10携1N2孤=-专10造10况10锅1这两董个数急在机湾器中劈燕表示笋为:N1:01彩01鞠01截01N2:11械01系01躁011.董4数的某表示希方法在计恼算机升中还财有一垒种数惨的表尸示方惧法,宰即机贱器中佳的全这部有唐效位附均用继来表劲示数慌的大惜小,闲此时搬无符涨号位缠,这馋种表猎示方历法称跨为无符崭号数纱的表报示方域法。1.湿4.露2原码帮、反话码、枕补码1.原码胀表示苹法原码煎表示党法是减最简捎单的植一种夸机器卫数表联示法竞,只婚要把扮真值尘的符嫁号部橡分用0或1表示抛即可略。例如察:真截值为+3辨4与-3携4的原牌码形溪式为取:[+够34率]原=0絮01母00鸭01谅0[-菌34矮]原=1涂01馆00哄01佩00的原愉码有范两种榜形式扰:[+斗0]原=0敌00图00镰00帜0[-画0]原=1争00党00手00挂01.唇4数的率表示讽方法8位二拜进制钻数原益码的毕表示外范围杠为:11包11冈11鬼11麦~0犁11忍11犁11龙1,对印应于-1辉27方~+邻12塞7。2.反码检表示请法反码揉是二傲进制逐数的派另一福种表亭示形磨式,牺正数尿的反编码与击原码驳相同艘;负掉数的肉反码委是将谱其原竿码除喝符号王位外西按位旦求反症。即茅原来棉为1变为0,原臭来为0变为1。例如食:[+威34遮]反=[艳+3零4]原=0虚01衡00肢01幸0[-删34旬]原=1供01厉00开01祖0,[-爪34氧]反=1戒10友11覆10遮10的反项码也距有两末种形扶式:[+叮0]反=0碰00物00柔00陷0[-壤0]反=1窝11禁11膜11耳18位二移进制捏数反凶码的晨表示镰范围纪为:10申00桌00哲00役~0咐11僻11明11势1,对愤应于-1绢27窝~+伟12愧7。1.饭4数的系表示辰方法3.补码甚表示尼法1.属4数的棋表示鹿方法正数偿的补桐码表有示方史法与推原码际相同暮,负站数的沉补码筐表示鼓方法屋为它绒的反胃码加1。例如扛:[-点21加]原=1负00停10西10魔1[-眉21炕]反=1层11钥01嘱01撒0[-腹21赞]补=1兼11汇01价01订10的补赞码只愁有一陡种表恢示方焦法,僻即[+话0]补=[杏-0狼]补=0碰00饮00杯00金0。8位二怪进制杨数的玩补码伐所能凡表示申的范蜓围为10叮00啦00恶01尿~0拥11列11陡11旷1,对旷应于-1随28~+1要27。1.根4.及3炒B那CD码十进制8421BCD码二进制0000000001000100012001000103001100114010001005010101016011001107011101118100010009100110011000010000101011000100011011120001001011001300010011110114000101001110150001010111111.旷4.崖4附A匙SC书II码AS迈CI付I码是嘴一种8位代糖码,草最高纯位一概般用学于奇拿偶校逐验,端用其旋余的7位代夜码来狭对12北8个字属符编猜码,舌其中32个是集控制坐字符宫,96个是桐图形资字符抚。1.洲5思考资练习秀题(1驶)微型狮计算壤机由击哪几暂部分瓦组成舍?(2拳)什么秋是单邪片机友?它庄与一宁般微弦型计迷算机羞在结论构上滚有什弦么区炎别?(3准)单片开机主味要应绳用在弯哪些盟方面驶?(4窄)将下贞面的路一组墙十进绪制数闯转换狐成二辨进制旧数:①56匪②朗74貌③佛23讨④帖19公⑤惊89碧⑥扎68⑦1绪42迈⑧倍76枕.8炒7性⑨0聚.3与75倚⑩驱9.位32艺5付⑪8槽3.搅62锻5纲⑫1夸34声.0迷62惕5(5紫)将下当面的虾二进鲜制数宰转换先成十歼进制臣数和腿十六知进制削数:①10吓11如00坦11视②做10炊10聚01锤01舌③挠11英10婆10汇01姥④柜10暑01衬11追10帅⑤爸10祸00战01面01⑥1能10廊00康10秆1返⑦1遵11杂01唇11桂0纪⑧1目00很01脑10通0占⑨1毕10周11刺.1蝴1挠⑩1令01趣.0遥11素01(6伞)原码辅已经尾在下送面列辩出,映试写孩出各坟数的猜反码挑与补锈码:①10被00疾11游01鞠②市10屈10挖11伯00播③野11乔10悬10停11抵④突10垂00疯10冲01⑤1抢11惧11固11违1写⑥0糊11讲00测00培1呢⑦0业11唤10轻00管1务⑧1眉11邀11才00臂1第2章遥单流片机假的组味成与阀结构古分析▲MC偶S-狭51单片圆机的艰内部桨结构▲CP彻U的结筐构和生功能▲存储叫器的满组织蓄结构▲MC袜S-喘51单片劈燕机的匪并行板输入政输出柴端口▲MC伯S-昼51单片后机的缩慧外部煎引脚仪及功跪能▲单片透机指妄令时乏序▲思考单练习刷题2.娃1趴M梳CS总-5放1单片袭机的睁内部衫结构2.亏1妇M险CS绕-5缩慧1单片跟机的婚内部造结构其基躁本特摄性如豪下:8位CP饥U,含莫片内绍振荡称器;4K劣B的程姓序存快储器RO过M;12拐8B的数览据存集储器RA邪M;64影KB的外配部程肌序存托储器绣寻址宴能力牌;64拿KB的外步部数杨据存教储器秃寻址穗能力争;32根输呢入输箭出(I惯/O雨)线;2个16位定输时/计数稻器;1个全交双工鸣异步姜串行从口;21个特姻殊功饿能寄杜存器辰;5个中梁断源粪,2个优策先级软;具有狡位寻栋址功柄能。2.先2众C宿PU的结付构和吴功能2.杯2.如1运算下器80泊51单片饿机的勿运算鞠器由们算术/逻辑轨运算意单元AL党U、累脑加器A、寄威存器B、暂川存器1、暂锯存器2以及卷程序弱状态羊字寄蜘存器PS素W组成帜。图2.圾2桨P辩SW寄存隐器各钞位的稻标志团符号表2.辫1寄存饮器PS爆W各位魂的功俘能、旺标志术符号倚与相温应的核位地统址功能标志符号位地址进位标志(又是C寄存器)CYPSW.7辅助进位标志ACPSW.6用户标志FOPSW.5工作寄存器组选择RS1PSW.4工作寄存器组选择RS0PSW.3溢出标志OVPSW.2保留PSW.1奇偶标志PPSW.02.优2.甚2控制死器2.搏3存储哲器的哥组织墨结构存储虾器的岸功能法是存牢储信振息(即程涂序与鸣数据)。存始储器载是组烫成计叙算机消的主阁要部蜡件,扑目前霞所使慕用的灯存储猜器以居半导形体存碌储器承为主蛮。从遥功能屑上来项划分缝,半刑导体啄存储报器可堪分为宁两大珠类:般即只嘉读存孔储器(R霞OM剥),和钳随机顶存储渠器(R叼AM福)。80两51单片珠机的腾控制驰器由趁指令钩寄存她器、童指令姓译码题器、茧堆栈叮指针SP、程祥序计读数器PC、数迈据指怠针DP希TR、RA蜡M地址侍寄存蛾器以锈及16位地甘址缓妥冲器午等组遣成。2.交3.趟1社M柱CS出-5救1单片损机的陡存储部器结肿构图2.赶3甚8蔑05崇1存储扯器配骑置图2.邪3.葱2程序尽存储竖器程序嚷是控燥制计纠算机袋运行机的一雁系列樱命令搬。计舰算机豪能够谜识别悄并执烦行的耍命令哨是由程代码植“0”和“1”组成冶的一组组机敲器指抢令。2.纵3.型3数据游存储奇器单片铅机的丘数据司存储涨器由辨可读鱼可写贷的存净储器RA容M组成采,最域多可茂扩展欲到64奶KB,用鸽于存刊储数众据。2.叨3.张4框M献CS缝-5胀1单片村机的付内部榨数据拖存储怨器MC鬼S-真51单片阶机的惨内部具数据报存储碍器由蔑地址00插H~FF龟H共有25砖6个字均节的比地址易空间恳组成记,这25诸6个字篮节的够地址硬空间碑被分育为两巧部分蓬,其道中内孙部数早据RA仁M地址想为00勒H~7F趁H(即0~12持7)。图2.软4内部华数据惜存储轻器地泛址空尊间1.内部浓数据RA斯M单元内部猾数据RA喝M分为路工作倍寄存弹器区警、位物寻址光区、效通用RA低M区三才个部白分。图2.写5驴R艰AM位地络址(低12劣8位在00沿H~魔7F义H)(a称)系统伐复位罩后,日未改席变SP初值并时的舟堆栈因操作(设(A淘)=扶0A掘BH菊)(b兵)系统患复位纷后,崖改变SP初值骑为60掏H时的脖堆栈涌操作图2.凤6堆栈俘操作件示例2.特殊泪功能垫寄存秤器特殊买功能咳寄存撞器SF摔R的地拖址空戴间是80怀H~FF防H。表2.胀3特殊屋功能独寄存老器的辰名称兔、符姜号与纲地址特殊功能寄存器名称符号位地址与位名称字节地址D7D6D5D4D3D2D1D0B寄存器BF7F6F5F4F3F2F1F0F0H累加器AE7E6E5E4E3E2E1E0E0H程序状态字PSWD7D6D5D4D3D2D1D0D0HCACF0RS1RS0OV-P中断优先级控制IPBFBEBDBCBBBAB9B8B8H---PSPT1PX1PT0PX0D7D6D5D4D3D2D1D0P3口P3B7B6B5B4B3B2B1B0B0HP3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.02.特殊惨功能娘寄存禽器中断允许控制IEAFAEADACABAAA9A8A8HEA--ESET1EX1ET0EX0P2口P2A7A6A5A4A3A2A1A0A0HP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0串行数据缓冲器SBUF99H串行控制SCON9F9E9D9C9B9A999898HSM0SM1SM2RENTB8RB8TIRIP1口P1979695949392919090HP1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0定时/计数器1高字节TH18DH定时/计数器0高字节TH08CH2.特殊箩功能捎寄存旨器定时/计数器1低字节TL18BH定时/计数器0低字节TL08AH定时/计数方式控制TMODGATEC/TM1M0GATEC/TM1M089H2.特殊志功能紧寄存横器特殊功能寄存器名称符号位地址与位名称字节地址D7D6D5D4D3D2D1D0定时器控制寄存器TCON8F8E8D8C8B8A898888HTF1TR1TF0TR0IE1IT1IE0IT0电源控制PCONSMOD87H数据指针高字节DPH83H数据指针低字节DPL82H堆栈指针SP81HP0口P0878685848382818080HP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.02.充4盾M雀CS观-5伍1单片授机的作并行棉输入异输出芹端口2.俩4.惹1盲P议0口结市构1.讲P0用作筋通用I/规O口2.勒P0用作榆地址/数据邀总线灯分时愈复用膏方式2.或4.涨2李P落2口结振构1.介P2口用返作地她址总灯线2.这P2口用拳作通穗用I/汤O口2.孙4.齿3海P成3口结雪构2.咐4.炕4秘P遵1口结步构2.衬5剑M扶CS扔-5逝1单片痒机的耕外部滩引脚悄及功匆能2.眉5.直1电源称引脚(b情)双列矿直插循式封妈装(a普)方形勇封装2.秒5.省2外接帜晶振碰或外愧部时摔钟信喉号输热入端(a线)内部士振荡哄器方扭式(b绪)外部馆振荡泛器方绳式图2.框12燃80作51单片棵机的立振荡滴器方其式表2.聪4按不虽同工紧艺制类造的群单片外机芯腐片外昨接振飘荡器列时的屋接法芯片类型接法XTAL1XTAL2CHMOS接外部振荡器脉冲输入端(带上拉电阻)悬浮HMOS接地接外部振荡器脉冲输入端(带上拉电阻)2.挨5.稻3输入味输出背引脚P0投.0~P0垒.7:通驾道0是一虹个8位漏搭极开滩路的极双向织输入叹输出诊通道粱。在翠外接丢存储自器或仍者扩悟展I/柜O接口重时,P0口作敏为复面用的旁低8位地系址总斩线和创双向鼓数据数总线姨。在停不扩蛇展存袍储器我或者I/粱O接口搂时,台作为气准双碍向输偏入输托出接垦口。P1烤.0~P1耗.7:只仍有一敢种功日能,刃即准没双向I/兔O口。P2值.0~P2岗.7:可离作为霉准双敏向I/疫O口使瓣用;俱但在揉接有烤片外拼存储重器或鞭扩展I/总O接口月范围介超过25瞒6B时,劲则该辉口一肥般只础能作穷为高8位地礼址总集线使妥用。P3稳.0~P3彼.7:该分口除卸了作类为准握双向睁口外斗,还吹具有喘第二穷功能成。2.帅5.缩慧4控制券线1.烫AL榆E/2.3./V悲PP4.酸RS荷T(a秘)上电乐复位(b悉)电平扩开关甚复位图2.剥13复位蜡电路2.虹6单片待机指炭令时挣序2.腥7思考霉练习掀题(1芳)M拦CS碗-5努1单片级机包椒含哪资些主躁要逻饮辑功帮能部傻件?(2突)程序吧状态洞字寄当存器PS睛W包含疯哪几列个标炸志位遗?各谢位的环含义元是什伐么?孝各有鸟何作捆用?(3司)什么探叫单善片机沙?(4欧)M座CS敞-5检1单片号机的散存储积结构昼有何第特点以?(5传)单片返机的酒端有置何作富用?傻在80耽31组成赚的单帽片机余应用块系统傍中,锻其端董怎样总处理唉?为社什么淡?(6荐)单片他机内命部RA歇M分为搜哪几软个部询分?纹各有刘何作息用?(7灯)M匀CS巴-5跃1单片连机的爬堆栈SP在操萍作中即遵循父什么示原则择?在纵开机模复位速时,灵其初岸值是哭多少像?是圾否可孔以通画过程粱序重秀新设序置?(8党)怎样纤确定闯和改草变单微片机填当前尺的工淡作寄想存器费组?(9敏)简要贺说明语单片外机的截位地碎址分绝配。(1雪0)试画渠出常绒用的挥单片独机复测位电显路,沟并说倒明复蚁位后厕各个惧寄存得器的烤状态介。第3章MC斧S-志51单片终机的欺指令磨系统汇编皇语言悉的指躺令格哀式及辰符号蠢简介寻址间方式数据射传送拐类指窑令算术妙运算粱类指例令逻辑及运算烦类指啄令位操灶作类迅指令控制绞转移拴类指吵令思考耀练习丸题3.扣1汇编辣语言给的指盗令格纸式及天符号投简介3.休1.粱1指令穗格式[标号:]操作涌码助上记符[第一首操作孝数]旱[,第二臭操作驰数]越[,第三断操作践数]赚[;注释]例如浸:LO腹OP赚:越MO测V比A汉,陡#5筋0H里;瓦(A兴)←扫50浊HDE表C叛R0驳;所(R锯0)猴←(怒R0饿)-颠1DJ伏NZ柏R0滔,橡LO士OP脉;撕(R池0)燃-1坦≠0,则咽程序桃转移斑到LO丙OP地址乳;否俗则顺法序执被行EN姨D蛛;结束3.核1.怕2本章孟中符崭号的疮定义3.菜2寻书址距方浆式MC睡S-丑51单片生机有7种寻政址方跳式,歉见表3.逗1。表3.武1瓣7种寻功址方创式的纸比较序号寻址方式利用的寄存器和存储空间1立即寻址程序存储器ROM2直接寻址内部RAM、特殊功能寄存器SFR3寄存器寻址寄存器R0~R7、A、B、DPTR和C(布尔累加器)4寄存器间接寻址内部RAM(@R0、@R1、SP)、外部RAM(@R0、@R1、@DPTR)5变址寻址程序存储器ROM(@A+DPTR、@A+PC)6相对寻址程序存储器ROM(PC+偏移量)7位寻址内部RAM的20H~2FH单元和部分SFR3.光2.秘1立即垮寻址例如渠:MO传V窝A孕,多#2季3H种;殿(气A)爹←2窄3H,即短累加骗器A的内哀容被树替换称为立弓即数23壁H。图3.咏1脉M春OV永A,价#2蚕3H的执悄行示岸意图该指粒令的脉功能菌是将8位的罗立即已数23贴H传送究到累坝加器A中。恐如图3.副1所示挡。其烤中,央目的早操作石数采笼用寄钉存器央寻址嫌,源善操作就数采淹用立纸即寻畅址。3.草2.盘2直接液寻址直接轧寻址鸟是指座在指恰令中害包含昌了操凡作数魔的地滔址,具该地添址直锄接给休出了饥参加摇运算苹或传忽送的案单元宝或位略。直王接寻山址方嘉式可职访问扰三种容地址可空间贩:特殊法功能扯寄存车器SF辟R(该空横间只翁能采刃用直美接寻叔址)。内部位数据RA篇M的低12亚8个字酸节单浴元(该空们间还温可以第采用由寄存径器间秀接寻尊址)。22撞1个位掀地址警空间挽。例如:MO煮V溉A贞,嚷40均H赌;把40鼻H单元坦的内号容送初到累格加器企中,饥即(A宣)←喝(4籍0H棍)。图3.躺2娃M周OV兼A,渐40绵H的执资行示对意图3.缩慧2.完3寄存怎器寻渣址寄存环器寻统址是使指定扶某一换可寻拼址的狂寄存稿器的献内容圈为操谎作数绪。例如先:MO鬼V谜A,搞R构0吃;乖(A渗)←朝(R棚0)该指搁令的欲功能贷是将R0中的庄数据爽传送辅到累采加器A中。器源操订作数忧与目廊的操日作数喜都采耕用了帅寄存殖器寻纺址。在MC祝S-切51单片速机中赴,能喉够用丈来间坝接寻尘址的龙寄存谜器有顾:用海户所葡选定前的工凑作寄劳存器段组的R0、R1,堆灭栈指啄针SP和16位的骑数据坟指针DP收TR。内部连数据RA辨M的寄址存器谢间接明寻址员采用吗寄存夸器R0、R1;外完部数赏据RA读M的寄肆存器贫间接窜寻址婚有两现种形驰式:殃一是泪采用R0、R1作间适址寄角存器叙,这叫时R0或R1提供岂低8位地上址,岛而高8位地末址则斯由P2端口布提供精;二狡是采沟用16位的DP吊TR作间瘦址寄窜存器汪。3.闪2.哪4寄存共器间戒接寻佛址例如展:设R0的内冻容为60悉H,且(6迈0H肌)=猜10昆H,即60租H地址努单元味中的羽内容科为10捕H,则煎语句MO稠V员A,跪@职R0的执役行过装程如霜图3.杂3所示蛇。执水行后粒,(A拥)=冈10仙H,即博累加例器A的内崭容成驾为10恼H。图3.托3铃M去OV须A,刮@R弟0的执姥行示折意图又如但:MO悲VX贿A另,截@R弹0维;(多A)追←(示(R刻0)择),用R0间接挽寻址粗的单已元中峡的内隙容替仆换A的;内容坡。MO烟VX冒A翼,抱@D苦PT牛R牧;(笨A)重←(归(D录PT羞R)漆),用DP肝TR间接值寻址塞的单奥元中膊的内船容替贝换;A的内拿容。3.添2.劲5变址乔寻址这种谜寻址锐方式割是以沿数据致指针DP聋TR或程愉序计脱数器PC作为殃基址订寄存央器,票以累赤加器A作为懂偏移奴量寄未存器感,将直一个旧基址赖寄存览器的练内容萌与偏辱移量疫寄存耀器的衡内容更之和贤作为歌操作劝数地霸址。例如挖:MO越VC澡A,呀@丸A+叨DP阳TR设(A贿)=知10拜H,(D井PT睛R)单=1岁00跳0H,程装序存忙储器滴的(1别01纲0H颜)=骡45搭H,则绣上面讽程序饰语句培的功线能是片将A的内酷容与DP程TR的内宽容相耗加形徐成操撇作数档地址(1莲01厕0H万),把肃该地告址中蒸的数院据传熊送到行累加唐器A。即(A围)←迎((水A)睛+(猎DP导TR兼))。结腥果:(A渔)=妨45魄H。图3.伴4怒M最OV牧C铲A革,@矿A+葱DP替TR的执均行示遇意图相对醋寻址是把圈指令唯中给丢定的鹅地址政偏移弱量re暑l与程学序计滨数器PC的当贼前值(读出划该双方字节改或三优字节废的跳富转指胆令后老,PC指向翠的下薄条指潜令的坛地址)相加丽,得挠到真桨正的办程序锯转移振地址枕。例如勒:JC版80痰H若C=核0,则PC值不艳变,溪若C=表1,则葬以当康前PC值为塌基地径址,体加上80驻H得到削新的PC值。阻设该仁转移元指令拒存放歪在10允05评H单元威,取捉出操债作码牵后PC指向10谷06崭H单元洲,取妖出偏惕移量催后PC指向10蒙07唐H单元勾,所纳以计削算偏穴移量黎时PC当前笨地址驰为10包07燥H,已倍经为神转移绑指令爹首地科址加2,这吨里的左偏移榴量以要补码布给出娃,所眉以80饥H代表足着-8工0H,补晨码运元算后删,就铲形成班跳转铅地址0F拦87章H。其庸过程切如图3.绝5所示划。3.匀2.哪6相对负寻址3.傲2.公6相对摊寻址图3.口5率J秘C火80王H的执真行示芽意图3.净2.耻7位寻叨址MC铁S-淹51单片笔机可敏对片州内RA忘M的两体个区基域进收行位升寻址谷:一鲜个是20乖H~2F须H单元价的12艳8位,怨另一煮个是歇特殊酷功能爱寄存编器的93位。在寻弦址时营,同久一个蹦位地泽址可柏以有首多种辛标识龄方式扣,读甚者可亡参看就后面3.庄6节“悔位操稻作指特令”唯的相播关内销容。3.盈3.彩1通用晌传送饥指令格式忌:MO叠V目的荷操作食数,雹源操图作数功能致:把泄第二雄操作孟数指验定的似字节轨内容鞭传送主到第惰一操建作数隐指定圈的单吧元中疫。不馆影响松源操都作数责内容直,不痒影响盒别的永寄存小器和映标志妖。1.以累繁加器A为目袍的操泄作数薪的传斑送类愉指令3.奏3数据助传送捉类指油令指令幕助记晒符及瞒功能狂说明妥如下逝:目的操作数源操作数功能说明源操作数寻址方式MOVA,direct;(A)←(direct)直接寻址MOVA,@Ri;(A)←((Ri))寄存器间接寻址MOVA,Rn;(A)←(Rn)寄存器寻址MOVA,#data;(A)←data立即寻址例1若(5到0H殿)=皂10德H,则京执行浪指令MO齿V子A,汤5押0H之后伤,(A漠)=乐10往H。例2若(R洒0)脖=2竖0H,(2宣0H卡)=李39新H,则序执行张指令MO筹V皆A,泉@孔R0后,(A企)=孝39那H。例3若(R辞5)冰=5籍5H,则糠执行效指令MO膜V雨A,塔R建5后,(A伪)=击55鉴H。2.以Rn为目漂的操毫作数说的传脉送类狸指令例1若(A散)=健20呼H,则贫执行列指令MO柜V业R3可,礼A后,(R排3)般=2筑0H。例2若(3效0H林)=社01角H,则俊执行心指令MO捉V奥R7傲,爱30血H后,(R拖7)饱=0匹1H。指令风助记摧符及碧功能口说明愤如下:目的操作数源操作数功能说明源操作数寻址方式MOVRn,A;(Rn)←(A)寄存器寻址MOVRn,direct;(Rn)←(direct)直接寻址MOVRn,#data;(Rn)←data立即寻址例1若(3赢0H饮)=越20乎H,(R昆0)磨=3执0H,则患执行螺指令MO获V纪90挨H,得@析R0的结饭果为(9掌0H锡)=暮20漠H。例2若例1中的暖条件裂不变睬,而箱执行嚼指令MO薯V监P1纳,斗@R哪0,则(P帐1)嫂=2寺0H。3.以直塑接地论址di鹊re巩ct蚁X为目格的操才作数爱的传妥送类叨指令指令惯助记诱符及朗功能明说明矿如下思:目的操作数源操作数功能说明源操作数寻址方式MOVdirectX,A;(directX)←(A)寄存器寻址MOVdirectX,Rn;(directX)←(Rn)寄存器寻址MOVdirectX,directY;(directX)←(directY)直接寻址MOVdirectX,@Ri;(directX)←((Ri))寄存器间接寻址MOVdirectX,#data;(directX)←data立即寻址例1若(R看0)驰=5蛇0H,(5绳0H盛)=虹20授H,(A硬)=轻10邮H,则孔执行腔指令汪“MO绵V殿@R隐0,堤A蓝”后,50跳H单元丘的内迁容由质原来申的20选H变为10河H。4.以寄坟存器叮间接居地址@Ri为目雪的操唉作数平的传求送类轿指令指令羊助记胜符及撑功能件说明态如下捧:目的操作数源操作数功能说明源操作数寻址方式MOV@Ri,A;((Ri))←(A)寄存器寻址MOV@Ri,direct;((Ri))←(direct)直接寻址MOV@Ri,#data;((Ri))←data立即寻址5.姿16位目四标地颤址传饥送指肯令这条傅指令搏的功咸能是裂:把16位立敲即数获送入DP倘TR中。绩而16位的己数据想指针DP学TR由DP后H与DP茶L组成灾,该侧指令打执行顷后,16位立织即数落的高8位送践入DP穗H中,税低8位送挎入DP荒L中。该指盏令的技执行财,不灵影响凳程序买状态肌寄存号器PS译W。指令予助记貌符及吩功能袋说明均如下钱:目的操作数源操作数功能说明源操作数寻址方式MOVDPTR,#data16;(DPTR)←data16立即寻址3.添3.山2外部艇数据殿存储束器(或I/属O口)与累洁加器A传送浸指令例1设(P套2)宰=2勺0H,现驾将A中数黄据存贿储到20壮FF继H单元桂中去遇。可用童以下少程序椅实现拐:MO跟V柄R移1,扭#鄙0F绪FH像;(哈R1搂)←研0F填FHMO撤VX痒@染R1素,叔A五;(菌20题FF犹H)廉←(游A)也可折采用异下述盐程序塞实现携:MO披V征D句PT根R,就#拌20掏FF短H己;(蝇DP羞TR祥)←羡20庄FF致HMO莫VX创@钢DP坏TR摧,闪A溪;击((糊DP天TR迟))碎←(夹A),即(2均0F溜FH砌)←拘(A音)指令痕助记蔽符与响功能男说明秘如下:目的操作数源操作数功能说明源操作数寻址方式MOVXA,@DPTR;(A)←((DPTR))寄存器间接寻址MOVXA,@Ri;(A)←((Ri))寄存器间接寻址MOVX@DPTR,A;((DPTR))←(A)寄存器寻址MOVX@Ri,A;((Ri))←(A)寄存器寻址3.辜3.锋2外部溉数据爪存储凶器(或I/差O口)与累流加器A传送罢指令例2将外脑部数柏据存乡丰储器7F坝F0晴H单元吧中的俱数据节取出灰,存纺放到惰外部钓数据烘存储拌器20让00岁H单元地中去化。MO北V逆D网PT松R,坛#爱7F法F0婶HMO点VX族A第,芹@D脉PT伟RMO陕V慈D酿PT调R,辞#赏20辉00暮HMO迹VX批@稳DP缸TR祸,丙A例1在外恶部程碍序存姓储器20篮00似H单元厚开始雨存放膊了数邪字0~9的共味阴极欲数码扑管的16进制导数的探字形屈代码3F士H、06煮H、…、6F滚H。要缴求根格据A中的谷值(0~9)来查近找该指数字伞所对深应的泽代码思以便眠显示柱。若用PC作基惠址寄廊存器翼,则椅需要演在MO设VC由A晕,集@A畜+P锅C指令庭前用坦一加瘦法指融令对仍地址膏进行只调整扒:AD船D畏A屯,葛#d抽at义aMO胜VC井A旷,韵@A毁+P伪C3.斧3.臂3程序铜存储城器向经累加拦器A传送黄数据轻指令指令侄助记短符与饼功能直说明赵如下土:目的操作数源操作数功能说明源操作数寻址方式MOVCA,@A+PC;(A)←((A)+(PC)+1)变址寻址MOVCA,@A+DPTR;(A)←((A)+(DPTR))变址寻址1.字节倡交换弱指令例1设(R夕1)耻=3拳0H,(3之0H柄)=繁45仙H,(A偿)=讯7F姻H,则蜻执行昆指令恩:XC初H贫A计,鉴@R圈1结果楚:(A编)=敢45讯H,而(3顽0H威)=复7F率H,从别而实护现了述累加僚器A与内便部数胁据存匹储器RA赚M中30作H单元固的数该据交捞换。3.贫3.标4数据议交换月指令指令与助记献符与唉功能帽说明燥如下膊:目的操作数源操作数功能说明源操作数寻址方式XCHA,direct(direct)直接寻址XCHA,@Ri((Ri))间接寻址XCHA,Rn(Rn)寄存器寻址2.半字熔节交母换指樱令例1设(3蹦0H喝)=贤6F前H,(R铅0)销=3远0H,(A蹦)=谦0F垦6H,则骆执行炎指令揉:XC净HD辅A筐,士@Ri结果锅:(A支)=创0F跑FH,(3焰0H粗)=皱66近H数据虏交换挠指令军除了边影响丘始终网跟踪A中数肥据奇弃偶性幸的P标志渠外,翅对PS蓄W中其难他标颂志位方均无缠影响厨。指令吴助记文符与播功能报说明肺如下搬:目的操作数源操作数功能说明源操作数寻址方式XCHDA,@Ri((Ri))间接寻址3.累加溉器A中高祥四位火与低蒸四位挽交换漠指令SW筛AP例A该指涛令所陕执行岁的操犯作是鼓累加间器A中的切高4位与歌低4位的察内容瓣互换友,其葡结果气仍存便放在栽累加塔器A中。例1设(A建)=党0A室5H潜(1铅01跌00群10瞧1B量),则角执行性指令震:SW誓AP峡A结果养:(A架)=浮5A情H(莲01锈01浮10贵10突B)指令SW舒AP交换焰了A中高戚、低坐半字顿节(3~0和7~4),结懂果不宰影响棵标志范寄存膜器PS利W。3.忘3.粉5堆栈盘操作眠指令堆栈男操作毕指令轮只有2条,朵即:仗压入(P语US饮H)和弹育出(P妖OP使)。压入注指令供:PU喜SH界d冻ir旗ec暗t帽;仅SP装←S裂P+胀1,((SP强))脚←(幅di悲re希ct)弹出左指令孟:PO珠P貌di孔re逮ct鸣;勤((SP捎))桌←(父di强re义ct),SP春←S路P-府1例1粉PU阶SH惯A旗;保护A中数桐据PU标SH秃P民SW火;保护爹标志执寄存怒器中棋数据…怪;执行懂服务奇程序PO性P俘P菊SW瞧;恢复誉标志恰寄存所器中煤数据PO牵P市A察;恢复A中数获据例2笔PU肾SH凤APU肠SH疗P贝SW…PO傲P满APO架P边P凳SW例3膝P扔US陕H毁DP陕HPU稻SH补D鞠PL…PO戴P钓D驶PLPO应P绑D欢PH3.弦4.研1加减睡运算暗指令1.加法脂指令这类锡指令霉所完偷成的恒操作哄是把购源操阔作数(立即霉数、爽直接坟地址跪单元蛾内容悠、间晨接地牢址单预元内流容、斧工作第寄存虚器内关容)与累寄加器A的内捏容相禾加,恨将结次果保装存在捐累加校器A中。3.迫4算术忙运算欺类指悲令指令达助记掘符与贸功能艰说明拨如下至:目的操作数源操作数功能说明源操作数寻址方式ADDA,#data;(A)←(A)+data立即寻址ADDA,direct;(A)←(A)+(direct)直接寻址ADDA,@Ri;(A)←(A)+((Ri))寄存器间接寻址ADDA,Rn;(A)←(A)+(Rn)寄存器寻址例1执行疯指令管:MO份V宝A从,卧#0剧A9喘HAD饿D中A榜,身#0偷B8痰H对程宴序状悔态寄崭存器敢的影悼响如天图3.樱6所示欲。运算佩结果弄:(A懂)=短61浙H,CY摩=1,AC激=1,OV浓=1,P=之1,(P申SW尽)=隆0C酱5H例28位数融加法锈程序僵片断1:MO拳V除A,奥#箱23彩HAD楚D效A,溪#框5A把H…运算蜓结果普:(A额)=柴7D埋H,CY习=0,OV骄=0,AC浓=0,P=罩0,(P搂SW笔)=踩00筝H。例38位数役加法杆程序卷片断2:MO槽V奖A,臣#垒0A蚁BHAD拔D独A,徐#撇9A柔H…运算译结果穷:(A唉)=捎45绘H,CY呢=1,OV晃=1,AC路=1,P=习1,(P蒙SW隐)=申0C龄5H。带进孟位加宰法指钩令与湖前述罩加法划指令症的区份别仅念为考敌虑进诸位位及,其供他与者加法腾指令棍相同虫。2.带进戒位加忘法指疏令指令岸助记嫩符与缺功能兽说明吃如下藏:目的操作数源操作数功能说明源操作数寻址方式ADDCA,#data;(A)←(A)+data+(C)立即寻址ADDCA,direct;(A)←(A)+(direct)+(C)直接寻址ADDCA,@Ri;(A)←(A)+((Ri))+(C)寄存器间接寻址ADDCA,Rn;(A)←(A)+(Rn)+(C)寄存器寻址例3利用AD凑DC指令笨可以象进行熔多字匠节的俩加法比运算理。设有窃两个16位数造相加亡,被开加数对的高8位放种在41砌H,低8位放种在40楼H,加值数的踢高8位放疼在43呢H,低8位放稀在42咱H,和概的低8位存很放在50学H,高8位存尊放在51接H,进搏位位颜存放虽在52描H。可削编程掠序如消下:例1设(A跳)=票0A析AH,(R狠0)峰=5仇5H,C=课1,则黑执行鬼指令乓:AD怕DC递A,阴R舌0运算睬结果并:(A仙)=影00堵00爪00敢00表B,AC云=1,CY取=1,OV撇=1。例2设(A猾)=窃35道H,(4霞0H勒)=洋21怪H,C=炭0,则怜执行遭指令膨:AD她DC搬A罗,匆40碑H运算煎结果核:(A老)=窗56部H,AC餐=0,CY辽=0,OV身=0。这与堂执行签指令杯“AD狡D两A,滩4甜0H甚”的结怎果是亮一样扔的。SH昆J:收MO备V蛙A图,枝40赵H置;(圈A)电←被加餐数低8位AD布D痒A势,义42婆H筋;与加标数低8位相雨加MO冻V草5排0H趴,伐A罢;和的烧低8位存有入50多HMO侨V微A授,泪41疯H笨;(边A)品←被加辆数高8位AD宜DC斧A灭,每43鞠H藏;被加肺数高8位与铁加数斗高8位以梁及低乐位来昂的进阔位相捞加MO舞V木5堡1H绞,睡A说;和的牵高8位存曾入51膜H单元MO验V尺A疏,餐#0百0H凉;浩(A走)←福00述HAD岛DC绘A杀,恼#0盗0H火;产(A域)←洒(A言)沉+0嗓0H龟+高8位来富的进恰位MO咏V赠5泼2H衬,怒A婆;进位斩位C内容吨存入52制H单元…3.带借胃位减较指令指令馋助记挖符与愚功能喉说明毯如下馆:目的操作数源操作数功能说明源操作数寻址方式SUBBA,#data;(A)←(A)-data-(C)立即寻址SUBBA,direct;(A)←(A)-(direct)-(C)直接寻址SUBBA,@Ri;(A)←(A)-((Ri))-(C)寄存器间接寻址SUBBA,Rn;(A)←(A)-(Rn)-(C)寄存器寻址例1设(4叨0H填)=罚0B暂AH,(4险1H该)=佳98佳H,试片编写40诉H内容徐减去41板H内容罩后,交结果猛再存留入40睡H单元慕的程榜序。MO省V宗A,姑4亏0H闲;或(A怜)←该(4毙0H贴)CL沿R丛C烂;进位待位C清0SU框BB刘A袜,乐41碌H倾;(委A)披←(虎A)撇-(已4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论