单片机原理及接口技术课后习题答案_李朝青_第1页
单片机原理及接口技术课后习题答案_李朝青_第2页
单片机原理及接口技术课后习题答案_李朝青_第3页
单片机原理及接口技术课后习题答案_李朝青_第4页
单片机原理及接口技术课后习题答案_李朝青_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章1、单片机具有哪些特点(1) 片内存储容量越来越大。(2抗干扰性好,可靠性高。(3) 芯片引线齐全,容易扩展。(4) 运行速度高,控制功能强。(5) 单片机内部得数据信息保存时间很长,有得芯片可以达到100年以上。2、89C51单片机内包含哪些主要逻辑功能部件?答:8 0C5 1系列单片机在片内集成了以下主要逻辑功能部件:(1) C PU (中央处理器):8位(2) 片内 RAM:1 28B(3) 特殊功能寄存器:21个(4) 程序存储器:4KB(5) 并行1/0 口: 8位,4个(6 )串行接口:全双工,1个(7)定时器/计数器:16位,2个(8)片内时钟电路:1个3、什么就是微处理器

2、(CPU)、微机与单片机?答:微处理器木身不就是计算机,但它就是小型计算机或微机得控制与处理部分.微机则就是具有完整运算及控制功能得计算机,除了微处理器外还包括存储器、接口适 配器以及输入输出设备等。单片机就是将微处理器、一定容量得RAM、ROM以及I/O 口、定时器等电路集成在一 块芯片上,构成得单片微型计算机。4、微型计算机怎样执行一个程序?答:通过CPU指令,提到内存当中,再逐一执行。5、什么就是嵌入式系统?她有哪些类型?为什么说单片机就是典型得嵌入式系统? 答;嵌入式系统就是将先进得计算机技术、半导体技术与电子技术与各个行业得具体 应用相结合后得产物,这一点就决定了它必然就是一个技术密

3、集、资金密集、高度分散、 不断创新得知识集成系统。它有嵌入式微处理器、嵌入式微控制器、嵌入式DSP处理器、嵌入式片上系统等。 嵌入式系统得岀现最初就是基于单片机得它从体系结构到指令系统都就是按照嵌 入式应用特点专门设计得,能最好得满足面对控制对象,应运系统得嵌入、现场得可靠 运行以及非凡得控制品质要求.因此,她就是典型得嵌入式系统。第二章1、89C51单片机内包含哪些主要逻辑功能部件?答:80C51系列单片机在片内集成了以下主要逻辑功能部件:(l) CPU (中央处理器):8位(2) 片内 RAM: 128B(3)特殊功能寄存器:21个(4)程序存储器:4KB(5)并行I /0 口 : 8位,

4、4个(6)串行接口:全双工,1个(7)定时器/计数器:16位,2个(8)片内时钟电路:1个2、89C5 I得EA端有何用途?答:/EA端接高电平时,CPU只访问片内f las h、并执行内部程序,存储器。/EA端 接低电平时,CPU只访问外部ROM,并执行片外程序存储器中得指令。/ EA端保持高电 平时,C PC执行内部存储器中得指令。3、89C5 1得存储器分哪几个空间?如何区别不同空间得寻址?答:ROM (片内ROM与片外ROM统一编址)(使用M OVC)(数据传送指令)(16bits 地址)(64KB)片外 RAM(MOVX) debit s 地址)(64KB)片内 RAM (MOV)

5、(8 bits 地址)(256B)4、简述89C51片内RAM得空间分配。答:片内RAM有256B低128B就是真正得RAM区高128B就是SFR (特殊功能寄存器)区5、简述布尔处理存储器得空间分配,片内RAM中包含哪些可位寻址单元。答:片内RAM区从0 0HFFH ( 2 5 6B)其中2 02FH(字节地址)就是位寻址区对应得位地址就是0 0H7FH6、如何简捷地判断8 9C51正在工作?答:用示波器观察8 051得XTAL 2端就是否有脉冲信号输岀(判断震荡电路工作就是否 正常?)ALE(地址锁存允许)(Addr e s s Lat c h En a b 1 e )输出就是f o sc

6、得6分频 用示波器观察AL E就是否有脉冲输出(判断8 051芯片得好坏?) 观察戸5£(判断8 051能够到EPROM或ROM中读取指令码?)因为/PSEN接外部EPR OM (ROM)得/0E端子7、 答:OE=Out put Enabl e (输岀允许)89C5 I如何确定与改变当前工作寄存器组?PSW (程序状态字)(P r ogram Statu s Word)中得 RS 1 与 RS 0可以给出4中组合用来从4组工作寄存器组中进行选择8、 为什么?P S W属于 SFR(S P e C ia 1 Functi o n Reg i s t e r)(特殊功能寄存器) 89C

7、51P0 口用作通用1/ 0 口输入时,若通过TTL “0C”门输入数据,应注意什么?答:9、读端口锁存器与“读引脚”有何不同?各使用哪种指令?答:读锁存器(ANL P0, A)就就是相当于从存储器中拿数据,而读引脚就是从外部拿 数据(如MOVA, P1这条指令就就是读引脚得,意思就就是把端口 pl输入数据送给A) 传送类MOV,判位转移JB、JNB、这些都属于读引脚,平时实验时经常用这些 指令于外部通信,判断外部键盘等;字节交换XCH、XCHD算术及逻辑运算ORL、CP L、 ANL、ADD、AD DC、SUBB、INC、DEC 控制转移 CJNE、DJ NZ 都属于读锁存器。1 0、89

8、C51 P(rP3 口结构有何不同?用作通用I/O 口输入数据时,应注意什么? 答:P0 口内部没有上拉电阻,可以用做16位地址得低8位;P3有第二功能;P2 口可以用做I 6位地址得高8位;需要上拉电阻。OC门电路无法输出高低电平,只有靠上拉电阻才能实现1 1、89C51单片机得EA信号有何功能?在使用80 3 1时,EA信号引脚应如何处理?答:(1) 8 0C51单片机得EA信号得功能EA为片外程序存储器访问允许信号,低电平有效;在编程时,其上施加2 IV得 编程电压EA引脚接高电平时,程序从片内程序存储器开始执行,即访问片内存储器;EA引脚 接低电平时,迫使系统全部执行片外程序存储器程序

9、.(2)在使用80C31时,EA信号引脚得处理方法因为8 0C31没有片内得程序存储器,所以在使用它时必定要有外部得程序存储器, 信号引脚应接低电平。8 9 C51单片机有哪些信号需要芯片引脚以第2功能得方式提供?第一功能E A1 2、 答:第二功能 串行口:外部输入)P 3、0P3、1P 3、2P3、3P3、4P3、5P3、6低电平有效,输出)中断:RXD (串行输入口)TXD(串行输出口)INTO外部中断0INT1外部中断1定时器/计数器(TO、T1):TO (定时器/计数器0得T1 (定时器/计数器1得外部输数据存储器选通:WR (外部存储器写选通,P3、7RD(外部存储器读选通,低电平

10、有效,输出)定时器/计数器(T2):P1、0T2 (定时器T2得计数端)P1、1T2EX(定时器T2得外部输入端)1 3、内部RAM低1 28字节单元划分为哪3个主要部分?各部分主要功能就是什么? 答:片内RAM低128单元得划分及主要功能:(1)工作寄存器组(00H1FH)这就是一个用寄存器直接寻址得区域,内部数据RAM区得(r31(00H1FII),共3 2个单元.它就是4个通用工作寄存器组,每个组包含8个8位寄存器,编号为R0R7.(2)位寻址区(20H2FII )从内部数据RAM区得324 7(202FH)得16个字节单元,共包含12 8位,就是可 位寻址得RAM区。这16个字节单元,

11、既可进行字节寻址,又可实现位寻址.(3)字节寻址区(3 07FH)14、答:从内部数据RAM区得4旷1 27 (30ir7FH),共80个字节单元,可以采用间接字 节寻址 得方法访问。使单片机复位有几种方法?复位后机器得初始状态如何?(1 )单片机复位方法单片机复位方法有:上电自动复位、按键电平复位与外部脉冲三种方式,如题图 I所示。题图2 1(2)复位后得初始状态复位后机器得初始状态,即各寄存器得状态:P C之外,复位操作还对英她一些特殊 功能寄存器有影响,它们得复位状态如题表2-1所例15、开机复位后,CPU使用得就是哪组工作寄存器?它们得地址就是什么?CPU如何 确定与改变当前工作寄存器

12、组?答:一般开机复位后都就是选择第一组通用工作寄存器作为工作寄存器得,一共有4组, 分别为0。1。2、3连续位于OOh到1FH地址,然后在机器中有个程序状态字PSW,它得第四与第三位RS1, RSO就是用来选择工作 寄存器组得,可能不同机器地址稍有不同。她们俩得值与寄存器组得关系:RS1/RSO0/00/1 I /01 / 1使用得工作寄存器0123地址0 0 -07 0 8-OF 1 0-171 8-IF写程序得时候就就是通过定义程序状态字来选择使用不同得寄存器组也可以直接对R S1与RSO赋值。(最后一问同题7 )1 6、程序状态寄存器P S W得作用就是什么?常用标志有哪些位?作用就是什

13、么?答:PSW就是一个SFR(特殊功能寄存器)位于片内RAM得高128B具体地址DOH(OOirFFH)(片内RAM得编址)(8bit s编址方法)PSW=Pr 0 gr a m Sta t us Wo r d(程序状态字)PS W得常用标志位有哪些?CY=Ca r r y (进位标志位)AC=A u xi.l i ary Carry (辅助进位标志位)(半进位标志位)F0用户标志位RS1, RS 0,用来选择当前工作寄存器组(RO"R 7 ) (4选I )OV=Ov e r f 1 o w (溢出标志位)P=Parity(奇偶校验位)1 7、位地址7CH与字节地址7C II如何区别

14、?位地址7CH具体在片内RAM中得什么位 置?答:用不同得寻址方式来加以区分,即访问128个位地址用位寻址方式,访问低1 28字 节单元用字节寻址与间接寻址.具体地址为2F得第五位,即为7C。8 9 C51单片机得时钟周期与振荡周期之间有什么关系?什么叫机器周期与指令周期?答:时钟信号得周期称为机器状态周期,就是振荡周期得两倍。一个机器周期就是指C P U访问存储器一次所需得时间。指令周期就是执行一条指令所需得时间。19、一个机器周期得时序如何划分?答:一个机器周期=12个震荡周期=6个时钟周期(状态周期)S1P1, S1P 2 , S2 P 1 , S2P2 , S3P 1 , S3P2,

15、S4P1, S 4P 2, S5 P1, S5P2, S6P1, S6P2 其中 s=state (状态),p=p h a s e (相位)20、什么叫堆栈?堆栈指针SP得作用就是什么? 89C 5 1单片机堆栈得容量不能超 过多少字节?答:堆栈都就是一种数据项按序排列得数据结构,只能在一端(称为栈顶(to P )对数 据项进行插入与删除。要点:堆:顺序随意栈:后进先出(Last-In/First-Out)在调用子程序时需要保存调用函数得CPU寄存器PC指针,PC指针就是被CALL 指令自动压入SP所指向得片内存储器,CPU寄存器要由用户用PUSH指令自行保存, 因此SP得作用就就是一个指针,

16、当进行中断调用,子函数调用时将现场数据压入SP所 指向得存储器,SP自动增加1或2,当中断结束RETI,调用返回RET, POP时将SP数据 弹出,SP自动减1或,28051最大为1 28字节得片内存储器,0X20以上理论都可以做堆栈用9 6字节,80 5 2 为2 56字节224字节可用,但这样便没有其它空间可用于数据存储现在得单片机得程 序一般都能用C51来,不用关心堆栈大小与S P寄存器21、8 9 C51有几种低功耗方式?如何实现?答:空闲方式与掉电方式空闲方式与掉电方式就是通过对SFR中得PCOX (地址87H)相应位置1而启动 得.当CPU执行完置IDL=1(PCON、1 )得指令

17、后,系统进入空闲工作方式。这时,内部时 钟不向CPU提供,而只供给中断、串行口、定时器部分。CPU得内部状态维持,即 包括堆栈指针SP、程序计数器PC、程序状态字PSW、累加器ACC所有得内容保持不变, 端口状态也保持不变。ALE与PSEN保持逻辑高电平。当CPU执行一条置PCOX. 1位(P D)为1得指令后,系统进入掉电工作方式。在这种 工作方式下,内部振荡器停止工作由于没有振荡时钟,因此,所有得功能部件都停止 工作。但内部RAM区与特殊功能寄存器得内容被保留,而端口得输出状态值都保存在对 应得SFR中,ALE与PSEN都为低电平。2 2、 PC与D P TR各有哪些特点?有何异同?答:(

18、1)程序计数器PC作为不可寻址寄存器得特点程序计数器P C就是中央控制器申最基本得寄存器,就是一个独立得计数器,存放 着下一条将程序存储器中取出得指令得地址。程序计数器PC变化得轨迹决定程序得流程。程序计数器得宽度决定了程序存储器 可以寻址得范程序计数器P C得基本工作方式有: 程序计数器PC自动加1。这就是最基木得工作方式,也就是这个专用寄存器被 称为计数器得原因. 执行条件或无条件转移指令时,程序计数器将被置入新得数值,程序得流向发生 变化。变化得方式有下列几种:带符号得相对跳转SJMP、短跳转AJMP、长跳转LJMP及J MP A+DPTR 等. 在执行调用指令或响应中断时:PC得现行值

19、,即下一条将要执行得指令得地址送入堆栈,加以保护;将子程序得入口地址或者中断矢量地址送入PC,程序流向发生变化,执行子程 序或中断服务程序;子程序或中断服务程序执行完毕,遇到返回指令RET或RETI时,将栈顶得内容 送到PC寄存器中,程序流程又返回到原来得地方,继续执行.(2)地址指针DPTR得特点地址指针DPTR得特点就是,它作为片外数据存储器寻址用得地址寄存器(间接寻址)。(3)地址指针DPTR与程序计数器PC得异同 相同之处:两者都就是与地址有关得、16位得寄存器。其中,PC与程序存储器得地址有 关,而DPTR与数据存储器得地址有关。作为地址寄存器使用时,PC -与DPTR都就是通过P0

20、与P2 口(作为16位地址 总线)输出得。但就是,PC得输出与ALE及PSEN有关;DPTR得输出,则与ALE、 RD及WR相联系.不同之处:PC只能作为1 6位寄存器对待,由于有自动加1得功能,故又称为计数器;DPTR可以作为16位寄存器对待,也可以作为两个8位寄存器对待。PC就是不可以访问得,有自己独特得变化方式,它得变化轨迹决定了程序执行 得流程;DPTR 就是可以访问得,如 MOV DPTR, #XXXXH, INC D P TP。23、89C51端口锁存器得“读一修改一写”操作与“读引脚”操作有何区别?答:指令系统中有些指令读锁存器得值,有些指令则读引脚上得值.读锁存器指令就是 从锁

21、存器中读取一个值并进行处理, 把处理后得值(原值或已修改后得值)重新写入 锁存器中。这类指令称为读-修改-写指令。对于读-修改-写指令。直接读锁存器而不就是读端口引脚,就是因为从引脚上读 出得数据不一定能真正反映锁存器得状态。单片机原理及接口技术课后习题答案第三章1、指令:CPU根据人得意图来执行某种操作得命令指令系统:一台计算机所能执行得全部指令集合机器语言:用二进制编码表示,计算机能直接识别与执行得语言汇编语言:用助记符、符号与数字来表示指令得程序语言高级语言:独立于机器得,在编程时不需要对机器结构及其指令系统有深入了解得通用 性语言2、见第1题3、简述89 5 1得汇编指令格式。答:操作

22、码 目得操作数,源操作数4、简述8 951得寻址方式与所能涉及得寻址空间。寻址方式寻址空间立即数寻址程序存储器ROM直接寻址片内RAM低12 8B、特殊功能寄存器寄存器寻址匸作寄存器 R0- R7、A、B、C、DPTR寄存器间接片内RAM低128B、序外RAM变址寻址程疗:存储器(A+P C,A+DPTR)相对寻址程序存储器2 56B范M (PC+偏移量)位寻址片内RAM得2 0 H2FH字节地址、部分S F R5、访问特殊功能寄存器与外数据存储器,应采用那些寻址方式?答:SFR:直接寻址,位寻址,寄存器寻址;片外RAM:寄存器间接寻址6、8951中已知(30H) =3 8H,请分析以下各就是

23、什么指令,说明源操作数得寻址方式以 及执行结果.A, 40H ;直接寻址(4011) -ARO,A;寄存器寻址(A) f ROPl, # OFOH ;立即数寻址OFO- P 1R 0,30H;直接寻址(30H) fDPTR, # 3 84 8H;立即数寻址4 OH, 38H;直接寻址(3811)RO, 30H;直接寻址(3011)PO, RO ;寄存器寻址(RO )MOVMOVMOVMOVMOVMOVMOVMOVMOVMOVMOV(RO)384 8 HDPTR -4011f ROf P 01 8H, #3 OH ;立即数寻址 3 OH- 1 8II寄存器间接寻址(R0) -A;直接寻址(Pl)

24、fP2(A) = 4 OH, (PO) =38H, (Pl)= (P2)=0F OH, (DPTR)= 3 8 4 8H, = 3 8H, (38H) =4 OH, (4 0 II)二40H, (4 8 H)二38H 右边就是单元A, ROP2, Pl最后结果:(R0)=3 8H,(1 8H) = 3 OH, (30H)注意:f左边就是内容,7、8 9 5 1片内高128字节得地址寻址要注意什么/?答: 用直接寻址,位寻址,寄存器寻址8、指出些列指令得木质?MOV A, DATA ;直接寻址乃字节1周期MOV oA, #DATA ;立即数寻址2字节I周期MOV oDATA1,DATA2;直接寻

25、址3字节2周期MOV 74H, #78H;立即数寻址3字节2周期如果想查某一指令得机器码,字节数或周期数可查阅书木后而得附录A9、设RO得内容分为32H, A得内容为48H,。.。请指出在执行下列程序段后上述各 单元内容得变化?oMOVoA, RO ; (RO) )=8 0 H-AMOV R0, 40H; (4 0 ID =08H- (RO)oMOV 4 OH,A。; (A)oMOV RO, #3511; 3 5Hf RO最后结果:(RO) =3511(A) =8011, (3211)=0 811, (4011 ) =80H10、如何访问SF R,可采用那些寻址方式?74H, #78H=80-

26、4 OH答:用直接寻址,位寻址,寄存器寻址11、如何访问片外RAM,可使用那些寻址方式?答:只能采用寄存器间接寻址(ffl MOVX指令)12、如何访问片内RAM,可使用那些寻址方式?答:低128字节:直接寻址,位寻址,寄存器间接寻址,寄存器寻址(R0R7)高128字节:直接寻址,位寻址,寄存器寻址1 3、如何访问片内外程序存储器,可使用那些寻址方式?答:采用变址寻址(用MOVC指令)14、说明十进制调整得原因与方法?答:压缩BCD码在进行加法运算时应逢十进一,而计算机只将其当作十六进制数处理,此时得到得结果不正确.用DA A指令调整(加0 6H, 60H, 66H)15、说明8951布尔机处

27、理机功能?A, # 1 7 H 17H, AA, ROA;8 3HA17II=03H-A;3 4HV03H=3 7H17H;O3II 37H=34H ;34H求反等于CBH答:用来进行位操作16、ANLORLX R LC PL0或SE T B EOH ; EOH就是累加器得地址所以(A)二CBH17、(1) SETB ACC、(2) CLR ACC、7CLR ACC、6CLR ACC、5CLR ACC、 4(3) CLR ACC、6CLR ACC、5CLR ACC、4CLR ACC、318、MOV 27H,R7MOV26H. R6MOV2 5H, R5MOV24 II,R4MOV23H, R3

28、MOV2 2H, R2MOV21H, R1MOV2 0 II, RO19. MO V 2FH, 2 0MOV2EH, 212DH. 22MOV20、编程,进行两个1 6位数得减法:6F5DH-13B4H,结果存入内部RAM得3 0与31H单元,30II存低八位。CLRCMOVA, #5DH;被减数得低8位一AMOVR2, #B4H;减数低8位fR2SUBBA, R2;被减数减去减数,差一AMOV30H, A;低8位结果-30HMOVA, # 6 F II;被减数得高8位fAMOVR2, # 1 3H:减数高8位fR2SUBBA, R2;被减数减去减数,差fAMOV31H, A;高8位结果f30

29、H注意:如果在您得程序中用到了进位位,在程序开始得时候要记得清0进位位2 1、编程,若累加器A满足下列条件,贝g程序转至LABEL存储单元设A中为无符号数。(1)AM10CJXEA, # 0 AH, LI;(A)与10比较,不等转L1LJMPLABEL;相等转LABELL I :JNC LABEL;(A)大丁 10,转 LAB E L或者:CLRCSUBBA. #0AIIJNCLABEL(2)A> 1 0CJNEA, #0AH, LI;(A)与10比较,不等转L1RET;相等结束LI: JNC LABEL;(A)大 T 10,转 LABELRET;(A)小于10,结束或者:CLR CLS

30、 UBB A, #0AHJNCLIRETL I :JNZ LABELR ET(3) AWl 0CJNEA, #OAII,L1;(A)与10比较,不等转L 1L2:LJMP LABEL;相等转LABE L;(A)小于1 0 ,转L2CA, ffOAIIL ABELLABELRET 或者: CLR SUBB JC JZ RET22、(SP)=23H, (PC) =34 1 2H 参瞧书上80页23、(SP)=27II, ( 2 6 II)=48H, (27 II)=23H, (PC ) =34 5611 参瞧书上7 9页2 4、不能。AC ALL就是短转指令,可调用得地址范围就是2 KB。在瞧这个

31、题得时候同时瞧一下AJM P指令.同时考虑调用指令ACALL与LCALL指令与 RET指令得关系。2 5、编程,查找内部RAM中2011-5 0H单元中就是否有0 AAH这一数据,若有则将 51h单元置为0 1H,如无,则将5 1H单元清零。MOV R2, #3 1H ;数据块长度fR2;数据块首地址f RO:待查找得数据一A;清进位位;待查找得数据就是0 A A II吗:就是,转L1;不就是,地址增1,指向下一个待查数据;数据块长度减1,不等于0 ,继续查找:等于0,未找到,0011-5 I HR2 , # 3 IHMOV RO, #2 OHLOOP: MOV A, ROCLR CSUBB

32、A, # 0 AAHJZ LII NC RODJNZ R2, LOOPMOV 51H, # 0 OHRET;找到,0 IHf 5 IHLI: MOV 5 I H. ttOlHRET26、编程查找内部RAM得2 OH- 5 0 H单元中出现0 OH得次数并将结果存入51H中。 ;数据块长度fR2#2 OH ;数据块首地址fRO;待查找得数据一A:不为0,转L1;为0, 00H个数增1;地址增1 ,指向下一个待查数据MOV R 2 , #31H MOV R 0 , LOOP: MOV A, ROJNZ LI INC 5 I HL I : I NC RODJNZ R2,LOOP RET:数据块长度减

33、1,不等于0,继续查找27、外部数据RAM中有一个数据块,首地址为SOURCE.要求将该数据传送到内部RAM 以DIST开头得区域在,直到遇到数字字符Y时结束。;源首地址一DPTR;目得首地址一ROMOV DPTR, SOURCERO, # D I ST A, DPTRRO, ADPTRROMOVLOOP: MOVXMOVINCI NC;指向下一个字符;传送一个字符CJNE A, #2 4H,传送下一个字符RET已知R3与R4中存有一个十六位得二进制数,高位在3中,低位在4中,编程求其LOOP;传送得就是“ $ ”字符吗?不就是,28、补,并存回原处。MOV A,R3ANLJZMOVCPLA,

34、L1A, R 4AADD A, #01HMO V R4 , AA, R3AA. #00HR 3 , A;取该数高8位一A#8 OH ;取出该数符号判断:就是正数,转LI;就是负数,将该数低8位一A;低8位取反;加1;低8位取反加1后fR4;将该数高8位一A;高8位取反;加上低8位加1时可能产生得进位;高8位取反加1后-R3MOVCPLADD CMOVLI: RET29、已知30H与31H中存有一个十六位得二进制数,高位在前,低位在后,编程将它们 乘2,并存回原处.CLR CMOV A, 31HRLC AMOV 3 III,MOV A, 3011RLC AMOV 3 OH,;清进位位C;取该数低

35、8位一A;带进位位左移I位;结果存回31H;取该数高8位一A;带进位位左移1位;结果存回30H30、内存中有两个4字节以压缩得BCD码形式存放得十进制数,一个放在3 0H- 3 3H 得单元中,一个放在4 0 H-4 3 H得单元中,编程求她们得与,结果放在30 II-3 3H得 单元中。MOV R2, #0 4H;字节长度一R2MOVMOVCLRLOOP : MOVRO, #30HRl, #4 0 HCA. RO;一个加数首地址f R0;另一个加数首地址一 R1;清进位位;取一个加数;两个加数带进位位相加;十进制调整;存放结果;指向下一个字节AD DC A, R 1DA AMOV RO, A

36、INC ROINC R1DJNZ R2,RET31、编程,把片外RAM从2000II开始存放得8个数传送到片内30H开始得单元中. MOV R2, #0 8 II ;数据块长度fR2MOV RO ,#3011;数据块目得地址f ROMOV DPTR, #200011;数据块源地址一DPT R;传送一个数据LOOP;数据块长度减1,不等于0 ,继续查找LOOP: MOVX A. DPTRMOV RO, AI NC DPTRINC RODJNZ R2, LOOPRET解:(1000H)=53II(100 3H) =52H(1 0 06H)=3 4(10 0 9H) =70H阅读下列程序说明其功能;

37、40II-R0;98Hf A;41II fRO;9 8H+ (41H) =4711 A;指向下一个数据;数据块长度减1,没传送完,继续传送35、(1001II) =5411(1004H) =5411II (1 0 07H)=3 0H(1 002II)=41H(1005II) =1 2H(I 008H)=00II36、MOVMOVINCADDINCMOVCL RRO, #4 OHA,ROROA, RORORO, AAADDC A, #0INC ROMOV RO, A功能:将4 0 II, 4;结果存入42H单元 :清A;进位位存入A;进位位存入4 3H1 H单元中得内容相加结果放在4 2H单元,

38、进位放在4 3H单元,(R0)=43H, (A) =1, (40H)=9 8H, (41H) =AFH, (42H) = 47H, (43H) =0 1 H37、同上题;F2HA;0 2HB;F2HX02H=E4HfA;积得低8位加上CCH-A;结果送62H;清A;积得高8位加进位位一A:结果送64H低8位再加上62H单元得内容放入63H,将结果得高8MOV A,6111MOV B, # 0 2 nMUL ABCLRADDCMOVADD A, 62H MOV 6311, AAA, B64H. A功能:将6111单元得内容乘2,位放在 6 4H 单元。(A)=02H, (B) =0 1H, (6

39、 1 H)二F2H, (62H)二CCII, (63H ) =BOH, (64H)=02II3 9、MOVORL A, #80HMOV XXH,A40、(2)M0VMOVXRLA, XX IIA, XXHR 0 , AA. RO第五章1、什么就是中断与中断系统?其主要功能就是什么?答:当CPU正在处理某件事情得时候,外部发生得某一件事件请求CPU迅速去处理,于就 是,CPU暂时中止当前得工作,转去处理所发生得事件,中断服务处理完该事件以后,再 回到原来被终止得地方,继续原来得工作。这种过程称为中断,实现这种功能得部件称 为中断系统。功能:(1) 使计算机具有实时处理能力,能对外界异步发生得事件

40、作出及时得处理(2 )完全消除了 CPU在查询方式中得等待现象,大大提高了 CPU得工作效率(3)实现实时控制2、试编写一段对中断系统初始化得程序,使之允许I NTO, INT1,TO,串行口中断,且使 TO中断为高优先级中断.IE, # 0 97II解:MOVMOV IP, #0 2 H3、在单片机中,中断能实现哪些功能?答:有三种功能:分时操作,实时处理,故障处理4、89C51共有哪些中断源?对其中端请求如何进行控制?答:(1 ) 89C5 1有如下中断源 :外部中断0请求,低电平有效 :外部中断1请求,低电平有效 TO:定时器、计数器0溢出中断请求 T1:定时器、计数器1溢出中断请求 T

41、X/RX:串行接口中断请求(2) 通过对特殊功能寄存器TCONs SCOX. IE、IP得各位进行置位或复位等操作,可 实现各种中断控制功能5、什么就是中断优先级?中断优先处理得原则就是什么?答:中断优先级就是CPU相应中断得先后顺序。原则:(1) 先响应优先级高得中断请求,再响应优先级低得(2 )如果一个中断请求已经被响应,同级得其它中断请求将被禁止(3) 如果同级得多个请求同时出现,则CPU通过内部硬件查询电路,按查询顺序确定应该响应哪个中断请求查询顺序:外部中断0-定时器0中断f外部中断1 f定时器1中断f串行接口中断6、说明外部中断请求得查询与响应过程。答:当CPU执行主程序第K条指令

42、,外设向CPU发出中断请求,CPU接到中断请求信号 并在本条指令执行完后,中断主程序得执行并保存断点地址,然后转去响应中断。CPU 在每个S5P 2期间顺序采样每个中断源,CP U在下一个机器周期S6期间按优先级顺序 查询中断标志,如果查询到某个中断标志为1,将在接下来得机器周期S1期间按优先级 进行中断处理,中断系统通过硬件自动将相应得中断矢量地址装入PC,以便进入相应得 中断服务程序中断服务完毕后,CPU返回到主程序第K+1条指令继续执行。1、8 9C5 1在什么条件下可响应中断?答: (3 )(4)(6 )有中断源发出中断请求中断中允许位EA=1、即CPU开中断申请中断得中断源得中断允许

43、位为1,即中断没有被屏蔽无同级或更高级中断正在服务当前指令周期己经结束若现行指令为RETI或访问IE或IP指令时,该指令以及紧接着得另一条指令己执行完毕8、简述8 9 C51单片机得中断响应过程。答:CPU在每个机器周期S5P2期间顺序采样每个中断源,CPU在下一个机器周期S 6期 间按优先级顺序查询中断标志,如查询到某个中断标志为1,将在接下来得机器周期S 1期间按优先级进行中断处理,中断系统通过硬件自动将相应得中断矢量地址装入PC, 以便进入相应得中断服务程序。一旦响应中断,89C51首先置位相应得中断“优先级 生效”触发器,然后由硬件执行一条长调用指令,把当前得PC值压入堆栈,以保护断

44、点,再将相应得中断服务得入口地址送入PC,于就是CPU接着从中断服务程序得入口处 开始执行对于有些中断源,CPU在响应中断后会自动清除中断标志.9、在89C51内存中,应如何安排程序区?答:主程序一般从0030H开始,主程序后一般就是子程序及中断服务程序在这个大家还 要清除各个中断得中断矢量地址。10、试述中断得作用及中断得全过程.答:作用:对外部异步发生得事件作出及时得处理过程:中断请求,中断响应,中断处理,中断返回11、当正在执行某一个中断源得中断服务程序时,如果有新得中断请求出现,试问在什 么情况下可响应新得中断请求?在什么情况下不能响应新得中断请求?答:(1)符合以下6个条件可响应新得

45、中断请求:R有中断源发出中断请求b )中断允许位EA=1,即CPU开中断C ) m请中断得中断源得中断允许位为1,即中断没有被屏蔽d)无同级或更高级中断正 在被服务e) 当前得指令周期己结束f) 若现行指令为RETI或访问IE或IP指令时,该指令以及紧接着得另一条指令已被 执行完1 2、89C51单片机外部中断源有几种触发中断请求得方法?如何实现中断请求?答:有两种方式:电平触发与边沿触发电平触发方式:CPU在每个机器周期得S5P2期间采样外部中断引脚得输入电平。若为 低电平,使IE1 (IE0)置“1”,申请中断;若为高电平,则IE1 (IE0)清零。边沿触发方式:CPU在每个机器周期S5P

46、2期间采样外部中断请求引脚得输入电平。如 果在相继得两个机器周期采样过程中,一个机器周期采样到外部中断请求为高电平,接 着下一个机器周期采样到外部中断请求为低电平,则使IE I (IE0)置“ 1 ”中请中 断;否则,I E1 (IE0 )置0。13、89C51单片机有五个中断源,但只能设置两个中断优先级,因此,在中断优先级安 排上受到一定得限制.试问以下几种中断优先顺序得安排(级别由高到低)就是否可能: 若可能,则应如何设置中断源得中断级别:否则,请简述不可能得理由。(1) 定时器0,定时器1 ,外中断0,外中断1,串行口中断.可以,MOV IP, #0AH(2) 串行口中断,外中断0,定时

47、器0,外中断1 ,定时器1 . 可以,MOV IP, #10H(3) 外中断0,定时器1,外中断1,定时器0,串行口中断。不可以,只能设置一级高级优先级,如果将INTO, T1设置为高级,而TO级别 高 丁inti、外中断0 ,外中断1 ,串行口中断,定时器0,定时器1。 可以,MOV IP,(4)#1511串行口中断,定时器0,外中断0,外中断1,定时器1.外中断0,外中断1,定时器0,串行口中断,定时器1。不可以外中断0,定时器1,定时器0,外中断1,串行口中断。不可以(5)(6)可以,MOV IP,(7)#091114、89C51各中断源得中断标志就是如何产生得?又就是如何清0得? CP

48、U响应中断时,中断入口地址各就是多少?答:各中断标志得产生与清“0”如下:(1)外部中断类外部中断就是由外部原因引起得,可以通过两个固定引脚,即外部中断0与外部中断1 输入信号。外部中断0请求信号,由P3、2脚输入。通过IT0来决定中断请求信号就是低电平有效 还就是下跳变有效。一旦输入信号有效,则向CPU申请中断,并且使IE 0=1。硬件复位。 外部中断1请求信号,功能与用法类似外部中断0(2 )定时中断类定时中断就是为满足定时或计数溢出处理需要而设置得。当定时器/计数器中得计数结 构发生计数溢出得,即表明定时时间到或计数值己满,这时就以计数溢出信号作为中断 请求,去置位一个溢出标志位。这种中

49、断请求就是在单片机芯片内部发生得,无需在芯 片上设置引入端,但在计数方式时,中断源可以由外部引入。TF0 :定时器TO溢出中断请求。当定时器TO产生溢出时,定时器TO请求标志TFO = 1,请求中断处理。使用中断时由硬件复位,在查询方式下可由软件复位.TF1:定时器T1溢出中断请求。功能与用法类似定时器TO(3)串行口中断类串行口中断就是为串行数据得传送需要而设置得。串行中断请求也就是在单片机芯片内 部发生得,但当串行口作为接收端时,必须有一完整得串行帧数据从RI端引入芯片,才 可能引发中断。RI或TI:串行口中断请求。当接收或发送一串帧数据时,使内部串行口中断请求标志 RI或TI= I ,并

50、请求中断。响应后必须软件复位。CPU响应中断时,中断入口地址如下:中断源外部中断0定时器TO中断外部中断1定时器T1中断串行口中断入口地址0003HOOOBH0 013H00 1 BII0 0 2311 15、中断响应时间就是否为确定不变得?为什么?答:中断响应时间不就是确定不变得.由于C PU不就是在任何情况下对中断请求都予 以响应得;此外,不同得情况对中断响应得时间也就是不同得。下而以外部中断为例, 说明中断响应得时间.在侮个机器周期得S5P 2期间,端得电平被所存到TCON得IE0位,CPU在下一个机器 周期才会查询这些值。这时满足中断响应条件,下一条要执行得指令将就是一条硬件长 调用指

51、令“ LCALL",使程序转入中断矢量入口。调用木身要用2个机器周期,这样,从 外部中断请求有效到开始执行中断服务程序得第一条指令,至少需要3个机器周期,这 就是最短得响应时间。如果遇到中断受阻得情况,这中断响应时间会更长一些.例如,当一个同级或更高级得中 断服务程序正在进行,则附加得等待时间取决于正在进行得中断服务程序:如果正在执 行得一条指令还没有进行到最后一个机器周期,附加得等待时间为13个机器周期; 如果正在执行得就是RET I指令或者访问IE或IP得指令,则附加得等待时间在5个机 器周期内。若系统中只有一个中断源,则响应时间为38个机器周期.16、中断响应过程中,为什么通常

52、要保护现场?如何保护?答:因为一般主程序与中断服务程序都可能会用到累加器,P SW寄存器及其她一些寄 存器。CPU在进入中断服务程序后,用到上述寄存器时,就会破坏它原来存在寄存器中 得内容;一旦中断返回,将会造成主程序得混乱。因而在进入中断服务程序后,一般要 先保护现场,然后再执行中断处理程序,在返回主程序以前再恢复现场。保护方法一般就是把累加器、PSW寄存器及其她一些与主程序有关得寄存器压入堆栈。 在保护现场与恢复现场时,为了不使现场受到破坏或者造成混乱,一般规定此时CPU 不响应新得中断请求。这就要求在编写中断服务程序时,注意在保护现场之前要关中断, 在恢复现场之后开中断。如果在中断处理时允许有更高级得中断打断它,则在保护现场 之后再开中断,恢复现场之前关中断。17、清叙述中断响应得CPU操作过程,为什么说中断操作就是一个CPU得微查询过程? 答:在中断响应中,CPU要完成以下自主操作过程:a)置位相应得优先级状态触发器,以标明所响应中断得优先级别 b)中断源标志 清零(TI、RI除外)C)中断断点地址装入堆栈保护(不保护PSW)d)中断入口地址装入PC,以便使程序转到中断入口地址处在计算机内部,中断表现为CPU得微查询操作。8 9C51单片机中,CPU

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论