单片机功能特殊符号功能

在电子工程世界为您找到如下关于“特殊字符”的新闻
(putchar(UartReadChar()));}这是最简单的getchar函数,直接调用读取字符函数,输出并返回。但是人的输入过程会偶尔犯错误的,为了支持退格键等,需要开辟一个缓存区。详细代码如下:#define LINE_LENGTH 80 & & & & &//行缓冲区大小,决定每行最多输入的字符数/*标准终端设备中,特殊...
和%x说明符,并且不支持位域和精度参数。_small_write大小约为_formatted_write的10%—15%。C430编译器的默认版本就是_small_write:-e_small_write=_formatted_write要选择完整的ANSI版本,可以删除这一行。*简化printf有时为了支持特殊输出格式的需求,或支持非标准输出设备的需求,必须订制特殊的输出子程序...
电子电路原理图的概念及识图意义电子电路图一般由电路原理图、方框图和装配(安装)图构成,其中电路原理图是电子电路图的重要组成部分,它是由各种代表实际电子元器件的符号(图形、文字)及注释性字符组成的。从电路原理图我们可以看出每个电子元器件的具体参数(如型号、标称值)及各个元器件之间的连接关系。识图,是从事电子技术工作人员的一项基本功,通过识图可以帮助人们去尽快地熟悉设备的构造...
图解如下:编译过程又可以分成两个阶段:编译和汇编。编译编译是读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,源文件的编译过程包含两个主要阶段:第一个阶段是预处理阶段,在正式的编译阶段之前进行。预处理阶段将根据已放置在文件中的预处理指令来修改源文件的内容。如#include指令就是一个预处理指令,它把头文件的内容添加到.cpp文件中。这个在编...
的时候会用到。2. 串口初始化:模块的波特率为位数据位,1位停止位,没有校验位和流控。& & & & & & & & & & & 串口还需要两个发送函数,发送一个字节和发送一串字符串的。串口中断处理函数放到后面说。3. AT指令操作:发送AT指令&nbsp...
(如MAX1487E等),以消除线路浪涌干扰。& & 考虑到线路的特殊情况(如某一台分机的485芯片被击穿短路),为防止总线中其它分机的通信受到影响,必须在其A、B输出端与485总线之间进行隔离。一种简单可行的方法是:在MAX1487的信号输出端串联两个10~30Ω的电阻R1、R2,这样一来,一方面,本机的硬件故障就不会使整个总线的通信受到影响;另一方面,与Z1、Z2配合...
存储示波器(DSO),数字荧光示波器(DPO)和采样示波器。  模拟示波器要提高带宽,需要示波管、垂直放大和水平扫描全面推进。数字示波器要改善带宽只需要提高前端的A/D转换器的性能,对示波管和扫描电路没有特殊要求。加上数字示波管能充分利用记忆、存储和处理,以及多种触发和超前触发能力。廿世纪八十年代数字示波器异军突起,成果累累,大有全面取代模拟示波器之势,模拟示波器的确从前台退到后台...
出如图1所示的系统框图。& & 如图1所示,系统的整个控制流程是:由单片机AT89C52的内部程序定时控制LCD使之显示出本文所要实现的效果,当计时到整点时单片机发出一条命令去控制喇叭进行整点报时,若出现特殊状况,比如突然断电则单片机将会停止工作,从而会造成时间的不准确,所以加一组键盘便于随时修正时间使时间能够准时计时。此外,为了使所设计的数字钟秒表更为准...
了广泛的应用。本系统选用的是EPSON公司生产的EA-D20040AR点阵式液晶显示模块,它由TN型液晶显示器、CMOS驱动器和CMOS控制器组成,模块内集成有字符发生器和数据存贮器,采用单±5V电源供电,内部有能显示96个ASCII字符和92个特殊字符的字库。EA-D20040AR与单片机80C51的接口电路如图4所示:& & 图4 EA-D20040AR...
器(MAC),可按业界标准的以太网协议可靠地收发信息包数据。ENC28J60具有可编程过滤功能,特殊的过滤器,包括Microchip的可编程模式匹配过滤器;可自动评价、接收或拒收MagiCPACket,单播(Unicast)、多播(Multicast)或广播(Broadcast)信息包,减轻主控单片机的处理负荷:内置可编程8KB双端口SRAM缓冲器,可以实现灵活可靠的数据管理...
特殊字符资料下载
14.2.5 无名的命名空间
14.2.6 标准命名空间std
14.3 使用早期的函数库
附录A 常用字符与ASCII代码对照表
附录B 运算符与结合性
《清华大学计算机系列教材:数据结构(第2版)》第二版在保持原书基本框架和特色的基础上,对主要各章,如第一、二、三、四、六及九章等,作了增删和修改。
  《清华大学计算机系列教材...
的第一个字母对齐,并单独占一行。
3.低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。
C语言的字符集
  字符是组成语言的最基本的元素。C语言字符集由字母,数字,空格,标点和特殊字符组成。在字符常量,字符串常量和注释中还可以使用汉字或其它可表示的图形符号。
986. 样本数字时钟987. 用javadoc建立程序文档988. 给javadoc所生成的文档增加注释989. 用于javadoc特殊标签第二十七部分 结束990. 为什么Java虚拟机是重要的991. 了解远程方法调用(RMI)992. 远程方法调用背后的详情993. RMI与Netscape的兼容问题994. 寻找有关远程方法调用(RMI)的详情995. 了解Mac Os Runtime...
的首字母将人名排序和分组
第6章 面向对象编程
6.1 温标的转换
6.2 定义常量
6.3 限制属性的设置
6.4 链式字典查询
6.5 继承的替代方案——自动托管
6.6 在代理中托管特殊方法
6.7 有命名子项的元组
6.8 避免属性读写的冗余代码
6.9 快速复制对象
6.10 保留对被绑定方法的引用且支持垃圾回收
6.11 缓存环的实现
6.12 检查一个...
.2.5.9 显示指令.2.5.10 调试和错误诊断指令2.5.11 字符串处理指令2.5.12 特殊功能指令2.5.13 数据控制指令2.5.14 转换指令2.5.15 时钟指令2.5.16 外围设备指令2.5.17 程序控制指令2.5.18 其它指令2.5.19 用于数据链接的指令2.5.20 QCPU指令2.5.21 冗余系统指令(用于Q4ARCPU) .3. 指令组态3.1 指令组态.3.2...
6.2.2 常量 55
6.2.3 变量 56
6.3 整型数据 56
6.3.1 整型常量 57
6.3.2 整型变量 57
6.4 浮点型数据 58
6.4.1 浮点型常量 58
6.4.2 浮点型变量 58
6.5 字符型数据 58
6.5.1 字符常量 59
6.5.2 字符串常量 59
6.5.3 转义字符 59
6.5.4 符号常量...
用单片机制作多功能莫尔斯码电路:用单片机制作多功能莫尔斯码电路莫尔斯电码通信有着悠久的历史,尽管它已被现代通信方式所取代,但在业余无线电通信和特殊的专业场合仍具有重要的地位,这是因为等幅电码通信的抗干扰能力是其它任何一种通信方式都无法相比的。在短波波段用几瓦的功率即可进行国际间的通信,收发射设备简单易制成本低廉,所以深受业余无线电爱好者的喜爱,是业余无线电高手必备的技能。要想熟练掌握莫尔斯电码...
用单片机制作多功能莫尔斯码电路:用单片机制作多功能莫尔斯码电路莫尔斯电码通信有着悠久的历史,尽管它已被现代通信方式所取代,但在业余无线电通信和特殊的专业场合仍具有重要的地位,这是因为等幅电码通信的抗干扰能力是其它任何一种通信方式都无法相比的。在短波波段用几瓦的功率即可进行国际间的通信,收发射设备简单易制成本低廉,所以深受业余无线电爱好者的喜爱,是业余无线电高手必备的技能。要想熟练掌握莫尔斯电码...
的基本知识&&& 1.1& C语言的特点及其程序结构&&& 1.2& C语言的标识符和关键字&&& 1.3& 单片机C51程序的编译连接与调试& 第二章& C51程序设计的基本55钵&&& 2.1& 数据类型&nbsp...
。 如果实在空间太小放不了字符而需放在焊盘上的, 又无特殊声明是否保 留字符,我们在做板时将切除 Bottem 层上任何上焊盘的字符部分(不是整个字符切除)和 切除 TOP 层上表贴元件焊盘上的字符部分,以保证焊接的可靠性。大铜皮上印字符的,先 喷锡后印字符,字符不作切削。板外字符一律做删除处理。 4. 阻焊绿油(一般为绿油,也有用黑油的,看具体而定)要求: A. 凡是按规范设计,元件的焊接点用焊盘来表示...
特殊字符相关帖子
读取数据 ;Data OUT transaction:主机用来向设备发送数据 。
【包】(Packet)可以分成四类:令牌包(Token Packet)、数据包(Data Packet)、握手包(Hand Shake Packet)、特殊包(Special Packet)。 USB通讯是以包(Packet)为单位,包里包含包标识符PID(Packet Identifier),用来说明包的类型。
,还有一些特殊的描述符,例如我们下面会讲到的HID描述符。
& && & 在USB主机访问USB设备的描述符时,USB设备依照设备描述符、配置描述符、接口描述符、端点描述符、字符串描述符顺序将所有描述符传给主机。一个从设备发给主机的内容至少要包含设备描述符、配置描述符和接口描述符,如果USB设备没有端点描述符,则它仅仅用默认管道与主机进行...
本帖最后由 cruelfox 于
23:33 编辑
  前面和大家分享了 FreeRTOS 的任务是如何建立,以及CPU是如何从一个任务切换至另一个任务的。要发挥多任务的长处,光有调度器和时间片管理还不够,必须有机制让多个任务能协同工作。
  比如,设想串口输出字符串信息的如下场景:
  (1) 一个任务是专门管理串口发送的,它在没有数据需要操作 UART 硬件...
响应:无效字符'403 Forbidden\nDocker是一家美国公司,我们只好遵守美国在出口控制方面的法规。为了努力遵守这些法规,我们现在阻止位于古巴、伊朗、朝鲜、克里米亚共和国、苏丹和叙利亚这6个国家的所有IP地址。如果你不在这些城市、国家或地区,但是却被禁止访问,请联系:[url]https://support.docker.com[/url]\n\n\n”.[/align][align...
图形进行初步检查,看文件有无设计上的问题或有无特殊的、在处理文件时需特别留意之处
4)可对字符和阻焊进行适当的调整,以方便处理文件和提高效率,字符可以通过Global过滤器设置条件进行快速调整不同格式的字符(注:对于焊盘等的调整同样可以)
5) 而对于阻焊的调整则可以通过按D、R调出[Manufacturing]制作设计规则的[Solder-Mask Expansion Rule]设置项...
此类不利于加工生产的问题做出以下几点分析,供PCB设计和制作工程人员参考:
& && &为便于表达,从开料、钻孔、线路、阻焊、字符、表面处理及成形七个方面分析:
  一. 开料主要考虑板厚及铜厚问题:
  板料厚度大于0.8MM的板,标准系列为:1.0 1.2 1.6 2.0 3.2&&MM,板料厚度小于0.8MM不算标准系列,厚度...
两部分介绍这四种绘图设备。
QPixmap 继承了 QPaintDevice,因此,你可以使用 QPainter 直接在上面绘制图形。QPixmap 也可以接受一个字符串作为一个文件的路径来显示这个文件,比如你想在程序之中打开 png、jpeg 之类的文件,就可以使用 QPixmap。使用 QPainter::drawPixmap() 函数可以把这个文件绘制到一个 QLabel...
主机执行,(因为复制、粘 贴命令不能包含类似“换行符”之类的特殊字符)。
any uncompleted Linux command in all lines in the doucment,please enter manually to the Linux host for execution(because copy,pasting commands don't contain...
本帖最后由 Jacktang 于
17:33 编辑
1 射频PCB设计中的丝印设计
1.1 器件封装丝印
1.1.1 器件封装丝印线不得穿越器件焊盘和其他焊接区域,且间距焊盘必须大于20mil。
1.1.2 对于有方向性规定的器件,丝印标志必须表明其方向。
1.1.3 对于集成器件封装,须表明引脚序号和计数方向。
1.2 项目代号丝印
1.2.1 项目代号丝印字符...
函数,稍微特殊一点。当中断发生的时候,CPU会从中断向量表里面去取出中断向量对应的中断服务程序入口地址,然后自动保存关键的寄存器到堆栈上,再跳转到中断服务程序的入口地址去执行。中断服务程序也会在堆栈上保留出一块空间用来存放自己的局部变量,以及保存一些没有被自动保存的寄存器。而主程序以及它调用的子程序是无从知道中断服务程序在什么时候被调用的(仅有使用休眠指令暂停执行是例外)。
  怎样来实现多任务...
特殊字符视频
你可能感兴趣的标签
热门资源推荐
&TI 最新应用方案,助力智能开发单片机系统指令_百度百科
清除历史记录关闭
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
单片机系统指令
单片机系统指令是由机器语言发出的指令,其中MCS-51共111条指令。
单片机系统指令处理指令
MCS-51共111条指令,
1、按指令所占的字节来分:
(1)单字节指令(49条) 如MOV A,R2,()
(2)双字节指令(46条) 如MOV A,#0BH,(74H,
(3)三字节指令(16条) 如MOV 0BH, #0BH ,(75H,
2、按指令的执行时间来分:(1个为12个)
(1) 1个(64条) ,如MOV A,R2 MOV A,#0BH,
(2) 2个(45条) ,如MOV 0BH, #0BH
(3) 4个(2条) ,乘、除指令。
一、按和分
1、:用来规定指令进行什么操作
如MOV A,#0BH,(74H,0BH)
其中74H为,指明“将送入ACC”这种操作;
2、:则是指令操作的对象,有可能是数据,也可能是地址
如MOV A,#0BH,其中#0BH为。
有单字节指令、双字节指令、三字节不同长度的指令,格式不同: (1)单字节指令:、同在一个字节中。
(2)双字节指令:+。
(3)三字节指令:++操作数。
二、按和分
操作[目的,源操作数]
如MOV A,#0BH,(机器码74H,0BH),其中:
(1)MOV为操作, 指明“内部”这种操作;
(2)A为目的,指明“的目的寄存器”是A;
(3) #0BH为源。
单片机系统指令寻址方式
一、在中;
如MOV A,Rn ;(Rn)→A,n=0~7
1、4组工作寄存区,共32个工作寄存器。
2、部分,例如A、B 及DPTR等。
二、访问片外数据
(1)用R0或R1作为间址,范围为片外低256个字节;
(2)用DPTR作为间址寄存器,寻址范围为片外64K。
a) MOVX A,@Ri ;i=0或1
若(Ri)=70H,把外部RAM中70H单元的内容送到A
b) MOVX A,@DPTR
若(DPTR)=2000H,把外部RAM中2000H单元的内容送到A
3、堆栈操作指令访问堆栈区
专用操作指令PUSH(压栈)和POP()使用堆栈
(SP)作间址寄存器
指令PUSH(压栈)和POP(),无前缀标志“@”
四、立即(数)
在指令中直接给出,需在操作数前面加前缀标志“#”。
如MOV A,#40H,此时在程序中。
五、基址寄存器加变址寄存器间址
1、以DPTR或PC作基址寄存器,以A作为变址寄存器;
2、寄存器+变址寄存器形成地址;
3、本专门针对,寻址范围可达到64KB。
4、本的指令只有3条:
MOVC A,@A+DPTR
MOVC A,@A+PC
JMP @A+DPTR
前2条又称,将单元内容给ACC;
后1条为散转指令,属于转移类指令。
(1)本是专门针对的寻址方式,寻址范围可达到64KB。
(2)本的指令只有3条:
MOVC A,@A+DPTR
MOVC A,@A+PC
JMP @A+DPTR
89C51有位处理功能,可以对进行操作,
如MOV C,40H是把位40H的值送到进位位C。
寻址范围:
1、内部RAM中的区(20H—2FH),有2种表示方法。
(1) 直接给出位地址,如MOV C,40H;
(2) 加位数,如MOV C,(28H).0,指的是28H单元中的最低位。
2、SFR中的可寻址位(70H—FFH,共83位),有4种表示方法。
(1) 直接给出位地址,如MOV C,0D5H(PSW.5的位地址);
(2) 直接写位名称,如MOV C,F0;
(3) 加位数,如MOV C, (0D0H).5;
(4) SFR符号加位数,如MOV C, PSW.5。
在相对寻址的转移指令中,给出了地址“rel”,即
把PC的当前值+ rel 就构成了程序转移的目的地址。即
目的地址=转移指令所在的地址+ 转移指令的字节数+ rel
rel是带符号的8位二进制补码数,范围是:–128 ~ +127 ;
注意:PC的当前值是紧接在转移指令后的下一条指令的PC值。
单片机系统指令分类介绍
指令中符号意义:
DPTR数据,可用作16位的数据。
bit内部RAM或中的位。
C(或Cy)进位标志位或位处理机中的。
addr11 11位目的地址
addr16 16位目的地址
@ 寄存器前缀,如@Ri,@A+DPTR
(X)X中的内容。
((X))由X寻址的单元中的内容。
→右边的内容被箭头左边的内容所取代。
Rn 当前区的8个工作寄存器R0~R7(n=0~7)。
Ri 当前寄存器区中可作寄存器的2个寄存器R0、R1
Direct直接地址,即8位的内部RAM或的字节
#data 包含在指令中的8位。
#data16 包含在指令中的16位。
rel相对转移指令中的,为8位的带符号补码数。
单片机系统指令数据传送类
格式:MOV或MOVX或MOVC &目的&,&源&
将源复制给目的操作数,源操作数不变,而不是“
搬家”。类指令不影响标志位Cy、Ac和OV,影响奇偶标志位P。
一、以为目的操作数的指令
MOV A, R (Rn)→A,n=0~7
MOV A, @R ((Ri))→A,i=0,1
MOV A,(direct)→A
MOV A, # #data→A
二、以Rn为目的的指令
MOV Rn, A ; (A)→Rn, n=0~7
MOV Rn,(direct)→Rn, n=0~7
MOV Rn, # #data→Rn, n=0~7
三、以直接地址direct为目的的指令
MOV direct, A ; (A)→direct
MOV direct, R(Rn)→direct, n=0~7
MOV direct1, direct2;
MOV direct, @R((Ri))→direct
MOV direct, # #data→direct
注意:之间不可相互传送数据;
直接地址之间可相互传送数据。
(直接给出操作数的)
寻址范围:
1、内部RAM的128个单元(00-7FH)
2、(80-FFH) ,注意SFR区单元除了以的形式外,还可用寄存器符号的形式给出,如:
MOV A,80H 与 MOV A,P0是等价的。
是访问特殊功能寄存器的唯一寻址方式
四、以间接地址为目的的指令
MOV @Ri, A ;(A)→((Ri)),i=0,1
MOV @Ri,(direct)→((Ri))
MOV @Ri, # #data→((Ri))
五、16位数传送指令
MOV DPTR, #data16 ; #data16→DPTR
唯一的16位数据的传送指令,
的高8位送入DPH,
的低8位送入DPL。
六、堆栈操作指令
内部RAM中可以设定一个后进先出(LIFO-Last In First Out)的区域称作,SP始终指向堆栈的
栈顶位置。
1、指令 PUSH direct
先将栈SP加1,然后把direct中的内容送到SP指示的内部RAM单元中
2、指令 POP direct
SP指示的栈顶(内部RAM单元)内容送入direct字节单元
中,栈指针SP减1
七、A与传送指令
MOVX A, @DPTR ;((DPTR))→A,读外部RAM/IO
MOVX A, @R((Ri))→A,读外部RAM/IO
MOVX@DPTR, A ;(A)→((DPTR)),写外部RAM/IO
MOVX@Ri, A ;(A)→((Ri)),写外部RAM/IO
功能:A与外部RAM传送数据,RD*(P3.7)或WR*(P3.6)信号有效。
1、采用DPTR时,高8位地址(DPH)由P2口输出,低8位地址(DPL)由P0口输出。
2、采用Ri(i=0,1)时,可寻址片外256个单元的数据。Ri内容(地址)由P0口输出。
3、数据均由P0口输出。
用于读(内外)中的表格数据的指令,仅两条
,均采用寄存器加变址寄存器间接寻址方式。
1、MOVC A,@A+PC
(1) 以PC作为基址,A为变址寄存器;
(2) 两寄存器的内容相加,得到一个16位的地址;
(3) 取出此地址中的数据,传送给ACC。
注意:PC中的内容为下一条指令的起始地址,PSEN信号有效(作用同RD*、WR*)。
2、MOVC A,@A+DPTR
(1) 以DPTR 作为基址寄存器,A为变址寄存器;
(2) 两寄存器的内容相加,得到一个16位的地址;
(3) 取出此地址中的数据,传送给ACC。
如 (DPTR)=8100H (A)=40H 执行指令
MOVC A, @A+DPTR
执行结果将中8140H的内容送入A。
本指令的执行结果只和DPTR及A的内容有关,
与该指令存放的地址及常数表格存放的地址无关,因此表格的
大小和位置可以在64K中任意安排,一个可以
为各个程序块公用。
单片机系统指令功能指令
一、字节交换指令
若(A)=80H,(R7)=08H,执行后(A)=08H,(R7)=80H
XCH A, direct
若(A)=80H,(40H)=F0H,执行后(A)=F0H ,(40H)= 80H
XCH A, @Ri
若(A)=80H , (R0)=6AH, (6AH)=0FH ,
执行后(A)=0FH,(6AH)=80H
二、交换指令
XCHD A, @Ri 的低4位与内部RAM低4位交换
三、交换指令
将A的高和低半字节互换。
四、算术运算指令
加、减、乘、除指令,都是针对8位二进制无符号数。执行
的结果对Cy、Ac、OV等标志位有影响,但增1和减1指令不影
响上述标志。
1、加法指令,目的均为ACC。
ADD A, R(A)+(Rn)→A,n=0~7
ADD A,(A)+(direct)→A
ADD A, @R(A)+((Ri))→A,i=0,1
ADD A, #(A)+#data→A
注意运算结果对各个标志位的影响:
(1)、如果位7有进位,则进位标志Cy置“1”,否则清0;
(2)、如果位3有进位,则Ac置“1”,否则清0;
(3)、溢出标志位OV:
如果位6有进位,而位7没有进位;或者位7有进位,而位6 没有,则溢出标志位OV置“1”,否则清0。
OV状态,只有在带符号数加法运算时才有意义。
当两个带符号数相加时,OV=1,表示加法运算超出了A所能表示的带符号数的有效范围。
2、带进位加法指令
标志位Cy参加运算,因此是三个数相加。共4条:
ADDC A, R(A)+(Rn)+C→A,n=0~7 ADDC A,(A)+(direct)+C→A
ADDC A, @R(A)+(Ri)+C→A,i=0,1
ADDC A, #(A)+#data+C→A
3、增1(加1)指令(C语言的++ )
INC Rn=0~7
INC direct
INC @Ri=0,1
INC DPTR (除以外)
(1)、不影响PSW中的任何标志(除了INC A 外)。
(2)、INC DPTR
该指令是16位数增1指令。指令首先对低8位指针DPL的内容执行加1的操作,当产生溢出时,就对DPH的内容进行加1操作,不影响标志Cy的状态。
4、DA A,十进制调整指令
用于对BCD码加法运算结果的修正。
两个BCD码按二进制相加之后,必须经本指令的调整才能
得到正确的压缩BCD码的和数。
调整方法:十进制调整修正,即结果加6调整。具体为:
a) 低4位大于9或辅助进位位Ac=1,则进行低4位加6修正;
b) 高4位大于9或进位位Cy=1,则进行高4位加6修正;
c) 高4位大于9, 低4位大于9, 则高4位和低4位分别加6修正;是否加6是通过执行指令 DA A 来自动实现的。
5、带借位的减法指令(注意:减法只有带借位的)
SUBB A, R(A)-(Rn)- Cy→A,n=0~7
SUBB A, (A)-(direct)- Cy→A
SUBB A, @R(A)-((Ri))- Cy→A, i=0,1
SUBB A, #(A)-#data - Cy→A
A的内容减去源和进位标志Cy的值,结果存在A中。
1、如果位7需借位,则Cy置1,否则清0;
2、如果位3需借位,则Ac置1 ,否则清0;
3、如果位6需借位而位7不需要借位,或者位7需借位,位6
不需借位,则溢出标志位OV置1,否则清0。
6、减1指令(C语言的--)
DEC A ;(A)-1→A
DEC Rn ;(Rn)-1→Rn,n=0~7
DEC direct ;(direct)-1→direct
DEC @Ri ;((Ri))-1→(Ri),i=0,1
1、减1指令不影响标志位。
2、增1/加1指令有INC DPTR,减1无DEC DPTR指令。
7、乘法指令
MUL AB ;A×B→BA
1、积的高字节在B中,低字节在A中;
2、如果积大于255,则置“1”溢出标志位OV
8、除法指令
DIV AB ;A/B→A(商),余数→B
如果B的内容为“0”(即除数为“0”),则存放结果的A、B中的内容不定,并置“1”溢出标志位OV。
五、左环移指令RL A
A的内容向左环移一位,Acc.7移入Acc.0 ,不影响标志。
六、带进位左环移指令RLC A
累加器A的内容和进位标志位Cy一起向左环移一位,Acc.7移入进位位Cy,Cy移入Acc.0,不影响其它标志。
七、右环移指令RR A
累加器A的内容向右环移一位,Acc.0移入Acc.7,不影响标志。
八、带进位环移指令RRC A
累加器A的内容和进位标志Cy一起向右环移一位,Acc.0移入Cy,Cy移入Acc.7。不影响其它标志。
九、逻辑与指令
ANL A, R (A)∧(Rn)→A,n=0~7
ANL A, (A)∧(direct)→A
ANL A, # (A)∧#data→A
ANL A, @R (A)∧((Ri))→A,i=0~1
ANL direct, A ; (direct)∧(A)→direct
ANL direct, # (direct)∧#data→direct
ORL A, Rn ;(A) ∨(Rn)→A ,n=0~7
ORL A, direct ;(A) ∨(direct)→A
ORL A, #data ;(A) ∨data→A
ORL A, @Ri ;(A) ∨((Ri))→A,i=0,1
ORL direct, A ;(direct) ∨(A)→direct
ORL direct, #data ;(direct) ∨#data→direct
十一、逻辑异或指令
XRL A, Rn ;(A) ⊕(Rn)→A
XRL A, direct ;(A) ⊕(direct)→A
XRL A, @Ri ;(A) ⊕((Ri))→A ,i=0,1
XRL A, #data ;(A) ⊕#data→A
XRL direct, A ;(direct) ⊕(A)→direct
XRL direct, #data ;(direct) ⊕#data →direct
与1相与取反,与0相与不变。
单片机系统指令控制转移类
一、指令 AJMP addrll (2字节指令)
2K(地址211)范围内的无条件跳转指令。
64K空间分为32个区,每区2K字节,转移的目标地址必须与AJMP下一条指令的地址高5位A15-A11相同。
指令执行时,先PC加2,然后把addrll送入PC.10~PC.0,
PC.15~PC.11保持不变,程序转移到目标地址。
注意:转移目标首地址必须在AJMP指令下一条指令地址(PC+2)的2KB范围内。
二、长跳转指令 LJMP addr16 (3指令)
64K范围内的无条件跳转指令。
指令执行时,把指令的第二和第三分别装入PC的高位和低位字节中,无条件地转向addr16指出的目标地址。
目标地址可以在64K程序存储器地址空间的任何位置。
注意:短跳转、长跳转指令中addrll、addr16直接写上要转向的目标地址标号(即符号地址)就可以。
三、相对转移指令 SJMP rel (双字节)
rel为8位带符号二进制补码数(-128~+127),实现程序的双向转移。
在编写程序时,直接写上要转向的目标地址标号就可以。
四、间接跳转(散转)指令JMP @A+DPTR (三)
由A中8位无符号数与DPTR的16位数内容之和来确定。以DPTR内容作为基址,A的内容作。
五、条件转移指令 (双字节)
JZ rel ; 如果累加器为“0”,则转移
JNZ rel; 如果非“0”,则转移
六、比较不相等转移指令(3字节指令)
CJNE A, direct, rel
CJNE A, #data, rel
CJNE Rn, #data, rel
CJNE @Ri, #data, rel
1、比较前面两个()的大小,如果不相等则
转移,若相等则下一条指令。
2、如果第一小于第二操作数, 则Cy标志位置1, 否则清0。
如常把CJNE 第一, 第二操作数, $+3
和JNC rel或JC rel 写在一块来判别2个数的大小。
$:本条指令在程序存储单元的首地址;
$+3:CJNE指令的下一条指令,即JNC rel或JC rel
七、减1不为0转移指令
DJNZ Rn,n=0~7
DJNZ direct, rel
将源内容减1,结果回送到Rn寄存器或direct中去。如果源内容不为0则转移,为0则下一条指令。
主要用于控制程序循环。
1、把Rn或内部RAM的direct单元用作程序循环计数器
2、以减1后是否为“0”作为转移条件,实现按次数控制循环
八、调用、返回指令
1、短调用指令 ACALL addr11 (双字节)
2K范围内的调用。
2、长调用指令 LCALL addr16 (三字节)
64K范围内的调用。
执行本指令时:
(1)断点地址(调用指令的下一条指令的首地址PC+2或PC+3)
(SP)+1→SP,然后PCL →(SP)
(SP)+1→SP,然后PCH →(SP)
(2)将首地址送入PC,执行子程序
3、返回指令 RET
断点地址恢复
(SP) →PCH,(SP) - 1→SP
(SP) →PCL ,(SP) - 1→SP
功能:从中退出PC的高8位和低8位字节,把栈指针减2,从PC值开始继续执行程序。不影响标志位。
与相似,不同之处在于断点地址恢复,清除时被置“1”的51内部寄存器的优先级状态。
是编程时就已确定的固定位置调用,而中断服务子程序是由控制在特定条件下随机调用的。
九、空操作指令 NOP,消耗1个的时间
单片机系统指令位操作指令
一、传送指令
如MOV C,06H ;(20H).6→Cy
06H是内部RAM 20H字节位6的位地址。
MOV P1.0,C ;Cy→P1.0
可寻址位的具体定义:从20H单元的第一位开始一直到2FH单元的最后一位分别为00H~7FH以及中80H~F7H。
二、位变量修改指令
CLR C ;清“0”Cy
CLR bit ;清“0”bit位
CPL C ;Cy求反
CPL bit ;bit位求反
SETB C ;置“1” Cy
SETB bit ;置“1”bit位
三、位变量逻辑与指令
ANL C,bit ;bit ∧Cy →Cy
ANL C,/bit; ;/ bit ∧Cy →Cy
四、位指令
ORL C,bit ;bit ∨ Cy →Cy
ORL C,/bit ;/ bit ∨ Cy →Cy
五、条件转移类指令
JC rel ;如果进位位Cy=1,则转移
JNC rel ;如果进位位Cy=0,则转移
JB bit,rel ;如果位=1,则转移
JNB bit,rel ;如果位=0,则转移
JBC bit,rel ;如果位=1,则转移,并对bit位清0
清除历史记录关闭

我要回帖

更多关于 单片机特殊功能寄存器 的文章

 

随机推荐