- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图4.2 极值查找程序流程图 4.4 定点数运算程序 4.4.1 多字节无符号数加法程序 4.4.2 多字节有符号数减法程序 4.4.3 多字节十进制BCD码加法 4.4.4 多字节无符号数二进制乘法 4.4.5 除法程序 4.5 码制转换程序 4.5.1 将十六进制数转换成ASCII码 4.5.2 ASCII码转换成二进制数 4.5.3 BCD码转换为二进制码程序 4.5.4 二进制数转成BCD码 4.6 子程序设计 4.6.1 子程序设计中的有关问题 编写子程序时应注意以下几个问题: 1)子程序的第一条指令地址称为子程序的始址或入口地址。该指令前必须有标号,标号应以子程序的功能来命名,以便一看就 一目了然,例如延时程序常以DELAY作为标号。 2)主程序调用子程序是通过安排在主程序中的调用指令CALL实现的,子程序返回主程序必须执行安排在子程序末尾的一条RET返回指令。 3)主程序调用子程序和从子程序返回主程 序,计算机能自动保护和恢复主程序的断点地址。但对于各工作寄存器、特殊功能寄存器和内存单元中的内容,如果需要保护和恢复的话,就必须在子程序开头和末尾(RET指令前)安排一些能够保护和恢复它们的指令,如压栈、弹栈等。 4)为使所编子程序可以放在64 KB内存的任何子域并能为主程序调用,子程序内部必须使用相对转移指令而不使用它转移指令,以便汇编时生成浮动代码。 5)子程序参数可以分为入口和出口参数两类:入口参数是指子程序需要的原始参数,由调用它的主程序通过约定的工作寄 存器R0~R7、特殊功能寄存器SFR、内存单元或堆栈等预先传送给子程序使用;出口参数是由子程序根据入口参数执行子程序后获得的结果参数,同样由上述约定的存储空间传递给主程序使用。 4.6.2 子程序设计举例 (1)典型子程序设计 图4.3 冒泡排序流程图 (2)数字滤波程序 1)中值滤波 2)去极值平均滤波 图4.4 去极值平均值滤波程序流程图 (3)标度变换(工程量变换) 式中 A0——一次测量仪表的下限; Am——一次测量仪表的上限; Ax——实际测量值(工程量); N0——仪表下限所对应的数字量; Nm——仪表上限所对应的数字量; Nx——测量值所对应的数字量。 在很多系统中,仪表下限值A0=0,此时,其对应的N0=0,式可进一步简化为: 式(4.1),(4.2),(4.3)即为在不同情况下的线性仪表测量参数的标度变换公式。 图4.5 线性标度变换程序流程图 4.7 C语言程序设计 4.7.1 标准程序格式 4.7.2 数据的存储类型 4.7.3 特殊功能寄存器的定义 4.7.4 位变量的定义 (1)特殊功能寄存器中的可独立寻址位 2.6 复位及复位电路 2.6.1 复位操作 2.6.2 复位信号及其产生 图2.10 内部复位电路逻辑图 2.6.3 复位电路 图2.11 外部复位电路 第3章 MCS—51单片机的指令系统 3.1 MCS—51单片机的寻址方式 (1)寄存器寻址方式 (2)寄存器间接寻址方式 (3)直接寻址方式 (4)立即寻址方式 (5)位寻址方式 (6)变址间接寻址方式 (7)相对寻址方式 3.2 数据传送指令 图3.1 MCS—51的内部数据传送操作 3.2.1 数据传送指令概述 (1)以累加起A为目的操作数的指令(4条) (2)以Rn为目的操作数的指令(3条) (3)以直接寻址的单元为目的操作数指令(5条) (4)以寄存器间接寻址的单元为目的操作数指令(3条) (5)16位数据传送指令(1条) (6)栈操作指令(2条) (7)字节交换指令(3条) (8)半字节交换指令(1条) (9)累加器A半字节交换指令(1条) 3.2.2 累加器A与外部数据存储器数据传送指令 图3.2 累加器A与外部数据存储器的数据传送 3.2.3 程序存储器向累加器A传送指令 图3.3 程序存储器向累加器A数据传送操作 3.3 算术运算指令 3.3.1 加法指令 (1)不带进位的加法指令 (2)带进位加法指令 (3)加1指令(增量指令)(5条) (4)十进制调整指令 3.3.2 减法指令 (1)带进位减法指令 (2)减1指令 3.3.3 乘法指令 3.3.4 除法指令 3.4 逻辑运算指令 逻辑运算类指令共有24条,包括与、或、异或、清零、求反、左右移位等逻辑操作。逻辑运算类指令用到的助记符共有9个,它们是: 3.4.1 累加器A
您可能关注的文档
- 单片机原理、应用与Proteus仿真第5章 单片机中断系统.ppt
- 单片机原理、应用与Proteus仿真第6章 定时计数器.ppt
- 单片机原理、应用与Proteus仿真第7章 单片机串行口.ppt
- 单片机原理、应用与Proteus仿真第8章 单片机存储器扩展.ppt
- 单片机原理、应用与Proteus仿真第9章 单片机系统接口扩展及应用.ppt
- 单片机原理、应用与Proteus仿真第10章 单片机串行扩展和功率接口技术.ppt
- 单片机原理及接口技术(第2版)-第12章 其他接口设计.ppt
- 单片机原理及接口技术(第2版)-第13章 应用系统设计.ppt
- 单片机原理及接口技术第1章 单片机概述.ppt
- 单片机原理及接口技术第1章 单片机基础知识.ppt
原创力文档


文档评论(0)