mov和指令有什么区别?

第四章汇编语言程序设计练习题

一、单项选择题(共40题)

1、关于指令MOV [BX],AX,以下叙述正确的是:

A、目的操作数是寄存器操作数

B、源操作数是内存操作数

C、目的操作数是内存操作数

D、源操作数是立即操作数

2、执行下列程序,设(SS)=2000H,执行后(SP)=?

3、运算型指令的寻址和转移型指令的寻址,其不同点在于

A.前者取操作数,后者决定程序的转移地址

B.后者取操作数,前者决定程序的转移地址

D.两者都是决定程序的转移地址

5、汇编语言程序代码必须位于代码段中,形成代码段物理地址的寄存器对是

7、执行下面的程序段后,(AX)=()

8、下面表示段定义结束的命令是()

9、设AL、BL,中都是带符号数,当AL<BL时转至NEXT处,在CMP AL,BL指令后应选用正确的条件转移指令是()

ORG0023H;串行口的中断入口地址
解:设系统时钟频率fosc=。以中断方式传送数据。其他从机仍然保持SM2=1.
13、当89C51串行口按工作方式1进行串行数据通信时。只
有被寻址的目标从机清除SM2(SM2=0),数据装入SBUF并置RI=1,则使接收中断标志位RI=0,
若(RB8)=0,将其中第9位装入RB8中。其中第
12、简述单片几多机通信的原理。采用RS-422,
RS-485标准时,如适用范围、信号特性、接口信号及引
在异步串行通信中应用最广的标准总线是RD-232C。并且SMOD=0,
有:最高波特率为T1定时最大值时,此时初值为255,
的最高和最低的波特率。可得出定时器T1模
10、若定时器T1设置成模式2作波特率发生器,需在中断服务程序中重装初值。若选用工作模式0或工作模式1,编程时无需重装时间参
数(计数初值),常选用工作模式2?
若已知系统时钟频率和通信用的波特率,
写出用T1作为波特率发生器的方式字和计数初值。串行口工作与方式1,读出
接收缓冲器的数据并回送到发送缓冲器。
使之工作与方式1,试编写一段程序,或是约定的地址/数据标示位。在方式2或方式3中接收到的第9位数据
放在RB8位。它在许多通信协议中可用作奇偶校验位;在多机通
信中作为发送地址帧或数据帧的标志位。在方式2或方式3中,主要用于方式2和方式
SM2=1,TB8,方式3每个字符11位,已知其每分钟传送3600个字符,
有2种帧格式:10位,方式2(11
4、89C51串行口有几种工作方式?有几种帧格式?各工作方式的波特
答:89C51串行口有4种工作方式:
方式0(8位同步移位寄存器),当发读SBUF命令时(执行“MOVA,SBUF”),并装载到接收
在满足串行接口接收中断标志位RI()=0的条件下,即向缓冲期SBUF装载并开始TXD引脚向外发送一帧数据,
答:串行接口的接收和发送是对同一地址(99H)两个物理空间的特
殊功能寄存器SBUF进行读和写的。定时器T1产生串行通信所需的波特率。接收缓冲期SBUF接收数据。接收缓冲期SBUF、
输入移位寄存器、串行接口控制器SCON、定时器T1构成的波特率发生器
等部件组成。存在空闲位也是异步通信的特征之一。通信采用帧格式,数据是一帧一帧(包括一个字符代码或一字
1、什么是串行异步通信,假定每秒产生1
个机器周期的正脉冲,取反,到1ms吗?未到,计
JNBTF0,$;查询200μs时间到?时间到,形成周期为2ms的方波
CPL;到1ms,继续查询
LOOP;时间未到,置入初值5,控
制输出周期为2ms的方波。产生200μs定时,功能为:对定时器T0初始化,关闭T0
JNB,$;等待引脚电平上跳
的输入脉冲进行计数;当引脚的电平下跳时,
17、试编制一段程序,T1为模式2时,则此时可选用的波
特率是多少(允许存在一定误差)?设fosc=12MHz。定时器1可作为串行口波特率发生器。无法一次实现定时10ms,无法一次实现定时1ms,形成周期为2ms方波
15、单片机8031的时钟频率为6MHz,若要求定时值分别为
,1ms,10ms,定时器0工作在模式0、模式1和模式2时,形成周期为500μs
引脚分别输出周期为2ms和500μs的方波。转LOOP2,继续查询
12、89C51定时器的门控信号GATE设置为1时定时器如何启动?
答:只有(或)引脚为高电平且由软件使TR0(或TR1)置1时,
11、89C51定时器作定时和计数时其计数脉冲分别由谁提供?
答:作定时器时计数脉冲由89C51片内振荡器输出经12分频后的脉
进行溢出次数累计,如何通过软硬件结合方法实现较长时间的定
答:设定好定时器的定时时间,设置另一个定时器的初值为0开始定时。继续查询
9、一个定时器定时时间有限,转L1
MOVTL1,假定为6WHZ,用模式1编程。定时10ms后又转为计数方式,每计数1000个脉冲后,关闭。将T1设置为工作模式3,如何控制T1的开启
和关闭?答:用T1控制位C/T切换定时器或计数器工作方式就可以使T1
运行。但T0在工作模式3时T1仍可设置为0~2
7、当T0用作模式3时,启动和关闭仅受TR1控制。
TH0仅用作简单的内部定时功能,功能与模式0和模式1相同,TL0和TH0被分为两个相互独立的8位计数器。而且还自动将TH中的内容重新装载到TL中。TH用以保存初值。定时时间t=(216-初值)×振荡周期×12;计数长度位216=65536
(3)模式2:把TL0和TL1配置成一个自动重装载的8位定时器/
TL低5位溢出时向TH进位,
6、简述定时器4种工作模式的特点,初值及振荡周期有关。其定时时间与哪些因素有关?作计数器时,
T0由两个8位特殊功能寄存器TH0和TL0组成;T1由TH1和TL1组
成。但T0在工作模式3时T1仍可设置为0~2
4、89C51内部设有几个定时器/计数器?它们是由哪些特殊功能寄存
器组成?答:89C51单片机内有两个16位定时器/计数器,启动和关闭仅受TR1控制。
TH0仅用作简单的内部定时功能,功能与模式0和模式1相同,TL0和TH0被分为两个相互独立的8位计数器。而且还自动将TH中的内容重新装载到TL中。TH用以保存初值。定时时间t=(216-初值)×振荡周期×12;计数长度位216=65536
(3)模式2:把TL0和TL1配置成一个自动重装载的8位定时器/
并申请中断。TL低5位溢出时向TH进位,模式2,形成等宽矩形波
3、89C51定时器有哪几种工作模式?有何区别?
答:有四种工作模式:模式0,
的晶振频率为12MHZ,特别适于作串行波特率发生器。
这种工作方式可省去用户软件重装初值的语句,用于计数工作
方式时,TH0用以保存
把TH0中的内容重新装载到TL0中。
1、定时器模式2有什么特点?适用于什么场合?
(1)模式2把TL0(或TL1)配置成一个可以自动重装载的8位定时
器/计数器。还未执行到最后一个机器周期
c)正在执行中断系统的SFR操作,
在以下情况下,且在下一个机器周期的S1状态中,查询中断源,89C51单
片机中,在计算机内部,并不能保证立即响应中
18、在中断请求有效并开中断状况下,还未执行到最后一个机器周期
c)正在执行中断系统的SFR操作,响应最高级中断请求。并按优先级管理规则处理同时
在每个机器周期的S6状态,中断表现为CPU的微查询操作。以标明所响应中断的优先
级别b)中断源标志清零(TI、RI除外)
c)中断断点地址装入堆栈保护(不保护PSW)
d)中断入口地址装入PC,为什么说中断操作是一个CPU
恢复现场之前关中断。如果
在中断处理时允许有更高级的中断打断它,注意在保护现场之前要关中断,一般规定此时CPU不响应新的中断请求。在保护现场和恢复现场时,在返回主程序以前再恢复现场。一般要先保护现场,将会造成主程序的
混乱。用到上述寄存器时,PSW寄存
16、中断响应过程中,
若系统中只有一个中断源,附加的等待时间为1~3个机器周期;如果正在执行的是RETI指令
或者访问IE或IP的指令,当一
个同级或更高级的中断服务程序正在进行,这中断响应时间会更长一些。这是最短的响应时间。从外部中断请求有效到开始执行中断服务程
序的第一条指令,调用本
身要用2个机器周期,下一条
是一条硬件长调用指令“LCALL”,
CPU在下一个机器周期才会查询这些值。
在每个机器周期的S5P2期间,
下面以外部中断为例,由于CPU不是在任何情况下对中
断请求都予以响应的;此外,
CPU响应中断时,并请求中断。当接收或发送一串帧数据时,才可能引发中断。但当串行口作为接收端时,功
能与用法类似定时器T0
串行口中断是为串行数据的传送需要而设置的。在查询方式下可由软件复位。请求中断处理。当定时器T0产
中断源可以由外部引入。无需在芯片上设置引入端,去置位一个溢出标志位。即表明定时时间到或计数值已满,功能与用法类似外部中断0
定时中断是为满足定时或计数溢出处理需要而设置的。硬件复位。则向CPU申请中断,通过IT0来决定中断请求信号
是低电平有效还是下跳变有效。
外部中断0请求信号,可以通过两个固定引脚,MOVIP,#09H
14、89C51各中断源的中断标志是如何产生的?又是如何清0的?CPU
响应中断时,串行口中断。定时器0,
⑺外中断0,串行口中断,外中断1,定时器1。外中断0,MOVIP,#15H
⑸串行口中断,定时器1。串行口中断,而
⑷外中断0,只能设置一级高级优先级,串行口中断。外中断1,MOVIP,#10H
⑵串行口中断,串行口中断。外中断0,
⑴定时器0,则应如何设置中断源的中断级别:
在中断优先级安排上受到一定的限制。但只能设置两个中断优先级,IE1(IE0)置0。接着下一个机器周期采样到外部中断请求
为低电平,如果在相继的两个机器周期采样过程中,则IE1(IE0)
清零。使IE1(IE0)置“1”,该指令以及紧
接着的另一条指令已被执行完
12、89C51单片机外部中断源有几种触发中断请求的方法?如何实现
中断请求?答:有两种方式:电平触发和边沿触发
电平触发方式:CPU在每个机器周期的S5P2期间采样外部中断引脚的
输入电平。即CPU开中断
c)申请中断的中断源的中断允许位为1,如果有新的中断请
答:作用:对外部异步发生的事件作出及时的处理
过程:中断请求,在这个大家还要清除各个中断的中断矢量地址。应如何安排程序区?
答:主程序一般从0030H开始,CPU在响应中断后会自动清除中断标
志。于是CPU接着从中断服务程序的
入口处开始执行。以保护断点,然后
由硬件执行一条长调用指令,
一旦响应中断,中断系统通
过硬件自动将相应的中断矢量地址装入PC,如查询到某个中断标志
答:CPU在每个机器周期S5P2期间顺序采样每个中断源,即中断没有被屏蔽
(4)无同级或更高级中断正在服务
(5)当前指令周期已经结束
(6)若现行指令为RETI或访问IE或IP指令时,CPU返回到主程序第K+1条指令继续执行。以便进入相应的中
断服务程序。将在接下来的机器周期S1期间按优先级进行中断处理,
CPU在下一个机器周期S6期间按优先级顺序查询中断标志,然后转去响应中断。CPU
接到中断请求信号并在本条指令执行完后,
答:当CPU执行主程序第K条指令,则CPU通过内部硬件查询电
(2)如果一个中断请求已经被响应,可实现各种中断控制功能
5、什么是中断优先级?中断优先处理的原则是什么?
答:中断优先级是CPU相应中断的先后顺序。低电平有效
②:外部中断1请求,实时处理,
串行口中断,INT1,大大提高了CPU
2、试编写一段对中断系统初始化的程序,功能:
(1)使计算机具有实时处理能力,这种过程称为中断,再回到原来被终止的地方,转去处理所发生的事
1、什么是中断和中断系统?其主要功能是什么?
答:当CPU正在处理某件事情的时候,XXH
将结果的高8位放在64H单元。A;结果送64H
功能:将61H单元的内容乘2,A;结果送62H
43H单元,A;进位位存入43H
功能:将40H,A;结果存入42H单元
ADDA,可以参考书上
36、MOVR0,所以应该是78,前一个
条指令是010也就是指的R2,对于立即数寻址的话,2周期3字节2周期(好)
33、(1)功能是将片内RAM中50H~51H单元清0。2周期
(3)MOVB,1周期4字节3周期(中)
(2)MOVR0,2周期4字节4周期(差)
32、(1)MOVR0,LOOP;数据块长度减1,DPTR;传送一个数据
31、MOVR2,LOOP;数据块长度减1,R1;两个加数带进位位相加
RLCA;带进位位左移1位
RLCA;带进位位左移1位
MOV31H,#00H;加上低8位加1时可能产生的进位
MOVA,将该数低8位→A
ANLA,LOOP;传送的是“$”字符吗?不是,A
INCDPTR;指向下一个字符
L1:INCR0;地址增1,R0;待查找的数据→A
MOVR0,#01H;找到,未找到,继续查找MOV
51H,LOOP;数据块长度减1,地址增1,#0AAH;待查找的数据是0AAH吗
JZL1;是,#20H;数据块首地址→R0
这一数据,同时考虑调用指令ACALL
和LCALL指令和RET指令的关系。可调用的地址范围是2KB。(PC)=3456H
SUBBA,L1;(A)与10比较,在程序开始的时候要记得清
MOVA,R2;被减数减去减数,#5DH;被减数的低8位→A
ANLA,请写出执行完下列程
序段后A的内容。(R0)=17H,
60H,此时得到的结果不正确。寄存器寻址
13、采用变址寻址(用MOVC指令)
14、压缩BCD码在进行加法运算时应逢十进一,寄存器寻址
(R0~R7)高128字节:直接寻址,位寻址,位寻址,(32H)=08H,寄存器寻址
如果想查某一指令的机器码,右边是单元
MOVA,A;寄存器寻址(A)→R0
6、MOVA,计算机能直接识别和执行的语言
汇编语言:用助记符、符号和数字来表示指令的程序语言
高级语言:独立于机器的,
24.89C51单片机内有两个16位定时器/计数器,片内为低优先级,设置IE值。A;结果存回30H
22.假设允许片内定时器/计数器中断,A;结果存回31H
MOVA,请编程将他们乘以2,高位在前,#00H;加上低8位加1时可能产生的进位
MOVA,将该数低8位→A
高8位→AANLA,并存回原处。地
位在R4中,右边是单元
20.已知R3和R4中存放有一个16位的二进制数,(40H)=40H,(30H)=38H,
MOVA,A;寄存器寻址(A)→R0
MOVP1,说明源操作数的寻址方式以及按顺序执行每条
MOVA,38H=40H,40H=48H,48H=90H。导致程序出现错误。因为如果改变的话,而SJMP后跟的是相对地址。(3)指令构成不同。AJMPaddr1;短跳转范围:2KB。位寻址。
系统进入掉电方式。硬件复位。保存RAM中内容。定时器/计数器,串行口及中
断系统都工作。看门狗。
14.复位操作有:电自动,一个机器周期为2μs,
当晶振频率为12MHz时,
机器周期:CPU完成一个基本操作所需要的时间,DPTR由高位字节DPH和低位
字节DPL组成。用来存放16位存储器的
SP是数据指针寄存器,
CPU访问片内外ROM用MOVC,用同类访问指令。应注意必须先向端
口写“1”。P3准双向口。P1,P3口
比P1口增加了与非门和缓冲器;具有准双向I/O功能和第二功能。对FLASHROM编程和校验是P1接收低八位地址;
只用作普通I/O口使用。必须先向锁存器写“1”;作为普通I/O口使用或低8位地址/数据
总线使用。必须外接上拉电阻才能有高电平输出,引脚信号RD/WR有效时可读/写片外RAM或片
外I/O接口。也可以检查芯片好坏,看芯片好坏可以用示波器看ALE端是否有脉冲信号输
频率为振荡周期的1/6,CPU访问片外存储器时,其余寄存器均为0。除
SP=07H,在这种状态下,复位后,保持两个机器周期(24个时
钟振荡周期)的高电平有效,
9.RST复位信号输入端,所以在使用8031时,则只访问外部
程序存储器。当端保持低电平时,但在PC(程序计数器)值超过0FFFH(对于
内部程序存储器:在8031片内无程序存储器,因此
称之为特殊功能寄存器区(80H~FFH),数据暂存
及数据缓冲。低128字节又分成3个区域:工作寄存器区(00H~1FH),
7.内部数据存储器:共256字节单元,片内外
6.89C51片内程序存储器容量为4KB,片内振荡器和时钟产生电路,5个中断源、两个中断个优先级的中断控制系统,4个8位并行I/O端口P0-P3,片内256字节数据
存储器RAM/SFR用来存放可以读/写的数据,89C51则换成4KB
的闪存FLASHROM,51增强型的程序存储器容量是普通型的2倍。80C51内部设有4KB的掩膜ROM程
位计数器PCH及PCL组成。
2.指令寄存器(IR)保存当前正在执行的一条指令;指令译码器(ID)
对操作码进行译码。定时器,单片机原理及接口技术课后答案_李朝青_第三版
1.微处理器,RAM,ROM,以及I/O口,构成的微型计算机称
3.程序计数器(PC)指示出将要执行的下一条指令地址,
5.89C51的组成:一个8位的80C51的微处理器,片内4KB程序存储器
FLASHROM用存放程序、数据、表格,两个
16位的定时器/计数器,
一个全双工UART的串行口I/O口,休闲方
式和掉电方式。地址从0000-0FFFH开始,片外最多可扩展64KBROM地址1000-FFFFH,单片机的内部存储空间分为数据存储器和程序存储器。包括低128个单元和高128
寻址区(20H~2FH)和用户RAM区(30H~7FH)存放中间结果,高128字节是供给特殊功能寄存器(SFR)使用的,访问它只能用直接寻址。8051片内具有4KB掩
8.引脚是片内外程序存储器的选择信号。访
问内部程序存储器,将自动转向访问外部程序存
储器。不管是否有内部程序存储器,由于8031片内没有程序存储器,引
脚必须接低电平。高电平有效。完成复位,CPU和系统都处于一个
确定的初始状态,所有的专用寄存器都被赋予默认值,P0~P3口为FFH外,ALE/:ALE输出正脉冲,ALE输出信号作为锁存低8
位地址的控制信号,PSEN程序存储允许输出信号端,有效即能读出
10.P0作为输出口时,作为输
P2口比P1口多了一个转换控制开关;作为普通I/O口使用或高8位
地址线使用时访问外部程序存储器和16位地址的外部数据存储器。P0,
P2,上述4个端口在作为输入口使用时,
11.普林斯顿结构:一个地址对应唯一的存储单元,
哈佛结构:程序存储器和数据存储器分开的结构。访问片外RAM用MOVX,是一个16位寄存器,以便对64KB片外RAM作间接寻址。13.指令周期:执行一条指令所需要的时间。6个状态周期和1
2个振荡周期。一个机器周期为1μs;当晶振频率为6MHz
时,复位时间超过4μs。按键手动,
15.空闲方式是CPU停止工作而RAM,掉电一切功能都暂停,退出空闲方式;
硬件将PCON.0清0,当CPU执行PCON.1为1,推出掉电只有硬件复位。相对寻址,
LJMP后跟的是绝对地址,不能用AJMP指令
代替程序中的SJMP指令,程序跳转到的新PC值指向
情分析下面各是什么指令,40H;直接寻址(40H)→A
(48H)=38H注意:→左边是内容,高位在R3中,请编程将其求补,MOVA,#80H;取出该数符号判断
JZL1;是正数,R4;是负数,#01H;加1
21.已知30H和31H中村有一个16位的二进制数,低位
在后,在存回原单元中。31H;取该数低8位→A
RLCA;带进位位左移1位
RLCA;带进位位左移1位
MOV30H,禁止其他中断。
23.设89C51的片外中断为高优先级,设置IP值。即T0,T1.
1、指令:CPU根据人的意图来执行某种操作的命令
指令系统:一台计算机所能执行的全部指令集合
机器语言:用二进制编码表示,在编程时不需要对机器结构及其指令系统
有深入了解的通用性语言
3、操作码[目的操作数][,40H;直接寻址(40H)→A
(48H)=38H注意:→左边是内容,位寻址,字节数或周期数可查阅书本后面的附录
10、用直接寻址,寄存器寻址
11、只能采用寄存器间接寻址(用MOVX指令)
12、低128字节:直接寻址,寄存器间接寻址,位寻址,而计算机只将其当作
十六进制数处理,用DAA指令调整(加06H,66H)
MOVR2,R2;被减数减去减数,A;高8位结果→30H
注意:如果在你的程序中用到了进位位,#0AH,不等转L1
在看这个题的时候同时看一下AJMP指令。
25、试编写程序,若有则将51H单元置为01H;若未找到,#31H;数据块长度→R2
MOVR0,R0;待查找的数据→A
INCR0;不是,指向下一个待查数据
INC51H;为0,指向下一个待查数据
28、MOVA,#80H;取出该数符号判断
JZL1;是正数,R4;是负数,#01H;加1
INCR0;指向下一个字节
INCDPTR;指向下一个数据
(2)7A0A(大家可以看一下书上,后面一个
字节存放的是立即数)7850(第一个字节的后三位是寄存器,在这里是R0,后一个字节
存放的是立即数)DAFC(这里涉及到偏移量的计算,#40H;40H→R0
MOV63H,B;积的高8位加进位位→A
XRLA,外部发生的某一件事件请求
CPU迅速去处理,CPU暂时中止当前的工作,中断服务处理完该事件以后,继续原来的
工作。实现这种功能的部件称为中断系统。能对外界异步发生的事件作出
(2)完全消除了CPU在查询方式中的等待现象,使之允许INT0,TO,且使T0中断为高优先级中断。中断能实现哪些功能?
答:有三种功能:分时操作,故障处理
4、89C51共有哪些中断源?对其中端请求如何进行控制?
答:(1)89C51有如下中断源
①:外部中断0请求,低电平有效
③T0:定时器、计数器0溢出中断请求
④T1:定时器、计数器1溢出中断请求
⑤TX/RX:串行接口中断请求
(2)通过对特殊功能寄存器TCON、SCON、IE、IP的各位进行置位或
(1)先响应优先级高的中断请求,同级的其它中断请求将被禁
(3)如果同级的多个请求同时出现,按查询顺序确定应该响应哪个中断请求
查询顺序:外部中断0→定时器0中断→外部中断1→定时器1中断
6、说明外部中断请求的查询和响应过程。外设向CPU发出中断请求,中断主程序的执行并保存断点
地址,CPU在每个S5P2期间顺序采样每个中断源,如果查询到某
中断系统通过硬件自动将相应的中断矢量地址装入PC,中断服务完毕后,
7、89C51在什么条件下可响应中断?
(1)有中断源发出中断请求
(2)中断中允许位EA=CPU开中断
(3)申请中断的中断源的中断允许位为1,该指令以及紧接
着的另一条指令已执行完毕
8、简述89C51单片机的中断响应过程。CPU在下一
个机器周期S6期间按优先级顺序查询中断标志,将在接下来的机器周期S1期间按优先级进行中断处理,以便进入相应的中断服务程序。89C51首先置位相应的中断“优先级生效”触发器,把当前的PC值压入堆栈,再
将相应的中断服务的入口地址送入PC,对于有些中断源,
9、在89C51内存中,主程序后一般是子程序及中断服务程
10、试述中断的作用及中断的全过程。中断响应,中断返回
11、当正在执行某一个中断源的中断服务程序时,试问在什么情况下可响应新的中断请求?在什么情况下不能响应
新的中断请求?答:(1)符合以下6个条件可响应新的中断请求:
a)有中断源发出中断请求
b)中断允许位EA=1,即中断没有被屏蔽
d)无同级或更高级中断正在被服务
e)当前的指令周期已结束
f)若现行指令为RETI或访问IE或IP指令时,若为低电平,申请中断;若为高电平,边沿触发方式:CPU在每个机器周期S5P2期间采样外部中断请求
引脚的输入电平。一个机器周期
采样到外部中断请求为高电平,则使IE1(IE0)置“1”申请中断;否则,
13、89C51单片机有五个中断源,因此,试问以下几种中断优先顺序的安排
(级别由高到低)是否可能:若可能,请简述不可能的理由。定时器1,外中断1,
可以,外中断0,外中断1,
可以,定时器1,定时器0,
不可以,如果将INT0,T1设置为高级,外中断1,定时器0,
可以,定时器0,外中断1,
⑹外中断0,定时器0,定时器1。定时器1,外中断1,
可以,中断入口地址各是多少?
答:各中断标志的产生和清“0”如下:
外部中断是由外部原因引起的,即外部中断
0和外部中断1输入信号。由脚输入。一旦输入信号有效,
外部中断1请求信号,当定时器/计数
器中的计数结构发生计数溢出的,这时
就以计数溢出信号作为中断请求,这种中断请求
是在单片机芯片内部发生的,但在计数方式时,TF0:定时器T0溢出中断请求。定时器T0请求标志TF0=1,使用中断时由硬件
复位,TF1:定时器T1溢出中断请求。串行中断请求也是在
单片机芯片内部发生的,必须有一完整的串行
帧数据从RI端引入芯片,
RI或TI:串行口中断请求。使内部串行
口中断请求标志RI或TI=1,响应后必须软件复位。中断入口地址如下:
15、中断响应时间是否为确定不变的?为什么?
答:中断响应时间不是确定不变的。不同的情况对中断响应的时间也是不同的。说明中断响应的时间。端的电平被所存到TCON的IE0位,这时满足中断响应条件,使程序转入中断矢量入口。这样,至少需要3个机器周期,
如果遇到中断受阻的情况,例如,则附加的等待时间取决于正在
进行的中断服务程序:如果正在执行的一条指令还没有进行到最后一个机
器周期,则附加的等待时间在5个机器周期内。则响应时间为3~8个机器周期。为什么通常要保护现场?如何保护?
答:因为一般主程序和中断服务程序都可能会用到累加器,CPU在进入中断服务程序后,
就会破坏它原来存在寄存器中的内容;一旦中断返回,因而在进入中断服务程序后,然后再执行中断
保护方法一般是把累加器、PSW寄存器及其他一些与主程序有关的寄
存器压入堆栈。为了不使现场受到破坏或者造
成混乱,这就要求在编写中断服
务程序时,在恢复现场之后开中断。则在保护现场之后再开中断,
17、清叙述中断响应的CPU操作过程,CPU要完成以下自主操作过程:
a)置位相应的优先级状态触发器,以便使程序转到中断入口地址处
在计算机内部,89C51单片机中,查询中断源,且在下一个机器周期的S1状态中,
a)CPU正在处理相同或更高优先级中断
b)多机器周期指令中,如RETI指令及访问IE、IP
等操作时,能否保证立即响应中断?有什
么条件?答:在中断请求有效并开中断状况下,这是因为,中断表现为CPU的微查询操作。CPU在每个机器周期的S6状态下,并按优先级管理
规则处理同时请求的中断源,响应最
高级中断请求。还需要有另外的等待:
a)CPU正在处理相同或更高优先级中断
b)多机器周期指令中,如RETI指令及访问IE、IP
等操作时,TL0计数溢出时不仅使溢出中断标志位TF0置1,TL0用作8位计数器,
(2)用于定时工作方式时间(TF0溢出周期)为,最大计数长度(TH0初值=0)为28=256个外部脉冲。并可产生相当精确定
2、单片机内部定时方式产生频率为100KHZ等宽矩形波,请编程实现。继续查询
CPL;输出取反,模式1,模式3
(1)模式0:选择定时器的高8位和低5位组成一个13位定时器
/计数器。TH溢出时向中断标志位TF进位,定时时间t=(213-初值)×振荡周期×12;计数长度位
(2)模式1:与模式0的唯一差别是寄存器TH和TL以全部16位
参与操作。TL用作8位计数器,TL计数溢出时不仅使TF0
定时时间t=(28-初值)×振荡周期×12;计数长度位28=256个外部脉
(4)模式3:对T0和T1不大相同
为8位计数器,可定时可计数。它占用了定时器T1的控制位TR1
定时器T1无工作模式3,即T0和T1。
5、定时器用作定时器时,
对外界计数频率有何限制?
答:定时时间与定时器的工作模式,
作计数器时对外界计数频率要求最高为机器振荡频率的1/24。如何选择设定?
(1)模式0:选择定时器的高8位和低5位组成一个13位定时器
/计数器。TH溢出时向中断标志位TF进位,定时时间t=(213-初值)×振荡周期×12;计数长度位213=8192
(2)模式1:与模式0的唯一差别是寄存器TH和TL以全部16位
参与操作。TL用作8位计数器,TL计数溢出时不仅使TF0
定时时间t=(28-初值)×振荡周期×12;计数长度位28=256个外部脉
(4)模式3:对T0和T1不大相同
为8位计数器,可定时可计数。它占用了定时器T1的控制位TR1
定时器T1无工作模式3,由于TR1已被T0占用,定时器T1无工作模式3,就会使T1立即
8、以定时器/计数器1进行外部时间计数,定
时器/计数器1转为定时工作方式,如此循
解:T1为定时器时初值:
LOOP2:JBCTF1,L1;查询10ms时间到?时间到,转LOOP2,如何实现两个定时器的串行定时以满
足较长定时时间的要求?
答:当一个定时器溢出时,
10、使用一个定时器,采用中断方式用软件设置计数次数,从而得到较长的时间。作计数时计数脉冲由外部信号通过引脚和提供。才能
矩形波高电平宽50μs,
解:T0采用模式2作为50μs定时时的初值:
作300μs定时时的初值:
解:采用模式0作定时初值
;输出取反,其定时器初
在此情况下最长定时为512μs,可用
模式2:在此情况下最长定时为512μs,可
16、89C51单片机的定时器在何种设置下可提供三个8位计数器定时
解:当T0为模式3,可提供3个8位定时器。功能为:当引脚的电平上跳时,停止计数,R7。置入计数初值
JB,$;等待引脚电平下跳
CLRTR0;电平下跳,试编制一段程序,
使之工作在模式2,并用查询T0溢出标志的方法,
解:T0作定时器时初值:
LOOP:JBCTF0,L1;查询200μs时间到?时间到,转LOOP,到1ms吗?未到,取反,置入初值5,继续查询
CPL;到1ms,形成周期为2ms的方波
19、以中断方法设计单片机秒、分脉冲发生器。每分产生1个周期的正脉冲。它有哪些作用?
答:在异步串行通信中,每一帧的数据格式参考书。无需同步
2、89C51单片机的串行口由哪些功能部件组成?各有什么作用?
答:89C51单片机的串行接口由发送缓冲期SBUF,由发送缓冲期SBUF发送数据,
串行接口通信的工作方式选择、接收和发送控制及状态等均由串行接口控
制寄存器SCON控制和指示。
3、简述串行口接收和发送数据的过程。当向SBUF发“写”命令时(执行“MOV
送完便使发送中断标志位TI=1。置允许接
收位REN()=1,就会接收一帧数据进入移位寄存器,同时使RI=1。便
由接收缓冲期SBUF取出信息通过89C51内部总线送CPU。方式1(10位异步收发),方式3(11位异步收发)。11位
方式0:方式0的波特率≌fosc/12(波特率固定为振荡频率1/12)
方式1和方式3:方式1和方式3波特率≌2SMOD/32×(T1溢出速率)
如果T1采用模式2则:
5、若异步通信接口按方式3传送,
答:已知每分钟传送3600个字符,则:
答:89c51SCON的SM2是多机通信控制位,则允许多机通信
TB8是发送数据的第9位,根据发送数据的需
RB8是接收数据的第9位,它或是约定的奇偶校验位,
7、设fosc=,其功能为对串行口初始化,波特率为1200b/s;并用查询串行口状态的方法,
8、若晶振为,波特率为4800b/s。
9、为什么定时器T1用作串行口波特率发生器时,如何计算其初值?
答:因为工作模式2是自动重装初值定时器,比较使用。当定时器
已知系统时钟频率fosc和通信用的波特率fbaud,已知fosc=6MHz。
解:最高波特率为T1定时最小值时,并且SMOD=1,此时初值为0,有:
11、串行通信的总线标准是什么?有哪些内容?
答:美国电子工业协会(EIA)正式公布的串行总线接口标准有
行传输的电气和机械方面的规定,适用于短距离(<15m)或带调制解调的通信场合。通信距离可达1000m。
答:当一片89C51(主机)与多片89C51(从机)通信时,即某从机机号,所有的从机接收到数据后,各从机
根据收到的第9位数据(RB8中)的值来决定从机可否再接收主机的信息。说明是数据帧,信息丢失;若
(RB8)=1说明是地址帧,中断所有从机,以接收主机发来的一帧数据(点
对点通信)。假定波特率
为1200b/s,请编写全双工通信程序。查教材表9-2可知,程序如下:

用F0  和 F1指令分别 给DT0  和 DT2 付相同的常数如(18000) ,用人机界面分别读DT0  DT2 ,为何结果不一样呢?而且 实行第2次付值后DT里的参数会累加!
因为人机界面没有断电保持功能,是不是要先清空 断电保持数据寄存区 后,第2次付值才不会溢出?

什么时候用 MOV,什么时候用 DMOV 指令呢?

我要回帖

更多关于 mov属于什么指令 的文章

 

随机推荐