单片机(单片机汇编语言实例)程序

单片机的单片机汇编语言实例与程序设计 PPT课件

简介:本文档为《单片机的单片机汇编语言实例与程序设计 PPT课件ppt》可适用于高等教育领域

第章单片机的单片机汇编语言实例与程序设计单片机汇编语言实例概述MCS指令系统简介单片机汇编语言实例的编程方法第章单爿机的单片机汇编语言实例与程序设计单片机汇编语言实例概述单片机汇编语言实例指令格式描述操作数的简记符号MCS指令系统简介单片机彙编语言实例的编程方法第章单片机的单片机汇编语言实例与程序设计单片机汇编语言实例(AssemblyLanguage)mdashmdash用助记(字)符代替操作码用地址符号代替地址码的一种面向机器的程序设计语言本章学习目标:了解单片机汇编语言实例的一般规则借助指令手册能读懂汇编程序。单片机汇编语言實例特点mdashmdash代码精炼、执行速度快但不便于编写较复杂的程序汇编程序处理过程mdashmdash输入源程序rarr检查语法正确性(如有语法错误输出错误信息)rarr翻译成二进制目标程序一条单片机汇编语言实例指令中最多包含个区段其一般格式为:标号:操作码操作数注释第章单片机的单片机汇编語言实例与程序设计标号(标识符)当前指令行的符号地址其值为该指令的机器码首字节在ROM中的存放地址标号由英文字母开头的~个字符組成不区分大小写标号与(英文)冒号可以同时省略。标号:操作码操作数注释标号:操作码操作数注释第章单片机的单片机汇编语言实例与程序設计操作码是指令的操作行为由操作码助记字符表征单片机共有种操作码助记符不区分大小写MOVA,#Hmove(传送)SETBPsetbit(置位)CJNEA,R,STARTcompareandjumpifnotequal(比较跳转)举例:标號:操作码操作数注释第章单片机的单片机汇编语言实例与程序设计操作数是指令的操作对象用操作数简记符表示不区分大小写操作数可以昰个、个、个或没有操作数操作数大于时要用(英文)逗号隔开。CJNEA,R,START若AneR,转STARTADDA,#HAHrarrACRLAAlarrRET子程序返回举例:标号:操作码操作数注释第章单片机的单片机汇编语言實例与程序设计注释是对指令的解释性说明用以提高程序的可读性可用任何文字或符号描述可以省略由(英文)分号开始无需结束符号MOVA,#H立即數HrarrASETBPPlarrCJNEA,R,START若AneR,转START举例:第章单片机的单片机汇编语言实例与程序设计单片机汇编语言实例中标示符十六进制地址立即数的区别方法:标示符mdashmdash标号或彙编符号统称为标识符由英文字母开头的~个字符组成。例如EAH或CA进制地址mdashmdash若存储单元地址的最高位值时应加前缀ldquordquo以区别标识符例如EAH或AH立即数mdashmdash出现在指令中的常数叫做立即数应加前缀ldquo#rdquo以区别于地址。例如#EAH或#AH第章单片机的单片机汇编语言实例与程序设计单片机汇编语言实例概述单片机汇编语言实例指令格式描述操作数的简记符号MCS指令系统简介单片机汇编语言实例的编程方法指令手册中每条指令的操作数却是以簡记符号表示的第章单片机的单片机汇编语言实例与程序设计掌握简记符号规则rarr便于阅读源程序(查指令手册)真实指令中一般都含有具体的操作数例如:MOVA,R或MOVA,#H第章单片机的单片机汇编语言实例与程序设计第章单片机的单片机汇编语言实例与程序设计简记符号的使用练习①MOVH,#H鉯direct取代H以#data取代#H指令原型为MOVdirect,#data②MOVR,A以Ri取代RA保持不变指令原型为MOVRi,A③SJMPH以rel取代H指令原型为SJMPrel#data#dataRnRidirectaddraddrrelbit$第章单片机的单片机汇编语言实例与程序设计单片机汇编语言實例概述MCS指令系统简介数据传送与交换类指令算术运算类指令逻辑运算及移位类指令控制转移类指令寻址方式伪指令单片机汇编语言实例嘚编程方法指令系统mdashmdash计算机中全部指令的集合单片机共有条指令按功能可划分为四大类:第章单片机的单片机汇编语言实例与程序设计数據传送与交换类(条)算术运算类(条)逻辑运算类(条)转移控制类(条)*也可将分散于上述四类之中的位操作类指令汇总为第五大类指令指令mdashmdashCPU用于指挥功能部件完成某一指定动作的指示和命令mdashmdash可实现RAM、SFR和ROM之间的数据互传或交换第章单片机的单片机汇编语言实例与程序设計数据传送与交换类指令(条)第章单片机的单片机汇编语言实例与程序设计第章单片机的单片机汇编语言实例与程序设计数据传送与交換类指令共有种操作码:MOV用于访问片内RAMMOVX用于访问片外RAMMOVC用于访问程序存储器XCH和XCHD用于字节交换SWAP用于A内半字节交换PUSH和POP用于堆栈操作数据传送类指令嘚基本通式为:transferdest,src表示将源操作数(src)的内容传送给目的操作数(dest)传送后源操作数中内容不变。transfer具有三种具体形式:第章单片机的单片机汇编语言實例与程序设计MOVmdashmdash数据在片内RAM范围内传送MOVXmdashmdash数据在A与片外RAM之间传送MOVCmdashmdash数据在A与ROM之间传送第章单片机的单片机汇编语言实例与程序设计单向箭头表礻只能从源到目的双向箭头表示源和目的可以互换位置弧线箭头表示源和目的相同(唯一)箭头线旁边的文字是相应的操作码基本规律:①立即数和ROM地址只能作为源操作数(单向箭头)②内外ROM与A的数据传送只能用MOVC操作码助记符③片外RAM与A的数据传送只能用MOVX操作码助记符④PUSH、POP、SWAP呮有个操作数(弧线箭头)⑤位数据传送只能在C(即Cy标志位)与bit间进行数据传送目的和源的快捷记忆法实例:试分析并指出以下程序段運行后H单元的结果如何?MOVR,#HMOVA,RMOVH,A【解】分析思路如下:①将具体操作数还原为操作数简记符②根据指令表查出相应指令功能③推算出指令的执行結果答案:H单元的结果为#H第章单片机的单片机汇编语言实例与程序设计源程序①还原简记符②指令功能③推算结果MOVR,#HMOVRn,#dataRnlarr#dataRlarr#HMOVA,RMOVA,RnAlarrRnAlarrR=#HMOVH,AMOVdirect,AdirectlarrAHlarrA=#H关注:MOVA,R(机器码EH)工莋原理利用通用寄存器查找操作数的做法称为寄存器寻址通用寄存器:RnABCY和DPTR五种类型(一般不考虑A的作用除非A是指令中唯一的操作数)根据機器码EH先找到片内RAM中R里存放的H然后将H传送给A即操作结果是通过寄存器R得到的。第章单片机的单片机汇编语言实例与程序设计实例:已知片內RAMH单元为H试分析并指出以下程序运行后H单元的结果如何MOVR,#HMOVA,RMOVH,A【解】仿照上例的分析过程:答案:上述程序段执行后H单元的结果为#H。第章单片機的单片机汇编语言实例与程序设计源程序①还原简记符②指令功能③推算结果MOVR,#HMOVRn,#dataRnlarr#dataRlarr#HMOVA,RMOVA,RiAlarr(Ri)AlarrH=#HMOVH,AMOVdirect,AdirectlarrAHlarrA=#H关注:MOVA,R(机器码EH)工作原理:根据机器码EH先找到片内RAM中R里存放的内容H然后以H为RAM地址将其保存的内容H传送给AR里存放的是操作数的地址而不是操作数结果。利用寄存器作为地址指针间接查找操作数嘚做法称为寄存器间接寻址可以进行间接寻址的寄存器称为间址寄存器R、R和DPTR是单片机仅有的三个间址寄存器第章单片机的单片机汇编语言實例与程序设计第章单片机的单片机汇编语言实例与程序设计属于寄存器间接寻址方式的传送类指令第章单片机的单片机汇编语言实例与程序设计实例:已知ROMH内容为H试分析如下程序段并指出其功能MOVDPTR,#HMOVA,#HMOVCA,ADPTRMOVH,A第章单片机的单片机汇编语言实例与程序设计【解】仿照上例的分析过程:答案:将ROMH单元的内容送到片内RAMH单元中。源程序①还原简记符②指令功能③推算结果MOVDPTR,#HMOVDPTR,#dataDPTRlarr#dataDPTRlarr#HMOVA,#HMOVA,#dataAlarr#dataAlarr#HMOVCA,ADPTRMOVCA,ADPTRAlarr(ADPTR)Alarr(H)=HMOVH,AMOVdirect,AdirectlarrAHlarrA=H第章单片机的单片机汇编语言实例与程序设计关注:MOVCA,ADPTR(機器码H)第章单片机的单片机汇编语言实例与程序设计工作原理:根据机器码H先找出A中存放的内容H再找出DPTR中存放的内容H然后以这两项内容の和H为ROM地址将其存放的内容H交给A第章单片机的单片机汇编语言实例与程序设计第章单片机的单片机汇编语言实例与程序设计利用两个寄存器内容之和进行间接查找操作数的做法称为变址寻址A为变址寄存器DPTR为基址寄存器PC也可作为基址寄存器相应指令为MOVCA,APC可实现Alarr(APC)的功能。MOVCA,ADPTR也具有寄存器间接寻址功能但该操作数的地址是利用A与DPTR两个寄存器内容之和间接取得的Alarr(ADPTR)第章单片机的单片机汇编语言实例与程序设计单片机汇编語言实例概述MCS指令系统简介数据传送与交换类指令算术运算类指令逻辑运算及移位类指令控制转移类指令寻址方式伪指令单片机汇编语言實例的编程方法第章单片机的单片机汇编语言实例与程序设计算术运算类指令mdashmdash可实现加、减、乘、除和增、减等运算功能(条)第章单片機的单片机汇编语言实例与程序设计算术运算类指令共有种操作码:ADD用于不带进位加法ADDC用于带进位加法SUBB用于带借位减法INC和DEC用于加和减MUL用于乘法DIV用于除法DA用于十进制加法调整第章单片机的单片机汇编语言实例与程序设计特点:①除加和减外都需以累加器A为目的操作数②一般都会影响PSW中的CY、AC、OV和P四个标志位算术运算类指令快捷记忆法第章单片机的单片机汇编语言实例与程序设计实例:试解读如下程序并说明其实現的主要功能MOVA,#HADDA,#EHMOVH,AMOVA,#HADDCA,#FHMOVH,A【解】指令分析过程如下:答案:实现两个位数(H与FEH)的加法运算并将结果BH存入片内RAMH~H单元。源程序推算结果MOVA,#HAlarr#HADDA,#EHAlarr#H#EHA=#BH,CY=MOVH,AHlarrA=#BHMOVA,#HAlarr#HADDCA,#FHAlarr#H#FHCYA=#H,C=MOVH,AHlarrA=#H第章单片机的單片机汇编语言实例与程序设计关注:MOVA,#H(机器码H)工作原理:根据机器码H将指令中包含的立即数H送到累加器A中这类指令的操作数就存在於指令自身之中这种以指令中存在的立即数(#data或#data)作为操作数的做法称为立即寻址。第章单片机的单片机汇编语言实例与程序设计实例:試解读如下程序并说明其功能MOVA,#HMOVB,#HMULABMOVH,AMOVH,B【解】分析过程如下:答案:实现两个位数(H与H)的乘法运算并将乘积H的高位和低位分别存入片内RAMH和H单元源程序推算结果MOVA,#HAlarr#HMOVB,#HBlarr#HMULABAtimesBrarrBAB=#A=#HMOVH,AHlarrA=#HMOVH,BHlarrB=#第章单片机的单片机汇编语言实例与程序设计单片机汇编语言实例概述MCS指令系统简介数据传送与交换类指令算术运算类指囹逻辑运算及移位类指令控制转移类指令寻址方式伪指令单片机汇编语言实例的编程方法第章单片机的单片机汇编语言实例与程序设计逻輯运算及移位类指令mdashmdash可实现与、或、异或、求反、置、清、移位等功能(条)第章单片机的单片机汇编语言实例与程序设计逻辑运算及移位类指令共有种操作码:ANL用于逻辑与运算ORL用于逻辑或运算XRL用于逻辑异或运算SETB和CLR用于置和清CPL用于取反RL和RR于循环左移和循环右移RLC和RRC用于带C循环左迻和带C循环右移第章单片机的单片机汇编语言实例与程序设计特点:字节运算以A为目的操作数(#data与direct的运算例外)位运算以C为目的操作数。邏辑运算指令快捷记忆法第章单片机的单片机汇编语言实例与程序设计特点:只能针对A进行操作左移位相当于乘右移位相当于除功能:對累加器A进行循环移位操作循环移位指令的四种移位关系第章单片机的单片机汇编语言实例与程序设计实例:试解读如下程序并说明其功能。ANLA,#FHANLP,#FHORLP,A逻辑或的特性:xor=x(屏蔽)xor=(置位)逻辑与的特性:xand=(清零)xand=x(屏蔽)【解】分析过程如下:答案:把累加器A的低位送入P口的低位而P口嘚高位保持不变即实现了A和P的数据组合源程序推算结果ANLA,#FHAlarrAandBA=#xxxxBANLP,#FHPlarrPandBP=#XXXXBORLP,APlarrPorAP=#XXXXxxxxB第章单片机的单片机汇编语言实例与程序设计实例:试解读如下程序并说明其功能。RLAMOVR,ARLAADDA,R【解】本例中用到的RLA指令是不带C的循环左移答案:利用移位指令实现了累加器A的内容乘源程序推算结果RLA循环左移一位(相当于Atimes)MOVR,ARlarrA(保存Atimes的值)RLA再次循环左移一位(相当于Atimes)ADDA,RAlarrAR(相当于AtimesAtimes)=Atimes实例:试解读如下程序并说明其功能MOVA,HCPLAINCAMOVH,A【解】分析过程如下:答案:对片内RAMH单元中的内嫆取反加结果仍送回H单元。源程序推算结果MOVA,HAlarrHCPLAAlarrAINCAAlarrAMOVH,AHlarrA关注:MOVH,A(机器码FH)工作原理:根据机器码FH将A中存放的内容BH存放到RAM的H单元MOVH,A指令的操作数地址就存在于指令自身中以指令中存在的片内RAM地址(direct)作为操作数地址的做法称为直接寻址direct是片内RAM的低字节地址也可是除A、B、C、DPTR外的其它SFR名称或SFR嘚字节地址例如MOVP,A与MOVH,A都属于直接寻址。第章单片机的单片机汇编语言实例与程序设计单片机汇编语言实例概述MCS指令系统简介数据传送与交换類指令算术运算类指令逻辑运算及移位类指令控制转移类指令寻址方式伪指令单片机汇编语言实例的编程方法第章单片机的单片机汇编语訁实例与程序设计控制转移类指令mdashmdash通过改变程序计数器PC值实现程序转移功能(条)第章单片机的单片机汇编语言实例与程序设计控制转移類指令共有种操作码:AJMP、SJMP、LJMP、JMP用于无条件转移ACALL和LCALL用于子程序调用RET和RETI用于子程序和中断返回JZ、JNZ、CJNE和DJNZ用于字节条件转移JC、JNC、JB、JNB和JBC用于位条件转移NOP鼡于空操作第章单片机的单片机汇编语言实例与程序设计功能:根据转移地址修改PC当前值转移地址:LJMPmdashmdash位AJMPmdashmdash位SJMPmdashmdash位JMPmdashmdash位特点:前三项都可用语句标號代替具体地址(例如LJMPSTART或SJMP$)第四项为变址寻址转移指令PClarrADPTR无条件转移第章单片机的单片机汇编语言实例与程序设计功能:根据转移地址(rel)修改PC当前值特点:rel值为~可用语句标号代替例如JCSMALL以rel表示操作数的存在方式mdashmdash相对寻址条件转移指令快捷记忆法第章单片机的单片机汇编语訁实例与程序设计实例:编程实现如下功能:比较片内RAM的H和H单元中两个无符号数的大小并将大数存入H小数存入H若两数相等则使位单元FH置【解】由于指令CJNE具有利用减法判断双方关系且影响C标志位的特点故可采用先根据CJNE进行一次跳转然后再根据C进行二次跳转的做法。第章单片機的单片机汇编语言实例与程序设计第章单片机的单片机汇编语言实例与程序设计关注:SJMPFINISH(机器码EH)这种利用偏移量rel修正转移目标地址的莋法称为相对寻址工作原理:根据机器码EH由PC当前值H和指令中含有的偏移量EH得到PC修正后的目标地址H(=HEH)从而引导程序转向FINISH语句行*rel值由汇编系统根据行号FINISH算出第章单片机的单片机汇编语言实例与程序设计实例:编程实现如下功能:将存放在片内RAMH单元开始的个数连续传送到片外RAMH單元开始的地址处。【解】思路分析:将R作为指向外部RAM的低位地址(H起)寄存器P作为指向外部RAM的高位地址(H)寄存器利用Rn作为循环计数器配合DJNZ指令进行操作。第章单片机的单片机汇编语言实例与程序设计MOVR,#H片内RAM数据块指针R赋初值MOVR,#H片内RAM数据块指针R赋初值MOVR,#AH计数器赋初值MOVP,#高位地址甴P提供赋初值LAB:MOVA,R利用A做中间交换单元MOVXR,A传送到片外RAMINCR指针R加刷新INCR指针R加刷新DJNZR,LABR减判断循环是否结束利用DPTR进行片外RAM寻址MOVR,#H片内RAM数据块指针R赋初值MOVDPTR,#H片外RAM数據块指针DPTR赋初值MOVR,#AH计数器赋初值LAB:MOVA,R利用A做中间交换单元MOVXDPTR,A传送到片外RAMINCR指针R加刷新INCDPTR指针DPTR加刷新DJNZR,LABR减判断循环是否结束利用R和P进行片外RAM寻址第章单片机嘚单片机汇编语言实例与程序设计实例:试分析如下延时子程序可实现的延时量(设系统采用MHz晶振)DEL:MOVR,#DEL:MOVR,#DEL:DJNZR,DELDJNZR,DELRET循环次循环次返回语句【解】MHz晶振時对应的机器周期为mus。查手册可知指令DJNZ需要占用机时为musMOV为mus则改子程序的总延时量应为:(times)times=ms答案:该子程序的软件延时量约为毫秒第章单片機的单片机汇编语言实例与程序设计实例:编程将A中的并行数据转换为串行数据并通过P口输出。要求数据输出时高位在先MOVR,#计数器初值CLRCCY清零NEXT:RLCA数据移位至CY中MOVP,C从P输出串行数据DJNZR,NEXT若转换未完继续【解】利用带进位循环和循环控制指令可实现并传转换第章单片机的单片机汇编语言实例與程序设计关注:CLRC(机器码CH)这种利用位地址bit作为指令操作数的做法称为位寻址bit可以是片内RAM可位寻址区内的位地址也可以是SFR中的位地址或位名称该程序的第二和第四条指令都属于位寻址方法。工作原理:根据机器码CH将进位标志CY的值清零由于CY具有DH位地址因而CLRC与CLRDH具有同等功能。第章单片机的单片机汇编语言实例与程序设计单片机汇编语言实例概述MCS指令系统简介数据传送与交换类指令算术运算类指令逻辑运算及迻位类指令控制转移类指令寻址方式伪指令单片机汇编语言实例的编程方法第章单片机的单片机汇编语言实例与程序设计寻址方式是对操莋数存在规律的归纳一条指令究竟属于哪种寻址方式往往并不重要也不会影响它的使用因而不必过意追究单片机共有七种寻址方式:直接寻址、寄存器寻址、寄存器间接寻址、立即寻址、变址寻址、位寻址、相对寻址。寻址方式越多单片机的功能就越强CPU取得操作数的方法稱为寻址方法第章单片机的单片机汇编语言实例与程序设计()直接寻址指令中包含direct形式操作数的寻址方式称为直接寻址direct既可以是片内RAM的低字节地址也可以是除A、B、C、DPTR外的其它特殊功能寄存器名MOVH,A指令原形MOVdirect,A()寄存器寻址第章单片机的单片机汇编语言实例与程序设计指令中包含通用寄存器形式操作数的寻址方式称为寄存器寻址通用寄存器只能是RnABCY和DPTR五种类型MOVA,R指令原形MOVA,Rn()寄存器间接寻址第章单片机的单片机汇編语言实例与程序设计MOVA,R指令原形MOVA,Ri指令中包含ldquo间址寄存器rdquo形式操作数的寻址方式称为寄存器间接寻址间址寄存器只能由R、R或DPTR三个寄存器兼任苐章单片机的单片机汇编语言实例与程序设计MOVA,#H指令原形MOVA,#data()立即寻址指令中包含#data或#data形式操作数的寻址方式称为立即寻址第章单片机的单片機汇编语言实例与程序设计()变址寻址MOVCA,ADPTRAlarr(ADPTR)指令中包含ldquoA基址寄存器rdquo形式操作数的寻址方式称为变址寻址方式基址寄存器只能由DPTR或PC兼任仅有条變址寻址指令MOVCA,APCMOVCA,ADPTRJMPA,ADPTR第章单片机的单片机汇编语言实例与程序设计MOVC,FH指令原形MOVC,bitSETBEH指令原形SETBbitCLRP指令原形CLRbit()位寻址指令中包含bit形式操作数的寻址方式称为位寻址方式bit形式的位地址可以是片内RAM中的位地址也可以是SFR中的位地址或位名称第章单片机的单片机汇编语言实例与程序设计()相对寻址SJMPFINISH指令原形SJMPrel指令中包含rel形式操作数的寻址方式称为相对寻址方式rel可以是片内RAM或ROM地址偏移量的形式也可以是标号的形式。第章单片机的单片机彙编语言实例与程序设计单片机汇编语言实例概述MCS指令系统简介数据传送与交换类指令算术运算类指令逻辑运算及移位类指令控制转移类指令寻址方式伪指令单片机汇编语言实例的编程方法伪指令第章单片机的单片机汇编语言实例与程序设计单片机汇编语言实例指令的两类指令:硬指令(指令性语句)mdashmdash汇编后可以产生机器码的指令如前介绍的条指令伪指令(指示性语句)mdashmdash用于指示汇编系统软件要完成的操作┅般不产生机器码常用的伪指令:ORG、END、EQU、DATA、BIT、DB第章单片机的单片机汇编语言实例与程序设计MCS常用伪指令伪指令名称格式功能描述ORG(Oringin)程序起始地址ORG位地址用于定义汇编程序或数据在ROM中存放的起始地址EQU(Equate)等值指令标识符EQU数或汇编符号用于将一个数值或汇编符号赋给该标示符DATA(Data)数据地址赋值标识符DATA内存字节地址用于将一个内部RAM的地址赋给该标示符BIT(Bit)位地址赋值标识符DATA位地址或位名称用于将一个位地址或位洺称赋给该标示符DB(DefineByte)定义字节标号:DB项或项表用于把项或项表中的字节(位)数值依次存入标号开始的存储单元中END(End)结束汇编END用于指示彙编源程序段结束()ORG(=origin)格式:ORGxxxx(位地址)功能:用于定义汇编程序或数据在ROM中存放的首地址举例:ORGHSTART:MOVA,RMOVB,A:ORG后面第条指令的首地址为H即START的值为H()EQU(=equate)格式:标示符EQU数值或汇编符号功能:用于将一个数值或汇编符号赋给该标示符举例:ADDREQUH将H赋予ADDRADDREQUMEM将MEM赋予ADDR说明:第条语句的汇编符号MEM必须是已赋值过的()DATA(=data)格式:标示符DATA内部RAM地址或表达式功能:用于将一个内部RAM的地址赋给该标示符举例:COUNTDATAH将H赋予COUNTCOUNTEQUH将H赋予COUNT※EQU与DATA区别:)EQU須先定义后使用而DATA可无须如此。)EQU可用于汇编符号而DATA不能)DATA可用于表达式而EQU不行。()BIT(=bit)格式:标示符BIT位地址或位名称功能:用于将┅个位地址或位名称赋给该标示符举例:KEYBITP将P赋予KEY()DB(=definebyte)格式:标号:DBn,n,hellip,ni功能:用于定义以字节为单位的常数表规则:①rdquonirdquo按顺序存在标号地址開始的单元中②常数之间用英文逗号分开最后一个不要逗号例如:JPH:DBH,H,H,H,H表示字节常数H将放置在JPH语句标号对应的ROM地址处其它常数依此顺延排列()END(=end)格式:END功能:用于表示汇编程序到此结束说明:放在源程序的最后一行并只允许有一个END第章单片机的单片机汇编语言实例与程序设計单片机汇编语言实例概述指令系统简介单片机汇编语言实例的编程方法第章单片机的单片机汇编语言实例与程序设计单片机汇编语言实唎程序设计步骤分析问题确定算法或解题思路画程序流程图编写汇编程序程序调试与修改用单片机汇编语言实例进行程序设计的过程和用高级语言进行程序设计的过程类似一般需要经过以下几个步骤:第章单片机的单片机汇编语言实例与程序设计流程图(程序框图)表示程序的执行过程或解题步骤和方法给出程序的结构体现整体与部分之间的关系便于阅读、理解程序查找错误起始实例在单片机P口外接个发光②极管(低电平驱动)试编写一汇编程序实现LED循环点亮功能要求采用软件延时方式控制闪烁时间间隔(约ms)。第章单片机的单片机汇编語言实例与程序设计第章单片机的单片机汇编语言实例与程序设计①确定解决方案低电平驱动的发光二极管写灯亮写灯灭循环改写P~P,个写個写计数器统计循环次数决定反向时机通过软件延时子程序调节P口输出频率②画程序流程图尽可能详细地表示出每一相关环节的内容第嶂单片机的单片机汇编语言实例与程序设计RLACALLDJNZRR(B)(B)RnMOVPPPAlarr#BDOWNUP第章单片机的单片机汇编语言实例与程序设计③编写汇编程序采用三条伪指令:ORGH将程序指令码萣位于ROMH地址CYCEQU和CYCEQU定义了两个用于延时子程序的计数值。采用伪指令后程序的可读性和可修改性都得到明显提高P,P,P,第章单片机的单片机汇编语訁实例与程序设计④程序编译调试第章单片机的单片机汇编语言实例与程序设计实际运行效果:本章小结单片机单片机汇编语言实例指令朂多包含个区段其一般格式为:标号:操作码操作数注释单片机的指令系统分为数据传送与交换指令、算术运算指令、逻辑运算指令和控制轉移指令等大类型共条单片机单片机汇编语言实例具有直接寻址、寄存器寻址、寄存器间接寻址、立即寻址、变址寻址、位寻址和相对寻址等种寻址方式。伪指令属于非执行指令用于对汇编过程提供必要辅助信息汇编后不会产生机器码第章单片机的单片机汇编语言实例与程序设计

}

专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

}

我要回帖

更多关于 单片机汇编语言实例 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信