资源描述
第一章
1.单片机具备哪些特点
(1)片内存储容量越来越大。
(2抗干扰性好,可靠性高。
(3)芯片引线齐全,容易扩展。
(4)运营速度高,控制功能强。
(5)单片机内部数据信息保存时间很长,有芯片可以达到1以上。
2. 89C51单片机内包括哪些重要逻辑功能部件?
答:80C51系列单片机在片内集成了如下重要逻辑功能部件:
(l)CPU(中央解决器):8位
(2)片内RAM:128B
(3)特殊功能寄存器:21个
(4)程序存储器:4KB
(5)并行I/O口:8位,4个
(6)串行接口:全双工,1个
(7)定期器/计数器:16位,2个
(8)片内时钟电路:1个
3.什么是微解决器(CPU)、微机和单片机?
答:微解决器自身不是计算机,但它是小型计算机或微机控制和解决某些。
微机则是具备完整运算及控制功能计算机,除了微解决器外还涉及存储器、接口适配器以及输入输出设备等。
单片机是将微解决器、一定容量RAM、ROM以及I/O口、定期器等电路集成在一块芯片上,构成单片微型计算机。
4. 微型计算机如何执行一种程序?
答:通过CPU指令,提到内存当中,再逐个执行。
5.什么是嵌入式系统?她有哪些类型?为什么说单片机是典型嵌入式系统?
答;嵌入式系统是将先进计算机技术、半导体技术和电子技术和各个行业详细应用相结合后产物,这一点就决定了它必然是一种技术密集、资金密集、高度分散、不断创新知识集成系统。
它有嵌入式微解决器、嵌入式微控制器、嵌入式DSP解决器、嵌入式片上系统等。
嵌入式系统浮现最初是基于单片机。它从体系构造到指令系统都是按照嵌入式应用特点专门设计,能最佳满足面对控制对象,应运系统嵌入、现场可靠运营以及非凡控制品质规定。因而,她是典型嵌入式系统。
第二章
1.89C51单片机内包括哪些重要逻辑功能部件?
答:80C51系列单片机在片内集成了如下重要逻辑功能部件:
(l)CPU(中央解决器):8位
(2)片内RAM:128B
(3)特殊功能寄存器:21个
(4)程序存储器:4KB
(5)并行I/O口:8位,4个
(6)串行接口:全双工,1个
(7)定期器/计数器:16位,2个
(8)片内时钟电路:1个
2.89C51EA端有何用途?
答:/EA端接高电平时,CPU只访问片内并执行内部程序,存储器。/EA端接低电平时,CPU只访问外部ROM,并执行片外程序存储器中指令。/EA端保持高电平时,CPU执行内部存储器中指令。
3. 89C51存储器分哪几种空间?如何区别不同空间寻址?
答:ROM(片内ROM和片外ROM统一编址)(使用MOVC)(数据传送指令)(16bits地址)(64KB)
片外RAM(MOVX)(16bits地址)(64KB)
片内RAM(MOV)(8bits地址)(256B)
4. 简述89C51片内RAM空间分派。
答:片内RAM有256B
低128B是真正RAM区
高128B是SFR(特殊功能寄存器)区
5. 简述布尔解决存储器空间分派,片内RAM中包括哪些可位寻址单元。
答:片内RAM区从00H~FFH(256B)
其中20H~2FH(字节地址)是位寻址区
相应位地址是00H~7FH
6. 如何简捷地判断89C51正在工作?
答:用示波器观测8051XTAL2端与否有脉冲信号输出(判断震荡电路工作与否正常?)
ALE(地址锁存容许)(Address Latch Enable)输出是fosc6分频
用示波器观测ALE与否有脉冲输出(判断 8051芯片好坏?)
观测PSEN(判断8051可以到EPROM 或ROM中读取指令码?)
由于/PSEN接外部EPROM(ROM)/OE端子
OE=Output Enable(输出容许)
7. 89C51如何拟定和变化当前工作寄存器组?
答:PSW(程序状态字)(Program Status Word)中RS1和RS0
可以给出4中组合
用来从4组工作寄存器组中进行选取
PSW属于SFR(Special Function Register)(特殊功能寄存器)
8. 89C51 P0口用作通用I/O口输入时,若通过TTL“OC”门输入数据,应注意什么?为什么?
答:
9. 读端口锁存器和“读引脚”有何不同?各使用哪种指令?
答:读锁存器(ANL P0,A)就是相称于从存储器中拿数据,而读引脚是从外部拿数据(如MOV A,P1 这条指令就是读引脚,意思就是把端口p1输入数据送给A)
传送类MOV,判位转移JB、JNB、这些都属于读引脚,平时实验时经惯用这些指令于外部通信,判断外部键盘等;字节互换XCH、XCHD算术及逻辑运算 ORL、CPL、ANL、ADD、ADDC、SUBB、INC、DEC控制转移CJNE、DJNZ都属于读锁存器。
10. 89C51 P0~P3口构造有何不同?用作通用I/O口输入数据时,应注意什么?
答:P0口内部没有上拉电阻,可以用做16位地址低8位;
P3有第二功能;
P2口可以用做16位地址高8位;
需要上拉电阻。OC门电路无法输出高低电平,只有靠上拉电阻才干实现
11. 89C51单片机EA信号有何功能?在使用8031时,EA信号引脚应如何解决?
答:(1)80C51单片机EA信号功能
EA为片外程序存储器访问容许信号,低电平有效;在编程时,其上施加21V编程电压
EA引脚接高电平时,程序从片内程序存储器开始执行,即访问片内存储器;EA引脚接低电平时,迫使系统所有执行片外程序存储器程序。
(2)在使用80C31时,EA信号引脚解决办法
由于80C31没有片内程序存储器,因此在使用它时必然要有外部程序存储器,EA 信号引脚应接低电平。
12. 89C51单片机有哪些信号需要芯片引脚以第2功能方式提供?
答: 第一功能 第二功能
串行口:
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
中断:
P3.2 INT0外部中断0
P3.3 INT1外部中断1
定期器/计数器(T0、T1):
P3.4 T0(定期器/计数器0外部输入)
P3.5 T1(定期器/计数器1外部输入)
数据存储器选通:
P3.6 WR(外部存储器写选通,低电平有效,输出)
P3.7 RD(外部存储器读选通,低电平有效,输出)
定期器/计数器(T2):
P1.0 T2(定期器T2计数端)
P1.1 T2EX(定期器T2外部输入端)
13. 内部RAM低128字节单元划分为哪3个重要某些?各某些重要功能是什么?
答:片内RAM低128单元划分及重要功能:
(l)工作寄存器组(00H~lFH)
这是一种用寄存器直接寻址区域,内部数据RAM区0~31(00H~lFH),共32个单
元。它是4个通用工作寄存器组,每个组包括8个8位寄存器,编号为R0~R7。
(2)位寻址区(20H~2FH)
从内部数据RAM区32~47(20H~2FH)16个字节单元,共包括128位,是可位寻
址RAM区。这16个字节单元,既可进行字节寻址,又可实现位寻址。
(3)字节寻址区(30H~7FH)
从内部数据RAM区48~127(30H~7FH),共80个字节单元,可以采用间接字节寻址
办法访问。
14. 使单片机复位有几种办法?复位后机器初始状态如何?
答:(1)单片机复位办法
单片机复位办法有:上电自动复位、按键电平复位和外部脉冲三种方式,如题图2-1所示。
题图2-1
(2)复位后初始状态
复位后机器初始状态,即各寄存器状态:PC之外,复位操作还对其她某些特殊功能寄存器有影响,它们复位状态如题表2-1所例
15. 开机复位后,CPU使用是哪组工作寄存器?它们地址是什么?CPU如何拟定和变化当前工作寄存器组?
答:普通开机复位后都是选取第一组通用工作寄存器作为工作寄存器,一共有4组,分别为0.1.2.3持续位于00h到1FH地址,
然后在机器中有个程序状态字PSW,它第四和第三位RS1,RS0是用来选取工作寄存器组,也许不同机器地址稍有不同。她们俩值和寄存器组关系:
RS1/RS0 0/0 0/1 1/0 1/1
使用工作寄存器 0 1 2 3
地址 00-07 08-0F 10-17 18-1F
写程序时候就是通过定义程序状态字来选取使用不同寄存器组。也可以直接对RS1和RS0赋值。
(最后一问同题7)
16. 程序状态寄存器PSW作用是什么?惯用标志有哪些位?作用是什么?
答:PSW是一种SFR(特殊功能寄存器)
位于片内RAM高128B
详细地址D0H(00H~FFH)(片内RAM编址)(8bits编址办法)
PSW=Program Status Word(程序状态字)
PSW惯用标志位有哪些?
CY=Carry(进位标志位)
AC=Auxiliary Carry(辅助进位标志位)(半进位标志位)
F0顾客标志位
RS1,RS0,用来选取当前工作寄存器组(R0~R7)(4选1)
OV=Overflow(溢出标志位)
P=Parity(奇偶校验位)
17. 位地址7CH与字节地址7CH如何区别?位地址7CH详细在片内RAM中什么位置?
答:用不同寻址方式来加以区别,即访问128个位地址用位寻址方式,访问低128字节单元用字节寻址和间接寻址。
详细地址为2F第五位,即为7C。
18. 89C51单片机时钟周期与振荡周期之间有什么关系?什么叫机器周期和指令周期?
答:时钟信号周期称为机器状态周期,是振荡周期两倍。一种机器周期是指CPU访问存储器一次所需时间。指令周期是执行一条指令所需时间。
19. 一种机器周期时序如何划分?
答:一种机器周期=12个震荡周期=6个时钟周期(状态周期)
S1P1,S1P2,S2P1,S2P2,S3P1,S3P2,S4P1,S4P2,S5P1,S5P2,S6P1,S6P2 其中s=state(状态),p=phase(相位)
20. 什么叫堆栈?堆栈指针SP作用是什么?89C51单片机堆栈容量不能超过多少字节?
答:堆栈都是一种数据项按序排列数据构造,只能在一端(称为栈顶(top))对数据项进行插入和删除。要点:堆:顺序随意栈:后进先出(Last-In/First-Out)
在调用子程序时需要保存调用函数CPU寄存器PC指针,PC指针是被CALL指令自动压入SP所指向片内存储器,CPU寄存器要由顾客用PUSH指令自行保存,因而SP作用就是一种指针,当进行中断调用,子函数调用时将现场数据压入SP所指向存储器,SP自动增长1或2,当中断结束RETI,调用返回RET,POP时将SP数据弹出,SP自动减1或,2
8051最大为128字节片内存储器,0X20以上理论都可以做堆栈用96字节,8052为256字节224字节可用,但这样便没有其他空间可用于数据存储当前单片机程序普通都能用C51来,不用关怀堆栈大小与SP寄存器
21. 89C51有几种低功耗方式?如何实现?
答:空闲方式和掉电方式
空闲方式和掉电方式是通过对SFR中PCON(地址87H)相应位置1而启动。
当CPU执行完置IDL=1(PCON.1)指令后,系统进入空闲工作方式。这时,内部时钟不向CPU提供,而只供应中断、串行口、定期器某些。CPU内部状态维持,即涉及堆栈指针SP、程序计数器PC、程序状态字PSW、累加器ACC所有内容保持不变,端口状态也保持不变。ALE和PSEN保持逻辑高电平。
当CPU执行一条置PCON.1位(PD)为1指令后,系统进入掉电工作方式。在这种工作方式下,内部振荡器停止工作。由于没有振荡时钟,因而,所有功能部件都停止工作。但内部RAM区和特殊功能寄存器内容被保存,而端口输出状态值都保存在相应SFR中,ALE和PSEN都为低电平。
22. PC与DPTR各有哪些特点?有何异同?
答:(1)程序计数器PC作为不可寻址寄存器特点
程序计数器PC是中央控制器申最基本寄存器,是一种独立计数器,存储着下一条将程序存储器中取出指令地址。
程序计数器PC变化轨迹决定程序流程。程序计数器宽度决定了程序存储器可以
寻址范畴。
程序计数器PC基本工作方式有:
①程序计数器PC自动加1。这是最基本工作方式,也是这个专用寄存器被称为计数
器因素。
②执行条件或无条件转移指令时,程序计数器将被置入新数值,程序流向发生变化。
变化方式有下列几种:带符号相对跳转SJMP、短跳转AJMP、长跳转LJMP及JMP @A+DPTR等。
③在执行调用指令或响应中断时:
●PC现行值,即下一条将要执行指令地址送入堆栈,加以保护;
●将子程序入口地址或者中断矢量地址送入PC,程序流向发生变化,执行子程序或中断服务程序;
●子程序或中断服务程序执行完毕,遇到返回指令RET或RETI时,将栈顶内容送到PC寄存器中,程序流程又返回到本来地方,继续执行。
(2)地址指针DPTR特点
地址指针DPTR特点是,它作为片外数据存储器寻址用地址寄存器(间接寻址)。
(3)地址指针DPTR与程序计数器PC异同
①相似之处:
●两者都是与地址关于、16位寄存器。其中,PC与程序存储器地址关于,而
DPTR与数据存储器地址关于。
●作为地址寄存器使用时,PC与DPTR都是通过P0和P2口(作为16位地址总线)输
出。但是,PC输出与ALE及PSEN关于;DPTR输出,则与ALE、RD及WR相联系。
②不同之处:
●PC只能作为16位寄存器对待,由于有自动加1功能,故又称为计数器;
DPTR可以作为16位寄存器对待,也可以作为两个8位寄存器对待。
●PC是不可以访问,有自己独特变化方式,它变化轨迹决定了程序执行流程;
DPTR是可以访问,如MOV DPTR,#XXXXH,INC DPTP。
23. 89C51端口锁存器“读—修改—写”操作与“读引脚”操作有何区别?
答:指令系统中有些指令读锁存器值,有些指令则读引脚上值。读锁存器指令是从锁存器中读取一种值并进行解决,把解决后值(原值或已修改后值)重新写入锁存器中。此类指令称为读-修改-写指令。
对于读-修改-写指令。直接读锁存器而不是读端口引脚,是由于从引脚上读出数据不一定能真正反映锁存器状态。
第三章
1、 指令:CPU依照人意图来执行某种操作命令
指令系统:一台计算机所能执行所有指令集合
机器语言:用二进制编码表达,计算机能直接辨认和执行语言
汇编语言:用助记符、符号和数字来表达指令程序语言
高档语言:独立于机器,在编程时不需要对机器构造及其指令系统有进一步理解通用性语言
2、 见第1题
3、简述8951汇编指令格式。答: 操作码 [目操作数] [,源操作数]
4、简述8951寻址方式和所能涉及寻址空间。
寻址方式
寻址空间
及时数寻址
程序存储器ROM
直接寻址
片内RAM低128B、特殊功能寄存器
寄存器寻址
工作寄存器R0-R7、A、B、C、DPTR
寄存器间接寻址
片内RAM低128B、片外RAM
变址寻址
程序存储器(@A+PC,@A+DPTR)
相对寻址
程序存储器256B范畴(PC+偏移量)
位寻址
片内RAM20H-2FH字节地址、某些SFR
5、访问特殊功能寄存器和外数据存储器,应采用那些寻址方式?
答: SFR:直接寻址,位寻址,寄存器寻址;片外RAM:寄存器间接寻址
6、8951中已知(30H)=38H,请分析如下各是什么指令,阐明源操作数寻址方式以及执行成果。
MOV A,40H ;直接寻址(40H)→A
MOV R0,A;寄存器寻址(A)→R0
MOV P1,#0F0H ;及时数寻址0F0→P1
MOV @R0,30H;直接寻址(30H) →(R0)
MOV DPTR,#3848H;及时数寻址 3848H→DPTR
MOV 40H,38H;直接寻址 (38H) →40H
MOV R0,30H;直接寻址 (30H) →R0
MOV P0,R0;寄存器寻址( R0 )→P0
MOV 18H,#30H ;及时数寻址30H→18H
MOV A,@R0 ;寄存器间接寻址 ((R0)) →A
MOV P2,P1 ;直接寻址 (P1)→P2
最后成果:(R0)=38H,(A)=40H,(P0)=38H,(P1)=(P2)=0F0H,(DPTR)=3848H,(18H)=30H,(30H)=38H,(38H)=40H,(40H)=40H,(48H)=38H
注意:→左边是内容,右边是单元
7、8951片内高128字节地址寻址要注意什么/?
答: 用直接寻址,位寻址,寄存器寻址
8、指出些列指令本质?
MOV A,DATA ;直接寻址 2字节1周期
MOV A,#DATA ;及时数寻址 2字节1周期
MOV DATA1,DATA2 ;直接寻址 3字节2周期
MOV 74H,#78H ;及时数寻址 3字节2周期
如果想查某一指令机器码,字节数或周期数可查阅课本背面附录A
9、设R0内容分为32H,A内容为48H,。。。。请指出在执行下列程序段后上述各单元内容变化?
MOV A,@R0 ;((R0))=80H→A
MOV @R0,40H ;(40H)=08H→(R0)
MOV 40H,A ;(A)=80→40H
MOV R0,#35H ;35H→R0
最后成果:(R0)=35H (A)=80H,(32H)=08H,(40H)=80H
10、如何访问SFR,可采用那些寻址方式?
答:用直接寻址,位寻址,寄存器寻址
11、如何访问片外RAM,可使用那些寻址方式?
答:只能采用寄存器间接寻址(用MOVX指令)
12、如何访问片内RAM,可使用那些寻址方式?
答:低128字节:直接寻址,位寻址,寄存器间接寻址,寄存器寻址(R0~R7)
高128字节:直接寻址,位寻址,寄存器寻址
13、如何访问片内外程序存储器,可使用那些寻址方式?
答:采用变址寻址(用MOVC指令)
14、阐明十进制调节因素和办法?
答:压缩BCD码在进行加法运算时应逢十进一,而计算机只将其当作十六进制数解决,此时得到成果不对的。用DA A指令调节(加06H,60H,66H)
15、阐明8951布尔机解决机功能?
答:用来进行位操作
16、ANL A,#17H ;83H∧17H=03H→A
ORL 17H,A ;34H∨03H=37H→17H
XRL A,@R0 ;03H⊕37H=34H
CPL A ;34H求反等于CBH
因此(A)=CBH
17、(1)SETB ACC.0或SETB E0H ;E0H是累加器地址
(2)CLR ACC.7
CLR ACC.6
CLR ACC.5
CLR ACC.4
(3)CLR ACC.6
CLR ACC.5
CLR ACC.4
CLR ACC.3
18、MOV 27H,R7
MOV 26H,R6
MOV 25H,R5
MOV 24H,R4
MOV 23H,R3
MOV 22H,R2
MOV 21H,R1
MOV 20H,R0
19、MOV 2FH,20
MOV 2EH,21
MOV 2DH,22
20、编程,进行两个16位数减法:6F5DH-13B4H,成果存入内部RAM30和31H单元,30H存低八位。
CLR C
MOV A,#5DH ;被减数低8位→A
MOV R2,#B4H ;减数低8位→R2
SUBB A,R2 ;被减数减去减数,差→A
MOV 30H,A ;低8位成果→30H
MOV A,#6FH ;被减数高8位→A
MOV R2,#13H ;减数高8位→R2
SUBB A,R2 ;被减数减去减数,差→A
MOV 31H,A ;高8位成果→30H
注意:如果在你程序中用到了进位位,在程序开始时候要记得清0进位位
21、编程,若累加器A满足下列条件,则程序转至LABEL存储单元,设A中为无符号数。
(1)A≥10
CJNE A,#0AH,L1 ;(A)与10比较,不等转L1
LJMP LABEL ;相等转LABEL
L1:JNC LABEL ;(A)不不大于10,转LABEL
或者:
CLR C
SUBB A,#0AH
JNC LABEL
(2)A>10
CJNE A,#0AH,L1 ;(A)与10比较,不等转L1
RET ;相等结束
L1:JNC LABEL ;(A)不不大于10,转LABEL
RET ;(A)不大于10,结束
或者:
CLR C
SUBB A,#0AH
JNC L1
RET
L1:JNZ LABEL
RET
(3)A≤10
CJNE A,#0AH,L1 ;(A)与10比较,不等转L1
L2:LJMP LABEL ;相等转LABEL
L1:JC L2 ;(A)不大于10,转L2
RET
或者:
CLR C
SUBB A,#0AH
JC LABEL
JZ LABEL
RET
22、(SP)=23H,(PC)=3412H
参看书上80页
23、(SP)=27H,(26H)=48H,(27H)=23H,(PC)=3456H
参看书上79页
24、不能。ACALL是短转指令,可调用地址范畴是2KB。
在看这个题时候同步看一下AJMP指令。同步考虑调用指令ACALL和LCALL指令和RET指令关系。
25、编程,查找内部RAM中20H-50H单元中与否有0AAH这一数据,若有则将51h单元置为01H,如无,则将51H单元清零。
MOV R2,#31H ;数据块长度→R2
MOV R0,#20H ;数据块首地址→R0
LOOP:MOV A,@R0 ;待查找数据→A
CLR C ;清进位位
SUBB A,#0AAH ;待查找数据是0AAH吗
JZ L1 ;是,转L1
INC R0 ;不是,地址增1,指向下一种待查数据
DJNZ R2,LOOP ;数据块长度减1,不等于0,继续查找
MOV 51H,#00H ;等于0,未找到,00H→51H
RET
L1:MOV 51H,#01H ;找到,01H→51H
RET
26、编程查找内部RAM20H-50H单元中浮现00H次数并将成果存入51H中。
MOV R2,#31H ;数据块长度→R2
MOV R0,#20H ;数据块首地址→R0
LOOP:MOV A,@R0 ;待查找数据→A
JNZ L1 ;不为0,转L1
INC 51H ;为0,00H个数增1
L1:INC R0 ;地址增1,指向下一种待查数据
DJNZ R2,LOOP ;数据块长度减1,不等于0,继续查找
RET
27、外部数据RAM中有一种数据块,首地址为SOURCE,规定将该数据传送到内部RAM以DIST开头区域在,直到遇到数字字符¥时结束。
MOV DPTR,#SOURCE ;源首地址→DPTR
MOV R0,#DIST ;目首地址→R0
LOOP:MOVX A,@DPTR ;传送一种字符
MOV @R0,A
INC DPTR ;指向下一种字符
INC R0
CJNE A,#24H,LOOP ;传送是“$”字符吗?不是,传送下一种字符
RET
28、 已知R3和R4中存有一种十六位二进制数,高位在3中,低位在4中,编程求其补,并存回原处。
MOV A,R3 ;取该数高8位→A
ANL A,#80H ;取出该数符号判断
JZ L1 ;是正数,转L1
MOV A,R4 ;是负数,将该数低8位→A
CPL A ;低8位取反
ADD A,#01H ;加1
MOV R4,A ;低8位取反加1后→R4
MOV A,R3 ;将该数高8位→A
CPL A ;高8位取反
ADDC A,#00H ;加上低8位加1时也许产生进位
MOV R3,A ;高8位取反加1后→R3
L1: RET
29、已知30H和31H中存有一种十六位二进制数,高位在前,低位在后,编程将它们乘2,并存回原处。
CLR C ;清进位位C
MOV A,31H ;取该数低8位→A
RLC A ;带进位位左移1位
MOV 31H,A ;成果存回31H
MOV A,30H ;取该数高8位→A
RLC A ;带进位位左移1位
MOV 30H,A ;成果存回30H
30、内存中有两个4字节以压缩BCD码形式存储十进制数,一种放在30H-33H单元中,一种放在40H-43H单元中,编程求她们和,成果放在30H-33H单元中。
MOV R2,#04H ;字节长度→R2
MOV R0,#30H ;一种加数首地址→R0
MOV R1,#40H ;另一种加数首地址→R1
CLR C ;清进位位
LOOP:MOV A,@R0 ;取一种加数
ADDC A,@R1 ;两个加数带进位位相加
DA A ;十进制调节
MOV @R0,A ;存储成果
INC R0 ;指向下一种字节
INC R1 ;
DJNZ R2,LOOP ;数据块长度减1,不等于0,继续查找
RET
31、编程,把片外RAM从H开始存储8个数传送到片内30H开始单元中。
MOV R2,#08H ;数据块长度→R2
MOV R0,#30H ;数据块目地址→R0
MOV DPTR,#H ;数据块源地址→DPTR
LOOP:MOVX A,@ DPTR ;传送一种数据
MOV @R0,A
INC DPTR ;指向下一种数据
INC R0 ;
DJNZ R2,LOOP ;数据块长度减1,没传送完,继续传送
RET
35、解:(1000H)=53H (1001H)=54H (1002H)=41H
(1003H)=52H (1004H)=54H (1005H)=12H
(1006H)=34H (1007H)=30H (1008H)=00H
(1009H)=70H
36、阅读下列程序阐明其功能
MOV R0,#40H ;40H→R0
MOV A,@R0 ;98H→A
INC R0 ;41H→R0
ADD A,@R0 ;98H+(41H)=47H→A
INC R0
MOV @R0,A ;成果存入42H单元
CLR A ;清A
ADDC A,#0 ;进位位存入A
INC R0
MOV @R0,A ;进位位存入43H
功能:将40H,41H单元中内容相加成果放在42H单元,进位放在43H单元,(R0)=43H,(A)=1,(40H)=98H,(41H)=AFH,(42H)=47H,(43H)=01H
37、同上题
MOV A,61H ;F2H→A
MOV B,#02H ;02H→B
MUL AB ;F2H×O2H=E4H→A
ADD A,62H ;积低8位加上CCH→A
MOV 63H,A ;成果送62H
CLR A ;清A
ADDC A,B ;积高8位加进位位→A
MOV 64H,A ;成果送64H
功能:将61H单元内容乘2,低8位再加上62H单元内容放入63H,将成果高8位放在64H单元。(A)=02H,(B)=01H,(61H)=F2H,(62H)=CCH,(63H)=B0H,(64H)=02H
39、MOV A,XXH
ORL A,#80H
MOV XXH,A
40、(2)MOV A,XXH
MOV R0,A
XRL A,R0
第五章
1、什么是中断和中断系统?其重要功能是什么?
答:当CPU正在解决某件事情时候,外部发生某一件事件祈求CPU迅速去解决,于是,CPU暂时中断当前工作,转去解决所发生事件,中断服务解决完该事件后来,再回到本来被终结地方,继续本来工作。这种过程称为中断,实现这种功能部件称为中断系统。功能:
(1) 使计算机具备实时解决能力,能对外界异步发生事件作出及时解决
(2) 完全消除了CPU在查询方式中档待现象,大大提高了CPU工作效率
(3) 实现实时控制
2、试编写一段对中断系统初始化程序,使之容许INT0,INT1,TO,串行口中断,且使T0中断为高优先级中断。
解:MOV IE,#097H
MOV IP,#02H
3、在单片机中,中断能实现哪些功能?
答:有三种功能:分时操作,实时解决,故障解决
4、89C51共有哪些中断源?对其中端祈求如何进行控制?
答:(1)89C51有如下中断源
① :外部中断0祈求,低电平有效
② :外部中断1祈求,低电平有效
③T0:定期器、计数器0溢出中断祈求
④T1:定期器、计数器1溢出中断祈求
⑤TX/RX:串行接口中断祈求
(2)通过对特殊功能寄存器TCON、SCON、IE、IP各位进行置位或复位等操作,可实现各种中断控制功能
5、什么是中断优先级?中断优先解决原则是什么?
答:中断优先级是CPU相应中断先后顺序。原则:
(1) 先响应优先级高中断祈求,再响应优先级低
(2) 如果一种中断祈求已经被响应,同级其他中断祈求将被禁止
(3) 如果同级各种祈求同步浮现,则CPU通过内部硬件查询电路,按查询顺序拟定应当响应哪个中断祈求
查询顺序:外部中断0→定期器0中断→外部中断1→定期器1中断→串行接口中断
6、阐明外部中断祈求查询和响应过程。
答:当CPU执行主程序第K条指令,外设向CPU发出中断祈求,CPU接到中断祈求信号并在本条指令执行完后,中断主程序执行并保存断点地址,然后转去响应中断。CPU在每个S5P2期间顺序采样每个中断源,CPU在下一种机器周期S6期间按
展开阅读全文