单片机原理及应用 第8讲 位操作指令及练习

合集下载

位及位操作指令

位及位操作指令

位及位操作指令通过前面那些流水灯的例子,我们已经习惯了“位”一位就是一盏灯的亮和灭,而我们学的指令却全都是用“字节”来介绍的:字节的移动、加法、减法、逻辑运算、移位等等。

用字节来处理一些数学问题,比如说:控制冰箱的温度、电视的音量等等很直观,可以直接用数值来表在。

可是如果用它来控制一些开关的打开和合上,灯的亮和灭,就有些不直接了,记得我们上次课上的流水灯的例子吗?我们知道送往P1口的数值后并不能马上知道哪个灯亮和来灭,而是要化成二进制才知道。

工业中有很多场合需要处理这类开关输出,继电器吸合,用字节来处理就显示有些麻烦,所以在8031单片机中特意引入一个位处理机制。

1.位寻址区在8031中,有一部份RAM和一部份SFR是具有位寻址功能的,也就是说这些RAM的每一个位都有自已的地址,可以直接用这个地址来对此进行操作。

图1内部RAM的20H-2FH这16个字节,就是8031的位寻址区。

看图1。

可见这里面的每一个RAM中的每个位我们都可能直接用位地址来找到它们,而不必用字节地址,然后再用逻辑指令的方式。

2.可以位寻址的特殊功能寄存器8031中有一些SFR是可以进行位寻址的,这些SFR的特点是其字节地址均可被8整除,如A累加器,B寄存器、PSW、IP(中断优先级控制寄存器)、IE(中断允许控制寄存器)、SCON(串行口控制寄存器)、TCON (定时器/计数器控制寄存器)、P0-P3(I/O端口锁存器)。

以上的一些SFR我们还不熟,等我们讲解相关内容时再作详细解释。

3.位操作指令MCS-51单片机的硬件结构中,有一个位处理器(又称布尔处理器),它有一套位变量处理的指令集。

在进行位处理时,CY(就是我们前面讲的进位位)称“位累加器”。

有自已的位RAM,也就是我们刚讲的内部RAM 的20H-2FH这16个字节单元即128个位单元,还有自已的位I/O空间(即P0.0…..P0.7,P1.0…….P1.7,P2.0……..P2.7,P3.0……..P3.7)。

单片机原理及应用 第8讲 位操作指令及练习PPT教学课件

单片机原理及应用 第8讲 位操作指令及练习PPT教学课件

2020/12/10
5
编写子程序时应注意的问题
• 1、子程序的第一条指令地址为子程序的 入口地址,该指令前必须有标号。
• 2、主程序通过调用指令来调用子程序, 子程序末尾必须要有返回指令来返回主 程序。
2020/12/10
6
• 3、主程序调用子程序后,单片机可以自 动保护断点地址,但对于R0-R7,SFR以 及某些内存单元内容需要保存的话,就 需要在子程序开头写保存它们的指令 (进栈)、在末尾写恢复它们的指令 (出栈)。
在主程序中给R2不同的值,就能实现不同时间 长度的延迟。
2020/12/10
8
3. 空操作指令(1条)
NOP
2020/12/10
9
例:从P1口的P1.0管脚输出周期为10个机器 周期的方波
CLR P1.0 LOOP: CPL P1.0
NOP NOP SJMP LOOP
2020/12/10
10
• 练习:
2020/12/10
1
2. 条件转移指令(8条)
条件转移指令是指在满足一定条件时进行相对转 移,否则程序继续执行本指令的下一条指令。
(1)判A内容是否为0转移指令(2条)
JZ rel ;如果A=0,则转移,否则顺序执行。 JNZ rel ;如果A≠0,就转移。 我们在编写汇编语言源程序时,可以直接写成: JZ 标号 ;即转移到标号处。 JNZ 标号 ;即转移到标号处
2020/12/10
2
(2)比较转移指令(4条)
CJNE A,#data,rel CJNE A,direct,rel CJNE Rn,#data,rel CJNE @Ri,#data,rel 我们在编写汇编语言源程序时,可以直接写成: CJNE A,#data,标号 CJNE A,direct,标号 CJNE Rn,#data,标号 CJNE @Ri,#data,标号

《单片机原理及应用》课后习题答案

《单片机原理及应用》课后习题答案
2.12 ALE信号有何功用?一般情况下它与机器周期的关系如何?在什么条件下ALE信号可用作外部设备的定时信号。
答案:ALE是地址锁存使能信号,是机器周期的二倍。当不使用单字节双周期的指令,如MOVX类指令时,可以作为外部设备的定时信号。
2.13 有那几种方法能使单片机复位?复位后各寄存器的状态如何?复位对内部RAM有何影响?
2.6 8051如何确定和改变当前工作寄存器组?
2.7 MCS-51单片机的程序存储器中0000H、0003H、000BH、0013H、001BH和0023H这几个地址具有什么特殊的功能?
2.8 8051单片机有哪几个特殊功能寄存器?可位寻址的SFR有几个?
2.9 程序状态寄存器PSW的作用是什么?常用标志有哪些位?作用是什么?
TH1、TL1、TH0、TL0的内容为00H,定时器/计数器的初值为0。
(TMOD)=00H,复位后定时器/计数器T0、T1为定时器方式0,非门控方式。
(TCON)=00H,复位后定时器/计数器T0、T1停止工作,外部中断0、1为电平触发方式。
(T2CON)=00H,复位后定时器/计数器T2停止工作。
可位寻址的SFR有11个。
2.9 程序状态寄存器PSW的作用是什么?常用标志有哪些位?作用是什么?
答案:PSW—程序状态字。主要起着标志寄存器的作用。常用标志位及其作用如下:
Cy——进(借)位标志,其主要作用是保存算术运算的进或借位并在进行位操作时做累加器。
在执行某些算术和逻辑指令时,可以被硬件或软件置位或清零。在算术运算中它可作为进位标志,在位运算中,它作累加器使用,在位传送、位与和位或等位操作中,都要使用进位标志位。
2.14 MCS-51的时钟振荡周期、机器周期和指令周期之间有何关系?

《单片机原理及应用》课后习题

《单片机原理及应用》课后习题

《单片机原理及应用》课后习题习题11.单片机的基本含义和主要特点是什么?答:基本含义单片机是将计算机的四个基本部件,即运算器、控制器、存储器和输入输出接口微型化并集成在一块芯片上的微型计算机。

单片机的全称为单片微型计算机,又称为微控制器。

主要特点 1)有优异的性能价格比。

于单片机的应用不断向高级应用和复杂应用扩展,因此,其性能越来越高,如速度越来越快,内存越来越大,处理字长越来越长等。

而大批量的生产和使用也使单片机的价格越来越低。

2)集成度高、体积小、有很高的可靠性。

单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。

另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。

3)控制功能强。

为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。

单片机的逻辑控制功能及运行速度均高于同一档次的微机。

4)低功耗、低电压,便于生产便携式产品,如手机等。

现在的单片机在功耗上已达到了极高的水平,不少芯片的功耗已达到微安级,在一粒纽扣电池供电的情况下就可长期运行。

25)外部总线增加了IC及SPI等串行总线方式,进一步缩小了体积,简化了结构。

6)单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。

2.简述单片机的基本组成及各部分功能。

答:单片机芯片内部结构包括中央处理器CPU (Central Processing Unit)、程序存储器ROM、随机存储器RAM、I/O口、定时/计数器、中断系统以及将这些部分连接起来的总线,它们都分布在总线的两旁,并和它连通。

一切指令、数据、控制信号都可经内部总线传送。

1)中央处理器CPU——单片机的核心单元,运算器和控制器组成,控制整个单片机系统协调工作,决定了单片机的运算能力和处理速度。

2)程序存储器ROM——用于存放用户程序,只允许读操作,ROM的信息可在断电后长期保存。

单片机原理及应用课程练习题

单片机原理及应用课程练习题

“单片机原理及应用”课程练 习 题一、填空题:1.MCS—51单片机引脚信号中,信号名称带上划线的表示该信号或有效。

2.通过堆栈操作实现子程序调用,首先要把的内容入栈,以进行断点保护。

调用返回时再进行出栈操作,把保护的断点送回。

3.某程序初始化时使(SP)=40H,则此堆栈地址范围为,若使(SP)=50H,则此堆栈深度为。

4.在相对寻址方式中,“相对”两字是指相对于,寻址得到的结果是。

在寄存器寻址方式中,指令中指定寄存器的内容就是。

在变址寻址方式中,以作变址寄存器,以或作基址寄存器。

5.假定累加器(A)=49H,执行指令:201AH: MOVC A,@A+PC后,送入A的是程序存储器单元的内容。

6.若(DPTR)=5306H,(A)=49H,执行下列指令:MOVC A,@A+DPTR后,送入A的是程序存储器单元的内容。

7.假定(SP)=45H,(ACC)=46H,(B)=47H,执行下列指令:PUSH ACCPUSH B后,(SP)= ,(46H)= ,(47H)= 。

8.假定(SP)=47H,(46H)=46H,(47H)=47H。

执行下列指令:POP DPHPOP DPL后,(DPTR)= ,(SP)= 。

9.若(A)=56H,(R0)=56H,(56H)=56H。

执行指令:ADD A,@R0后,(A)= ,(CY)= ,(AC)= ,(OV)= 。

10.若(A)=0FFH,(R0)=46H,(46H)=0FFH,(CY)=1。

执行指令:ADDC A,@R0后,(A)= ,(CY)= ,(AC)= ,(OV)= 。

11.假定(A)=45H,(B)=67H。

执行指令:MUL AB后,寄存器(B)= ,累加器(A)= ,(CY)= ,(OV)= 。

12.假定(A)=0FCH,(B)=35H。

执行指令:DIV AB后,累加器(A)= ,寄存器(B)= ,(CY)= ,(OV)= 。

13.执行如下指令序列:MOV C,P1.0ANL C,P1.1OR C,/P1.2MOV P1.3,C后,所实现的逻辑运算式为。

单片机原理及应用第8讲位操作指令及练习PPT

单片机原理及应用第8讲位操作指令及练习PPT
单片机原理及应用第 8讲
目录
• 单片机位操作指令概述 • 位操作指令详解 • 位操作指令应用实例 • 位操作指令练习题及解析
01
单片机位操作指令概述
位操作指令的定义
位操作指令
位操作指令是指对单片机中的特定位进行操作的指令,如清零、置位、反转等。
定义解释
位操作指令是单片机指令系统中的一种特殊类型的指令,它允许程序员对单片 机中的特定位进行精确控制。这些特定位可以是单个位,也可以是多个位的组 合。
位操作指令的作用
控制硬件
位操作指令可以用于控制单片机 的硬件,如控制LED灯的亮灭、
控制某个特定的I/O端口等。
优化程序
通过位操作,程序员可以更高效地 控制硬件,优化程序的执行效率。
实现复杂逻辑
在一些复杂的逻辑控制中,位操作 指令可以发挥重要作用,如实现优 先级调度、状态机等。
位操作指令的分类
按操作数分类
04
位操作指令练习题及解析
练习题一:编写程序实现LED灯的闪烁
总结词
掌握位操作指令
详细描述
通过编写程序,利用位操作指令控制单片机 上的LED灯实现闪烁效果。需要掌握位操作 指令的基本语法和用法,以及如何将位操作 指令应用到实际项目中。
练习题二
总结词
掌握中断处理程序
详细描述
通过编写程序,实现按下按键时LED灯的亮灭控制。需要掌握中断处理程序的基本原理 和实现方法,以及如何将中断处理程序应用到实际项目中。
练习题三:编写程序实现计数器的功能
总结词
掌握定时器/计数器的工作原理
详细描述
通过编写程序,实现利用定时器/计数器实 现计数功能。需要掌握定时器/计数器的工 作原理和基本配置方法,以及如何将定时器

单片机原理及应用试题答案

单片机原理及应用试题答案

单片机原理及应用试题答案、单项选择题(每题4分,共20道小题,总分值80分) 1. 以下指令中与进位标志位 CY 无关的指令有( )。

(4分) A移位指令B位操作指令 C十进制调整指令D条件转移指令纠错正确答案D您的答案是未作答答复错误展开解析知识点单片机原理及应用作业题 2. 晶振频率为 6MH Z ,定时器 T0 工作在模式 2 时,其初值计算公式是( )。

(4分) At = ( 28 - X )× 1μs Bt = ( 28 - X )×2μs C.t = ( 216 - X )× 2μs 纠错正确答案B您的答案是未作答答复错误展开解析知识点单片机原理及应用作业题 3. 在应用系统中,芯片没有所存器的 D/A 转换器,不能直接接到 80C51 的 P0 口上使用 , 这是因为( )实现。

(4分) AP0 口不具有锁存功能 BP0 口位地址数据复用 CP0 口不能输出数字量信号 DP0 口只能用作地址输出而不能用作数据输出纠错正确答案B您的答案是未作答答复错误展开解析知识点单片机原理及应用作业题 4. 8051 的内部 RAM 中,可以进行位寻址的地址空间为( )。

(4分)A00H∽2FH B20H∽2FH C00H∽FFH D20H∽FFH 纠错正确答案B您的答案是未作答答复错误展开解析知识点单片机原理及应用作业题 5. P0 . P1 口作输入用途之前必须( )。

(4分) A相应端口先置 1 B相应端口先置 0 C外接高电平 D外接上拉电阻纠错正确答案D您的答案是未作答答复错误展开解析知识点单片机原理及应用作业题 6. 8051 的程序计数器 P C 为 16 位计数器,其寻址范围是( )。

(4分) A8K B16 K C32 K D64 K 纠错正确答案D您的答案是未作答答复错误展开解析知识点单片机原理及应用作业题 7. 8051与8751的区别是:(4分)A内部数据存储但也数目的不同 B内部程序存储器的类型不同 C内部数据存储器的类型不同 D内部的存放器的数目不同纠错正确答案B您的答案是未作答答复错误展开解析知识点单片机原理及应用作业题 8. MCS-51 单片机用来开放或禁止中断的控制存放器是( )。

单片机原理及应用(张毅刚-第三版)课后习题答案(全)

单片机原理及应用(张毅刚-第三版)课后习题答案(全)

第1章思考题及习题1参考答案一、填空1. 除了单片机这一名称之外,单片机还可称为或。

答:微控制器,嵌入式控制器.2.单片机与普通微型计算机的不同之处在于其将、、和三部分,通过内部连接在一起,集成于一块芯片上。

答:CPU、存储器、I/O口、总线3. AT89S52单片机工作频率上限为 MHz。

答:33 MHz。

4. 专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低和提高。

答:成本,可靠性。

二、单选1. 单片机内部数据之所以用二进制形式表示,主要是A.为了编程方便B.受器件的物理性能限制C.为了通用性D.为了提高运算速度答:B2. 在家用电器中使用单片机应属于微计算机的。

A.辅助设计应用B.测量、控制应用C.数值计算应用D.数据处理应用答: B3. 下面的哪一项应用,不属于单片机的应用范围。

A.工业控制 B.家用电器的控制 C.数据库管理 D.汽车电子设备答:C三、判断对错1. STC系列单片机是8051内核的单片机。

对2. AT89S52与AT89S51相比,片内多出了4KB的Flash程序存储器、128B的RAM、1个中断源、1个定时器(且具有捕捉功能)。

对3. 单片机是一种CPU。

错4. AT89S52单片机是微处理器。

错5. AT89C52片内的Flash程序存储器可在线写入,而AT89S52则不能。

错6. 为AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片AT89S51替换。

对7. 为AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片AT89S52替换。

对8. 单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是DSP的长处。

对四、简答1. 微处理器、微计算机、微处理机、CPU、单片机、嵌入式处理器它们之间有何区别?答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。

而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机。

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

(3)减1条件转移指令(2条)
DJNZ Rn,rel DJNZ direct,rel
我们在编写汇编语言源程序时,可以直接写成: DJNZ Rn,标号 DJNZ direct,标号
3、常用子程序
• 子程序是能够完成某一专用任务的程序 段,其代码为所有的主程序共享,因此, 子程序在结构上应具有通用性和独立性。
4. 位控制转移指令(5条) (1)判Cy转移指令
JC rel JNC rel 第一条指令的功能是如果Cy=1就转移,否 则就顺序执行。 第二条指令则和第一条指令相反,即如果
Cy=0就转移,否则就顺序执行。
同样也可写成: JC 标号 JNC 标号
(2)判位直接寻址位转移指令 JB bit,rel JNB bit,rel JBC bit,rel 第一条指令:如果指定的(bit)=1,则转移,否 则顺序执行,第二条指令功能相反。 第三条指令是如果指定的(bit)=1,则转移, 并把该位清0,否则顺序执行。 编写程序时,可以写成: JB bit,标号 JNB bit,标号 JBC bit,标号
MOV P1.0,C
;将P1.0的状态送给C。 ;将C中的状态送到P1.0 ;引脚上指令 : CLR C CLR bit
位置1指令: SETB C
SETB bit 位取反指令: CPL C CPL bit
3.位 逻辑运算指令 (4条)
ANL C,bit ANL C,/bit ORL C,bit ORL C,/bit
ORG 0100H MOV DPTR, #2000H MOV R0,#30H MOV R1,#50H NEXT: MOVX A, @DPTR CJNE A,#0DH,COMP SJMP DONE COMP:JB ACC.7 ,LOOP MOV @R0,A INC R0 INC DPTR SJMP NEXT
延迟子程序
• 系统设计中的显示、键盘及数据采集中经常要 用到延迟。 DELAY:MOV R3,#98 LOOP:DJNZ R3,LOOP DJNZ R2,DELAY RET 入口参数就是R2,根据单片机的时钟频率,只要 在主程序中给R2不同的值,就能实现不同时间 长度的延迟。
3. 空操作指令(1条)
(2)比较转移指令(4条)
CJNE A,#data,rel CJNE A,direct,rel CJNE Rn,#data,rel CJNE @Ri,#data,rel 我们在编写汇编语言源程序时,可以直接写成: CJNE A,#data,标号 CJNE A,direct,标号 CJNE Rn,#data,标号 CJNE @Ri,#data,标号
• 3、已知外部RAM中以3000H为始址的数 据块以零为结束标志,试编程将之传送 到以30H为始址的内部RAM区
位操作指令
1.位传送指令 (2条)
MOV MOV C,bit ;bit →C bit,C ;C →bit
这组指令的功能是实现CY和其它位地址之间的 数据传递。
例:MOV C,P1.0
例1:内部RAM的M1和M2单元各有一个 无符号8位二进制数,试编程比较它们的 大小,并把大数送到MAX单元 MOV A, M1 CJNE A, M2,LOOP LOOP: JNC LOOP1 MOV A,M2 LOOP1:MOV MAX,A
• 例2:已知外部RAM以2000H开始有一个 数据缓冲区,该缓冲区中数据以回车符 (ASCII码为0DH)为结束标志,试编 一程序把正数送入片内RAM以30H为起 始地址的正数区,把负数送入片内RAM 以50H为起始地址的负数区。(假设输 入数据不超过32个)
控制转移指令
• 1、无条件转移指令: • 长转移类指令:LJMP addr16 • 绝对转移类指令:AJMP addr11 短转移指令:SJMP rel 间接转移指令:JMP @A+DPTR • 我们在编写汇编语言源程序时,可以直接写成: LJMP 标号 ;即转移到标号处 AJMP 标号 SJMP 标号 JMP 标号
EQU
数值或汇编符号
EQU 所定义的字符名必须先定义后使用 DATA 所定义的字符名无此限制
8、 定义存储区伪指令 • 用于定义在标号开始的内存单元预留一 定数量的内存单元,以备源程序执行过 程中使用。预留单元的数量由X决定 格式为: 标号: DS X • 例如: TAB : DS 10H DB 16H , 12 H
LOOP:MOV @R1,A INC R1 INC DPTR SJMP NEXT DONE:SJMP DONE
伪指令
1 起始地址伪指令 :确定程序或程序段的起 始地址。
格式为: ORG nn ;nn为16位地址值。 如:ORG 0100H
2 汇编结束伪指令 :汇编语言程序结束伪
指令。
格式为: END
编写子程序时应注意的问题
• 1、子程序的第一条指令地址为子程序的 入口地址,该指令前必须有标号。 • 2、主程序通过调用指令来调用子程序, 子程序末尾必须要有返回指令来返回主 程序。
• 3、主程序调用子程序后,单片机可以自 动保护断点地址,但对于R0-R7,SFR以 及某些内存单元内容需要保存的话,就 需要在子程序开头写保存它们的指令 (进栈)、在末尾写恢复它们的指令 (出栈)。 • 4、入口参数:将输入数据存放到子程序 指定的位置 • 出口参数:子程序将处理结果存放到指 定的位置。
NOP
例:从P1口的P1.0管脚输出周期为10个机器 周期的方波 CLR P1.0 LOOP: CPL P1.0 NOP NOP SJMP LOOP
• 练习: • 1、已知某单片机监控程序始址为A080H, 问用什么办法使单片机开机后自动执行 监控程序 • 2、已知MA=0500H,问8051单片机执行 如下指令 • MOV SP ,#70H • MA:LCALL 8192H • 堆栈中数据如何变化,PC中内容是什么
;一定放在程序末尾!
3 定义字节伪指令
格式为: 标号:DB n1,n2,…,nn 此指令用于定义8位数据的地址 4 定义字伪指令 格式为:标号:DW nn1,nn2,…,nnN
高八位先存入,低八位后存入
5 位地址赋值伪指令 格式:字符名称 BIT 位地址
6 数据地址赋值伪指令
格式为: 字符名 7 赋值伪指令 格式为: 字符名 DATA nn
2. 条件转移指令(8条)
条件转移指令是指在满足一定条件时进行相对转 移,否则程序继续执行本指令的下一条指令。 (1)判A内容是否为0转移指令(2条) JZ rel ;如果A=0,则转移,否则顺序执行。 JNZ rel ;如果A≠0,就转移。 我们在编写汇编语言源程序时,可以直接写成: JZ 标号 ;即转移到标号处。 JNZ 标号 ;即转移到标号处
相关文档
最新文档