单片机原理第4章1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机原理及程序设计 第4章
2.计算机“智慧”的来源 计算机(单片机)系统能完成一项具体的、复杂
的工作,说明它有思维的能力。它的“智慧”是从哪
来的呢?答案是人赋予它的。
单片机原理及程序设计 第4章
3.计算机的加工原料 • 计算机的加工原料是数据且只有数据。
单片机原理及程序设计 第4章
4.2 机器码-汇编语言-到高级语言 计算机的CPU只能识别的二进制代码。计算机发 明之初,程序是由编程者直接输入机器码使计算机工 作的。 机器码是计算机最底层的可执行的代码。由于难 于理解、编程工作量大,而效率极低,直接输入机器 码的方法只适于专业计算机软件人员,不利于计算机 的发展和普及。


执行加法运算后,符号位(b7),出错或但结果不正确时,
OV=1。 ④ 带进位加法指令(ADDC)中的累加器A除了加源操作 数外,还需要加上进位标志Cy。
单片机原理及程序设计 第4章
• 2)减法指令 • • • • • • 特点:结果在A中。寻址方式同加法影响标志位: Cy:为1,表示被减数小于减数,产生借位; OV:对带符号数OV为1,结果不正确。 Ac:如果b3位向b4位借位,则为1;反之为0。 P:累加器A中“1”的个数为奇数时,P为1。 只有带借位的减法指令,因此,用减法指令前,往往需通

• • •
MOV
MOV MOV MOV
R1,0E0H
B,@R1 @R1,P1 P2,P1
;(R1)=40H,E0是A的地址
;(B)=50H,间接寻址 ;(40H)=0CAH,间接寻址 ;(P2)=0CAH(P2为输出)
• 解:答案见注释。
单片机原理及程序设计 第4章
• 【例4-3】设(R0)=20H,(A)=4EH,片内RAM(20H) =85H。下列指令顺序执行,所涉及的单元(寄存器和存储器) 的内容如何变化? • XCH A,@R0
• 第2条指令执行的计算式如图4-2(a)所示。
单片机原理及程序设计 第4章
单片机原理及程序设计 第4章
作为无符号数,两数之和为14AH,即330,正确。 但结果超出FFH,进位的“1”自然丢失,寄存器A的
内容为4AH。进位值在CY中。
作为有符号数,两数之和应为-182。结果是4AH或
14AH都不对,此时,OV=1,说明“和”超出了值域,
– 逻辑运算类。
– 控制转移类。 – 位操作类。 • 1.数据传送与互换类指令 • 数据传送与互换类指令列于表4-2中。
单片机原理及程序设计 第4章
单片机原理及程序设计 第4章
单片机原理及程序设计 第4章
• 第4章补充作业: • (1) 描述MOV A,Rn和MOV @Ri,A两条指令的功能。 • (2) 作图示意用RLC A指令,将3字节长度的正整数左移一 位的过程,进而再将这个数再左移一位,预测其结果。由此得 到结论:一个正整数左移一位数值变化的规律及保证正确的条 件是什么? • (3) 写出实现片将内30H中的内容求反的程序段。
• 4.寄存器间接寻址:可访问片内、外RAM。如:
• 5.变址寻址:由偏移量寄存器A和基址寄存器DPTR或PC的 “和”作为地址的寻址方式。如:
• MOVC • MOVC • JMP A,@A+DPTR A,@A+PC @A+DPTR ;MOVC专对ROM操作
单片机原理及程序设计 第4章
• 6.相对寻址:以PC的内容为加上指令中的偏移量作为转移地
单片机原理及程序设计 第4章
• 【例4-1】 设51机片内RAM中30H单元的内容为40H,而40H
单元的内容为50H。P1口作为输入口,数据为0CAH,下列指 令顺序执行时,相关单元的内容为何值? • • MOV MOV R0,#30H A,@R0 ;(R0)=30H,立即寻址 ;(A)=40H,间接寻址,P=1。
• MOVX • MOVX • MOVX A,@Ri @Ri,A A,@DPTR
• 从时间、空间效率上讲,完全可用以下两条指令实现:
• MOVX
@ DPTR,A
一般情况下,对外部RAM操作用DPTR作为数据指针。 R0和R1只有在外部数据指针不够用,且这些数据位于第一 页(0~FFH)时,才使用它们。注:DPTR不能作为片内 RAM的数据指针。 • (7)数据传送指令不影响PSW内容,只是当数据送入A时才 影响奇偶标志位P。
单片机原理及程序设计 第4章
Powerpoint 制作:
五邑大学信息工程学院
刘焕成
电话:0750-3299035(O)
课程主讲:XXX
单片机原理及程序设计 第4章
第4章 单片机应用系统编程基础内容: 从源程序到可执行代码
机器码-汇编语言-高级语言
MCS-51汇编语言指令分析
汇编语言程序组成与结构
从C语言过渡到C51 程序设计举例
“-”、“×”、“÷”这四种基本运算的指令。
• 表4-3 为MCS-51的算术运算类指令集。
单片机原理及程序设计 第4章
单片机原理及程序设计 第4章
单片机原理及程序设计 第4章
• 1.加法指令的特点:
(1)目的操作数均是累加器A。寄存器、直接、寄存器间接、 立即等四种寻址方式,结果在A中; (2) 影响进位标志Cy、OV、Ac及P。 (3) 溢出标志OV为1的条件是:
• 2.直接寻址:可访问SFR、内部RAM、位。如:
• MOV
• ANL • MOV
TH0,A
70H,#48H C,bit ;直接寻址,也属于立即寻址
单片机原理及程序设计 第4章
• 3.寄存器寻址:对象为R0~R7、A、B、DPTR等。
• 如MOV • MUL • MOV A,R3 AB @Ri,A ;i =0,1只有R0、R1可作间址寄存器
到借位,即256+75-76=255,结果依然正确。其计算式如图4-2
(b)所示。 • 注:有关有符号数的概念本书只做介绍,而运算的重点将放
在无符号整数上。
单片机原理及程序设计 第4章
• 3)加1、减1指令 助记符为INC 、DEC类指令,其功能是使指令中的操数, 加1和减1。它们的特点是不影响标志位,只有操作数为A时, 才影响奇偶标志位P。所以加1、减1指令主要用于循环程序结
单片机原理及程序设计 第4章
单片机原理及程序设计 第4章
• 4.3.3 MCS-51的寻址方式
• 所谓寻址方式,就是CPU寻找操作数的方式。51机有以下几种寻 址方式: • 1.立即寻址:操作数直接包含在指令中。符号“#”表示其后的 数据为立即数。如: • MOV • MOV A,#40H DPTR,#1000 ;将8位二进制数40H赋予A ;将1000赋予数据指针DPTR
址的寻址方式,地址转移范围为:-128~127 • 如:DJNZ • 如:MOV R7,rel • 7.位寻址:对片内20H~2FH及SFR可位寻址单元的操作。 C,20H ;片内位操作指令
单片机原理及程序设计 第4章
• 4.3.4 MCS-51指令概述 – 按指令功能,可将MCS-51的指令分为以下5类: – 数据传送与互换类。 – 算术运算类。
• ;执行后(A)=85H,(20H)=4EH,(R0)不变
• XCHD A,@R0 • ;执行后(A)=8EH,(20H)=45H,(R0)不变 • SWAP A • ;执行后(A)=E8H,(20H)、(R0)不变
• 解:答案见注释。
单片机原理及程序设计 第4章
• 2.算术运算类指令 • 算术运算指令是对寄存器及存储器单元进行“+”、
结果不正确。 因此,做有符号数运算时,用OV作为溢出的判据 是必要的。
单片机原理及程序设计 第4章
第4条是减法指令。执行前只有P=1,被减数:4BH = 75
(有符号数与无符号数同值,即正数的补码等于原码);减 数:4CH = 76。 作为有符号数,结果为-1,正确。 作为无符号数,只看A的内容,结果是不正确的。但考虑
对精益求精者来说,使用哪条指令更好还是有推敲余地的。
• (6)对片内RAM的间址寄存器是R0和R1,而R2~R7不可以! 外部存储器间的数据交换,可通过R0和R1、DPTR和PC实现,
而且对它们的操作只有间接寻址一种方式。
单片机原理及程序设计 第4章
• R0和R1的间址范围为0~FFH,只有两种指令形式:
构中的数据指针的变化方向。
• 例如: • INC INC R0 DPTR ;或INC R1
当操作数为FFH时,再加1,操作数将回到00H,而当操作 数为00H时,再减1,操作数将回到FFH。这一特点可形成8位 循环控制计数。 注意:DEC DPTR非法
单片机原理及程序设计 第4章
• 4)乘法和除法指令 • • • 只有MUL AB一条。功能如下: A 被乘数 × B 乘数 = B 积高8位 A 低 8位
“MOVX”作为指令助记符。
– (3) 程序存储器单元的内容读入A中的指令,用“MOVC” 作为指令的助记符。 – (4)堆栈操作类指令。 – (5)数据交换类指令。
单片机原理及程序设计 第4章
• 数据传送与交换类指令有如下特点: – (1)数据传送类指令的数据流是单向的。第2操作数总是 要传送到第1操作数的。所以,第1操作数既是目的数,又 是操作数。指令执行后不改变第2操作数的内容。
单片机原理及程序设计 第4章
• 4.3.1 MCS-51汇编语言格式 • MCS-51系列单片机汇编语言格式如下:
• [标号]:<操作码助记符> [第一操作数],[第二操作数] ;注释
• 例如:
RET
;无第一操作数
CLP
MOV
A
;有第一操作数
A,75H ;有第1及第2操作数
4.3.2 MCS-51指令中的符号说明
• ;(A)=ADH+9DH=4AH,P、OV、AC、CY均为1
A,#00H A,#4CH A,#01H ;(A)=4BH,P=0 ;(A)=FFH, AC、CY为1 ;(A)=00H, CY为1
单片机原理及程序设计 第4章
• 解:第1条指令执行后,(A)=ADH中,由于ADH 中共有5个 “1”,因此,奇偶标志位P为“1”,PSW中其它状态位不变。 • ADH = 173(无符号数)或-83(有符号数:补码); • 9DH = 157(无符号数)或-99(有符号数)。
单片机原理及程序设计 第4章
• 4.1 从源程序到可执行代码 • 1.CPU的工作方式
• 计算机工作时,CPU总是周而复始地做取指——解释
指令——下达命令这一项工作。在每个指令周期中,
CPU先取指令代码,再对指令进行解析,产生决策,
由系统完成指令的功能。 • 指令代码是什么?它是怎样形成的?又是如何放入单 片机系统中的?
– 在表5-4第3列中的箭头方向,表示数据流的方向。
– (2)交换类指令数据传送是双向的。影响第1、2操作数。 – (3)数据传送指令不是在所有寄存器和存储器单元间都能 直接实现的。即某两个单元间的数据传送,是需要匹配的。
Βιβλιοθήκη Baidu
单片机原理及程序设计 第4章
单片机原理及程序设计 第4章
• (4)数据传送与交换类指令的寻址方式,包括立即直接、间 接、寄存器和变址寻址5种方式,因此数据交换方式多,使用 方便。 • (5)表4-4第4列为指令执行的机器周期数和代码的字节数,
• (4)写出基于CJNE指令实现判断两个正整数数量关系(大于、 等于、小于)的程序段。
• (5)说明定位汇编主程序0000H的道理及方法。又为什么主 程序的第一条指令通常都是跳转指令?
单片机原理及程序设计 第4章
• 数据传送指令包括: – (1) 内部RAM与SFR之间的数据传送,这类指令用 “MOV”作为指令助记符。 – (2) 外部RAM与A之间的数据传送,这类指令用
过“CLR C”指令,将进位标志Cy清零。
单片机原理及程序设计 第4章
• 【例4-3】试分析:在下列程序段指令顺序执行后,PSW中各
标志位的状态。 • MOV • ADD • ADDC • SUBB • ADD A,#10101101B
• ;把ADH送A中,P=1,PSW的其它位均为0 A,#10011101B
单片机原理及程序设计 第4章
• 4.3 MCS-51汇编语言指令分析 • 请特别注意:

51机共有111条指令,按其占用空间大小分:单字
节指令(指令码代码为1个字节)49条,双字节指令
45条,三字节指令17条。
• 按指令执行速度分:单周期指令(指令执行的时 间为1个机器周期)64条,双周期指令45条,4周期指 令2条(乘、除)。在12M时钟条件下,指令执行时 间分别为1、2、4微秒。
相关文档
最新文档