第5章的MCS-51单片机的程序设计.pptx

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章的MCS-51单片机的程序设计

单片微型计算机原理及应用AMicrocontroller’s Principle and Applications课程主讲:訾学博课程内容第5章 MCS-51单片机的程序设计5.1程序编制的方法和技巧 单片机应用系统由硬件系统和应用程序构成 应用程序设计方法 汇编语言 高级语言 汇编语言,生成的目标程序占内存空间少、运行速度快,具有效率高、实时性强。 高级语言,对系统的功能描述与实现简单,程序阅读、修改和移植方便,适合于编写复杂的程序。 指令的书写格式一般格式[标号]:操作助记符 [目的操作数][,源操作数][;注释]注意:标号:表示该指令所在的符号地址,一般由字母和数字组成,第一位为字母,其余位为字母、数字任选。操作助记符不能缺少操作数个数可为:1、2、3个2个操作数的指令,目的操作数在左边5.1.1 伪指令伪指令,也叫汇编命令。仅对汇编过程进行指示伪指令无对应的单片机可执行代码 起始地址设定伪指令ORG ORG 8000HSTART:MOV A,#30H … …ORG 表达式表达式通常为十六进制地址,例:ORG可多次使用,但地址值的顺序要由小到大 结束汇编伪指令ENDEND该伪指令位于源程序的最后一行。 定义字节数据表伪指令DB1000H [标号:] DB 字节数据表1001H如:ORG 1000HDB -2,-4,-6,8,10,18FEHFCHFAH08H12H0AH定义字数据表伪指令DW 1400H[标号:] DW 字数据表1401H ORG 1400HDATA1:DW 324AH,3CH … …1402H3CH00H32H4AH1403H 定义常值为符号名伪指令EQU符号名 EQU 常值表达式 LEN EQU 10 SUM EQU 21HBLOCK EQU 22H CLR A MOV R7,#LEN MOV R0,#BLOCK LOOP:ADD A,@R0 INC R0 DJNZ R7,LOOP MOVSUM, A 符号名为:地址常数段名字符串寄存器名位名比较:标号只能是地址 定义位地址为符号名伪指令BIT符号名 BIT 位地址表达式如:ST BIT P1.0 ;将P1.0的位地址赋给符号名STCF BIT 0D7H ;将位地址为D7H的位定义为符号名用BIT定义的“符号名”一经定义便不能重新定义和改变5.1.2 程序编制的步骤 任务分析 明确任务:功能要求、技术指标 运行环境调研 算法设计 将实际问题转化为计算机处理的程序算法 算法比较与优化(内存需求与运行速度) 流程描述 “超级循环”框架 流程图符号 强化模块观念程序模块(主程序模块、各种子程序模块)模块化优点:分块设计、便于阅读、调试方便 采用循环和子程序使程序占用空间减少、结构清晰循环初值和结束条件,避免“死机”现象子程序的现场保护(注意栈平衡、寄存器内容)对中断子程序还有注意保护PSW的内容5.1.3 汇编语言的语句格式汇编器可以识别的语句形式为:[标号:] 指令助记符 [操作数1,] [操作数2,] [操作数3,] [;注释] 标号(即符号地址)非数字字符开头,后跟字母、数字、“-”、“?”等不能用已定义的保留字(指令助记符、伪指令等)后跟英文冒号“:” 指令助记符是指令功能的英文缩写。 操作数数据:二进制(B) 十进制(D或省略D) 十六进制(H),注意A~F开头时要加“0” ASCII码,如 ‘A’,‘1245’符号:符号名、标号或“$”(PC的当前值)表达式:由运算符和数据构成(见表5.1) 注释英文分号“;”开头表5.1 运算符优先级顺序表优先级运 算 符功 能表达式及其结果示例高↓↓↓↓↓↓↓低·()括号4*(5+6)即44NOT、HIGH、LOW取反、取高字节、取低字节NOT 55H即AAH;HIGH 1234H 即12H+、-正号、负号+5、-6*、/、MOD乘、除(取商)、取余数17 / 5 即3; 17 MOD 5 即2+、-加、减 5+4 即 9; 5-4 =即1SHL、SHR左移、右移2 SHL 2即8;8 SHR 2 即 2AND、OR、XOR与、或、异或45H AND 0FH即05H、、=、、=、=比较运算符MOV A,X8;若X8为真,则为MOV A,01H若X8为假,则为MOV A,00H5.2 源程序的编辑和汇编目标程序的产生过程如下图:5.2.1 源程序的编辑和汇编 源程序的编辑 ORG 0000H LJMP MAIN ORG 0040HMAIN:MOV R7,#16 MOV R0,#60H MOV A,#55HLOOP:MOV @R0,A INC R0 DJNZ R7,LOOP SJMP $ END依

文档评论(0)

liwenhua00 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档