单片机原理及应用(曹克澄)课程课后习题答案Word版

上传人:优*** 文档编号:85933529 上传时间:2022-05-06 格式:DOC 页数:55 大小:412KB
收藏 版权申诉 举报 下载
单片机原理及应用(曹克澄)课程课后习题答案Word版_第1页
第1页 / 共55页
单片机原理及应用(曹克澄)课程课后习题答案Word版_第2页
第2页 / 共55页
单片机原理及应用(曹克澄)课程课后习题答案Word版_第3页
第3页 / 共55页
资源描述:

《单片机原理及应用(曹克澄)课程课后习题答案Word版》由会员分享,可在线阅读,更多相关《单片机原理及应用(曹克澄)课程课后习题答案Word版(55页珍藏版)》请在装配图网上搜索。

1、 单片机原理及应用习题答案第一章 基础知识1微型计算机主要由哪几部分组成?各部分有何功能?答:一台微型计算机由中央处理单元(CPU)、存储器、I/O接口及I/O设备等组成,相互之间通过三组总线(Bus):即地址总线AB、数据总线DB和控制总线CB来连接。CPU由运算器和控制器组成,运算器能够完成各种算术运算和逻辑运算操作,控制器用于控制计算机进行各种操作。存储器是计算机系统中的“记忆”装置,其功能是存放程序和数据。按其功能可分为RAM和ROM。输入/输出(I/O)接口是CPU与外部设备进行信息交换的部件。总线是将CPU、存储器和I/O接口等相对独立的功能部件连接起来,并传送信息的公共通道。2.

2、 将下列十进制数分别转换成为二进制数,十六进制数和BCD码数的形式:100,64,78,80解:1)100=1100100B=64H=0001 0000 0000BCD; 2)64=1000000B=40H=0110 0100BCD; 3)78=1001110B=4EH=0111 1000BCD。H=3. 写出下列十六进制无符号数对应的十进制数和二进制: 0D5H,64H,2CH,4FEH解:1)0D5H=213=11010101B;2) 64H=100=1100100B;3) 2CH=44=101100B;4) 4FEH=1278=10011111110B。4. 写出下列十进制数对应的二进制

3、原码、反码和补码:+35,+50,-10,-20解:1) 35(23H)原=(23H)反=(23H)补; 2) 50(32H)原=(32H)反=(32H)补;3) 10(8AH)原(0F5H)反(0F6H)补;整理为word格式4) 20(94H)原(0EBH)反(0ECH)补;5. 根据给定的原码、反码、补码求真值。1) (0CBH)原=(-75)真值; 2) (8BH)反=(-116)真值; 3) (9BH)补=(-101)真值; 4) (6BH)补=(+107)真值;解:1) (0CBH)原=(-75)真值; 2) (8BH)反=(-116)真值; 3) (9BH)补=(-101)真值;

4、 4) (6BH)补=(+107)真值;6. 试分别判断下列各组数据大小?1)A=0.011BB=0.011 C=0.011H2)A=1001BB=1001C=1001H解:1)A=0.011B=02-1+12-2+12-3=0.25+0.125=0.375;B=0.011C=0.011H=016-1+116-2+116-3=0.004150390625所以:ABC2)A=1001B=9;B=1001;C=1001H=4097所以:ABC7.先将下列各组数据转换为补码表示的带符号数,然后用进行补码运算,再将结果还原成原码,并写出对应的十进制数检验结果是否正确。1) (74)412) (74)4

5、1解:根据补码定义有:74(0B6H)补,41(29H)补,41(0D7H)补1)(74)+41补(74)补+(41)补(0B6H29H)补(0DFH)补(33)真值十进制数运算:(74)+4133所以:二者运算结果相同。2)(74)41补(74)补+(41)补(0B6H0D7H)补(8DH)补 (115)真值十进制数运算:(74)41=115所以:二者运算结果相同。整理为word格式8.何谓单片机?单片机有何特点? 答:单片机(Single Chip Microcomputer)是指把CPU、RAM、ROM、定时器/计数器以及I/O接口电路等主要部件集成在一块半导体芯片上的微型计算机。单片机

6、在控制应用领域中的特点:(1)体积小、结构简单、可靠性高;(2)控制功能强;(3)低电压、低功耗;(4)优异的性价比。9.单片机内部ROM的配置有几种形式?答:单片机片内ROM的配置状态可分四种:(1)片内掩膜(Mask)ROM型单片机(如8051),适合于定型大批量应用产品的生产;(2)片内EPROM型单片机(如8751),适合于研制产品样机;(3)片内无ROM型单片机(如8031),需外接EPROM,单片机扩展灵活,适用于研制新产品;(4)EEPROM(或Flash ROM)型单片机(如89C51),内部程序存储器电可擦除,使用更方便。整理为word格式第2章 MCS-51系列单片机的结构

7、和时序18051单片机内包含哪些主要功能部件?各有什么功能?答:8051单片机是一个完整的单片微型计算机。它包括以下功能部件:(1)1个8位CPU;(2)片内4KB的程序存储器ROM;(3)片内128B的数据存储器RAM;(4)可寻址外部程序存储器和数据存储器空间各64KB的控制电路;(5)21个特殊功能寄存器SFR;(6)4个8位并行I/O口P0P3,共32根I/O线;(7)1个全双工的串行口;(8)2个16位定时器/计数器;(9)5个中断源,有2个优先级嵌套中断结构;(10)片内振荡器及时钟电路。2.8051单片机的信号有何功能?8031的引脚应如何处理,为什么?答:(1) 是访问外部程序

8、存储器ROM的控制信号。当为低电平(接地)时,CPU只执行外部程序存储器中的程序。当为高电平且PC值小于0FFFH(4K)时,CPU执行内部程序存储器的程序,但当PC的值超出4K时(对8051/8751/8951)将自动转去执行片外程序存储器内的程序。8031单片机无片内ROM的,必须外部扩展程序存储器,因此,8031的必须接地(低电平)。3MCS-51单片机的P0P3口各有什么特点?答:MCS-51单片机有P0、P1、P2、P3四个双向的8位并行I/O口,每个端口可以按字节输入或输出,每一条I/O线也可以单独用作输入或输出(即按位进行输入或输出)。每个端口都是由一个锁存器(即特殊功能寄存器P

9、0P3),一个输出驱动器和两个(P3口为3个)输入缓冲器组成。并行I/O口作输出时数据可以锁存,作输入时数据可以缓冲,但它们又各具特点。(1)P0口和P2口构成MCS-51单片机的16位地址总线,P0口还是8位的数据总线。P3口多用于第二功能输入或输出。通常只有P1口用于一般输入/输出。P3口各位的第二功能整理为word格式P3口引脚第二功能P3口引脚第二功能P3.0RXD(串行输入端)P3.4T0(定时器0的外部输入)P3.1TXD(串行输出端)P3.5T1(定时器1的外部输入)P3.2(外部中断0输入)P3.6(片外数据存储器写选通控制输出)P3.3(外部中断1输入)P3.7(片外数据存储

10、器读选通控制输出)(2)系统复位后,P0P3口的32个管脚均输出高电平,因此在系统的设计过程中,应保证这些管脚控制的外设不会因为系统复位而发生误动作。(3)P0P3口输出级的电路结构有所不同。P0口是三态输出,其每个管脚均可以驱动8个LSTTL输入,而P1P3口的输出级均有上拉电阻,每个管脚可驱动4个LSTTL输入。(4)每个并行口,可定义一部分管脚为输入脚,另一部分管脚为输出脚,没有使用的管脚可以悬空。4.简述8051单片机存储器的组织结构和片内RAM的地址空间分配。答:8051单片机的存储器包括程序存储器和数据存储器,从用户使用的角度可分为三个逻辑地址空间:(1)片内、片外统一编址的64K

11、B程序存储器地址空间0000H0FFFFH;(2)64KB的外部数据存储器或扩展I/O口地址空间0000H0FFFFH;(3) 256B的片内数据存储器地址空间00HFFH(包括低128B的内部RAM地址00H7FH和高128B的特殊功能寄存器地址空间,21个SFR离散地分布在这个区域)。内部RAM共有128个单元,根据用途可划分为工作寄存器区、位寻址区和通用RAM区,各区域的特性如下:(1)工作寄存器区(00H1FH) 寄存器区32个单元共分4个组,每个组有8个8位的寄存器R0R7。在任何时刻,四个组中只能有一组可以成为当前工作寄存器组使用,其他三组作为一般的内部RAM使用。当前工作寄存器组

12、由程序状态字寄存器PSW的RS0和RS1两位的状态来决定。(2)位寻址区( 20H2FH)共16个单元,每个单元有8个位,每个位都有一个位地址,编号为00H7FH,位寻址区的16个单元也可以按字节寻址,作为一般的内部RAM使用。(3)通用RAM区(30H7FH) 这部分存储空间作为一般的内部RAM区或堆栈区,CPU只能按字节方式寻址。5.8051单片机有哪些特殊功能寄存器?整理为word格式答:8051单片机有21个8位的特殊功能寄存器(SFR),它们的地址离散地分部在内部数据存储器的80HFFH地址空间。在8051单片机结构中,21个SFR在物理上是分散在片内各功能部件中: (1)CPU的中

13、SFR:Acc、B、PSW、SP和DPTR(16位寄存器,由DPH和DPL组成);(2)定时/计数器单元中的寄存器:TMOD、TCON、T0(16位寄存器,由TH0和TL0组成)和T1(16位寄存器,由TH1和TL1组成);(3)并行I/O口寄存器:P0、P1、P2和P3;(4)中断系统内的寄存器:IE和IP;(5)串行端口中的寄存器:SCON、SBUF和PCON。6程序计数器PC的功能和特点?答:程序计数器PC是一个16位的专用寄存器,用来存放即将要执行的指令地址,可对64KB的程序存储器直接寻址。它具有自动加1功能,当CPU要取指令时,PC的内容送地址总线上,从存储器中取出指令后,PC内容

14、则自动加1,指向下一条指令,从而保证程序按顺序执行。PC虽然也是CPU内部的一个寄存器,但它在物理结构上是独立的,没有地址,是不可寻址的,用户无法对它进行直接读写,不属特殊功能寄存器。7什么叫堆栈?堆栈指针SP的作用是什么?8051单片机堆栈的最大容量是多少字节?答:堆栈是按照“先进后出,后进先出”的原则来存取数据的一个内部RAM区域,这个存储器区域的一端是固定的(栈底),另一端是活动的(栈顶),每个存储单元是不能按字节任意访问的。堆栈指针SP始终指向栈顶单元,栈顶随着数据入栈和出栈上下浮动。8051单片机堆栈的最大容量是128字节。88051单片机是如何确定和改变当前工作寄存器组?答:在任何

15、时刻,8051单片机的四个工作寄存器组中只能有一组可以成为当前工作寄存器组使用,其他三组作为一般的内部RAM使用。当前工作寄存器组由程序状态字寄存器PSW的RS0和RS1两位的状态来决定,如表所示。当前工作寄存器组的选择RS1RS0被选寄存器组寄存器R0R7的地址000组00H07H011组08H0FH102组10H17H113组18H1FH整理为word格式根据需要,用户可以利用传送指令或位操作指令改变RS1和RS0的内容来选择不同的工作寄存器组。9单片机复位后,CPU使用了哪一组工作寄存器?工作寄存器R0R7对应的单元地址是什么?答:单片机复位后,RS1和RS0都为0,CPU选中第0组作为

16、当前工作寄存器组,工作寄存器R0R7对应的单元地址是00H07H。10程序状态字寄存器PSW的作用是什么?各位的作用是什么?答:PSW是一个8位的特殊功能寄存器,由一些标志位组成,用于存放程序运行中的各种状态信息。它可以进行位寻址。各位的作用如下:Cy:进位标志位。在进行加(或减)法运算时,若操作结果的最高位(D7位)有进位(或借位)时,Cy由硬件置1,否则Cy清0。在进行位操作时,Cy又是位累加器,指令助记符用C表示。AC:辅助进位标志位。在进行加(或减)运算时,若操作结果的低半字节(D3位)向高半字节产生进位(或借位)时,AC位将由硬件自动置1,否则AC位清0。F0:用户标志位。用户根据需

17、要对F0置位或复位,作为软件标志。RS1和RS0:工作寄存器组选择控制位。由用户用软件改变RS1和RS0的状态,以选择内RAM中的哪组工作寄存器为当前工作寄存器组。OV:溢出标志位。当进行补码运算时,运算结果超出128127范围时,产生溢出,则OV自动置1,否则OV清0。PSW.1:保留位。8051中未定义。P:奇偶校验标志位。每条指令执行完后,该位始终跟踪累加器A中1的数目的奇偶性。如果A中有奇数个1,则P1;否则P0。11什么是时钟周期、机器周期和指令周期?答:(1)时钟周期(又称为振荡周期)是指振荡器产生一个振荡脉冲信号所用的时间,是振荡频率的倒数,称为拍节。(2)机器周期是指CPU完成

18、某一个规定操作所需的时间,8051单片机的一个机器周期包含6个状态,并依次表示为S1S6,每个状态分为2个节拍。因此一个机器周期包含12个时钟周期(振荡周期),依次表示为:S1P1、S1P2、S2P1、S6P1、S6P2。(3)指令周期是指CPU执行一条指令所需要的时间称为指令周期。MCS-51单片机指令周期根据指令的不同,可包含有1或2或4个机器周期。128051单片机复位后寄存器PC、A、PSW、SP 、P0P3的状态各是什么?复位后内部RAM中的数据有何影响?整理为word格式答:8051单片机复位后PC为0000H,A和PSW均为00H,SP为07H,P0P3均为FFH。单片机的复位不

19、影响内部RAM的状态(包括工作寄存器Rn )。1380C51如何进入节电工作方式?答:只有CHMOS型单片机(如80C51)才有这种工作方式,有两种节电方式,即待机方式和掉电保护方式。由片内SFR中的电源控制寄存器PCON的低4位来控制待机和掉电两种方式,其格式如下:位D7D6D5D4D3D2D1D0位名称SMODGF1GF0PDIDL(1)IDL:待机方式位。若IDL1,进入待机方式;(2)PD:掉电方式位。若PD1,进入掉电方式;当PD和IDL同时为1,则先进入掉电工作方式。复位后,PCON中有定义的位均为0。整理为word格式第3章 MCS-51系列单片机指令系统1简述汇编指令格式。答:

20、汇编语言的指令格式一般如下:标号:操作码第一操作数,第二操作数,第三操作数;注释其中:带有方括号的部分代表可选项。标号:是表示该指令的符号地位,可以根据需要进行设置。标号以英文字母开始的16个字母或数字组成的字符串表示,并以“:”结尾。操作码:是表示指令的操作功能,用助记符表示。每条指令都有操作码,是指令的核心部分。操作数:表示参与传送、运算的数据或数据地址。这里的操作数不一定就是直接参与运算或传送的,而应根据操作数的寻址方式,寻找出真正参与运算或传送的数据。二个或二个以上操作数之间用“,”间隔。注释:用来解释该条指令或一段程序的功能,便于对指令或程序的阅读理解。注释以“;”为开始,注释部分对

21、程序的执行没有影响。2什么叫寻址方式?在MCS51系列单片机指令系统中,主要有哪几种寻址方式?试分别举例说明。答:寻址就是寻找操作数的地址,寻找操作数地址的方式,称为操作数地址的寻址方式,简称寻址方式。在MCS51系列单片机指令系统中,主要的寻址方式有:(1)立即寻址方式,指令如:MOVA,67H;(2)立即寻址方式,指令如:MOVA,66H;(3)寄存器寻址方,指令如:MOVA,R3;(4)寄存器间接寻址方式,指令如:MOVA,R1;整理为word格式(5)变址寻址方式,指令如:MOVCA,ADPTR;(6)相对寻址方式,指令如:SJMP30H;(7)位寻址方式,指令如:MOVACC.3,C

22、y3试说明下列指令中划线部分的寻址方式。MOVA,R0ADDA,36HMOVCA,APCDJNZR2,relSETBRS1CLRAMOV45H,ACLRC解:第1条为寄存间接寻址方式;第2条指令为立即寻址方式;第3条指令为变址寻址方式;第4条指令为相对寻址方式,第5条指令为位寻址方式,第6条指令为寄存器寻址,第6条指令为直接寻址方式,第7条指令为位寻址方式。4设A9BH,R030H,内RAM的(30H)40H,(40H)6DH,分别执行下列指令,说明被真正传送的数据是多少?1)MOVA,40H2)MOV40H,R03)MOVA,30H4)MOVA,R05)MOVA,R0答:1)真正被传送的数据

23、是立即数40H。 2)真正被传送的数据是R0间址中(即30H单元中)的数据40H。 3)真正被 传送的数据是30H单元中的数据40H。 4)真正被传送的数据是R0间址中(即30H单元中)的数据40H。 5)真正被传送的数据是R0中的数据30H。5设A86H,R030H,R140H,内RAM的(30H)76H,(40H)6BH,执行下面程序:MOVA,40HMOVR0,AMOVA,R0MOVR1,A整理为word格式MOVR1,AMOVR1,70H后,A,R0,R1,(30H),(40H)解: MOVA,40H ;A=6BHMOVR0,A ;(R0)=(30H)=6BHMOVA,R0 ;A=30

24、HMOVR1,A ;(R1)=(40H)=30HMOVR1,A ;R1=30HMOVR1,70H ;(R1)=(30H)=70H所以:A30H,R030H,R130H,(30H)70H,(40H)30H6设A65H,R030H,R131H,R232H,内RAM的(30H)40H,(31H)50H,(32H)60H,(40H)70H,(50H)80H,执行下面程序:XCHDA,R1MOV40H,ASWAPAMOV50H,AXCHA,R2MOVR0,A后,A,R0,R1,R2,(30H),(31H),(32H),(40H),(50H)解: XCHDA,R1 ;A=60H,(R1)=(31H)=55

25、HMOV40H,A ;(40H)60HSWAPA ;A=06HMOV50H,A ;(50H)=06HXCHA,R2 ;A=32H,R2=06HMOVR0,A ;(R0)=(30H)=32H所以:A32H,R030H,R131H,R206H,(30H)32H,(31H)55H,(32H)60H,(40H)60H,(50H)06H7执行下面程序后,试问:A?ORG1000HMOVDPTR,1020HMOVA,03HMOVCA,ADPTRRET整理为word格式ORG1020HDB56H,78H,65H,29H,10H解: ORG1000HMOVDPTR,1020H ;DPTR=1020HMOVA,

26、03H ;A=03HMOVCA,ADPTR ;A=(1023H)=29HRETORG1020HDB56H,78H,65H,29H,10H所以:A=29H8试用数据传送指令来实现下列要求的数据传送。1)将R2中的内容送到R3中。2)将内RAM30H单元中的内容与外RAM2040H单元中的内容交换。3)将ROM2040H单元中的数据存放在内RAM50H单元中。4)将外RAM30H单元中的内容送到R2中。5)将R2与R3中的内容进行交换。6)将ROM2100H单元中内容送外RAM3165H单元中。解:1) MOV A,R2 MOV R3,A 2) MOV DPTR 2040H MOVX A,DPTR

27、 MOV R1,A MOV A,30H MOVX DPTR,A MOV 30H,R1 3) MOV A,#00H MOV DPTR,#2040H MOVC A,A+DPTR MOV 50H,A 4) MOV R0,#30H MOVX A,R0 MOV R2,A 5) XCH A,R2 XCH A,R3 XCH A,R2整理为word格式 6) MOV A,#00H MOV DPTR,#2100H MOVC A,A+DPTR MOV DPTR,#3165H MOVX DPTR,A 9设A7EH,R040H,(40H)9AH,B23H,Cy=1。分别执行下列指令后,试问:A?各标志位为什么状态?1

28、)ADDA,R02)ADDCA,R03)SWAPA4)XCHA,R05)INCA6)SUBBA,56H7)SUBBA,R08)RLCA9)RRA10)CPLA11)ANLA,R012)ORLA,8FH13)XRLA,40H14)ANL40H,A15)ORL40H,0F0H16)ANLA,0FH17)DECA18)MULAB19)DIVAB20)RRCA解:1)ADDA,R0 AA(R0)A(40H)7EH9AH18H,Cy1,AC1,OV0,P02)ADDCA,R0 AAR0Cy7EH40H10BFH,Cy0,AC0,OV1,P13)SWAPA A0E7H4)XCHA,R0整理为word格式

29、A(R0)(40H)9AH,(R0)(40H)A7EH,P05)INCA AA17EH17FH,P16)SUBBA,56H AA56HCy7EH56H127H,Cy0,AC0,OV0,P07)SUBBA,R0 AAR0Cy7EH40H13DH,Cy0,AC0,OV0,P18)RLCA A11111101B0FDH,Cy0,P19)RRA A00111111B3FH,P010)CPLA A81H,P011)ANLA,R0 AA(R0)A(40H)7EH9AH1AH,P112)ORLA,8FHAA8FH7EH8FH0FFH,P013)XRLA,40H AA(40H)7EH9AH0E4H,P014)

30、ANL40H,A (40H)(40H)A9AH7EH1AH,A7EH15)ORL40H,0F0H (40H)(40H)0F0H9AH0F0H0FAH,A7EH16)ANLA,0FH AA0FH7EH0FH0EH,P117)DECA AA17EH17DH,P018)MULAB AB7EH23H01111110B00100011B0001 0001 0011 1010B113AH B11H,A3AH,OV1,P019)DIVAB AB7EH23H0111 1110B0010 0011B0000 0011B余0001 0101B A03H,B15H,OV0,P020)RRCA A0BFH,Cy0,P

31、1整理为word格式10试编写程序,要求将内RAM30H4FH中的内容平移送到40H5FH中。解:(参考程序)START:MOV R0,#4FHMOV R1,#5FHMOV R2,#20HLOOP:MOV A,R0MOV R1,ADEC R0DEC R1DJNZ R2,LOOPEND 11试编写程序,将内RAM的30H4FH中的内容清零。解:(参考程序)START:MOV R0,#30HCLR AMOV R2,#20HLOOP:MOV R0,AINC R0DJNZ R2,LOOPEND12试编写程序,在内RAM的30H4FH中查找关键字0AH,若有,则将内RAM的50H单元置为01H,并将找到

32、的存放第一个关键字的单元地址存放在内RAM的52H单元中。解:(参考程序)START:MOV R0,#30HMOV R2,#20HMOV 50H,#00HLOOP1:CJNE R0,#0AH,LOOP2 MOV 50H,#01H MOV 52H,R0 SJMP LOOP3LOOP2:INC R0DJNZ R2,LOOP1LOOP3:END整理为word格式13在内RAM从30H到3FH单元中存放着符号数,要求统计正数、零、负数的个数,结果分别存放在内RAM的40H、41H、42H三个单元中。解:(参考程序)START:MOV R0,#30HMOV R2,#10HMOV 40H,#00HMOV

33、41H,#00HMOV 42H,#00HLOOP1:MOV A,R0 JNZ LOOP2 ;判断A是否为非0,非0转移 INC 41H ;零的个数统计量加1 SJMP LOOP4LOOP2:JB ACC.7,LOOP3 ;判断A是否为负数,是负数则转移INC 40H ;正数的个数统计量加1SJMP LOOP4LOOP3:INC 42H ;负数的个数统计量加1LOOP4:INC R0DJNZ R2,LOOP1END14分析执行下面各段程序的结果。(1)ORG1000H MOVA,34HADDA,78HDAARETA,OV,P,Cy,AC解: ORG1000HMOVA,34H ;A34HADDA,

34、78H ;AA78H34H78H0ACH,Cy=0,AC=0,OV=1,P=0DAA ;AA66H0ACH66H12H,Cy=1,AC=0,OV=0,P=0RET所以:A12H ,OV0 ,P0,Cy1,AC0(2) MOVSP,5FH整理为word格式MOVA,54HMOVB,78HPUSHAPUSHBPOPAPOPBRETA,B,SP解: MOVSP,5FH ;SP=5FHMOVA,54H ;A=54HMOVB,78H ;B=78HPUSHA ;SP=60H,(SP)=(60H)=54HPUSHB ;SP=61H,(SP)=(61H)=78HPOPA ;A=(SP)=(61H)=78H,S

35、P=60HPOPB ;B=(SP)=(60H)=54H,SP=5FHRET所以:A78H,B54H,SP5FH(3) MOVA,7DHADDA,6BHMOVR0,34HMOV34H,0BCHADDCA,R0XRLA,R0ORLA,34HMOVR0,ASWAPA XCHA,R0RETA,R0,(34H)解: MOVA,7DH ;A=7DH ADDA,6BH ;A=7DH6BH=0E8H,Cy=0 MOVR0,34H ;R0=34H MOV34H,0BCH ;(34H)=0BCH ADDCA,R0 ;A=A(R0)Cy=A(34H)Cy=0E8H0BCH0=0A4H,Cy=1整理为word格式 X

36、RLA,R0 ;A=AR0=0A4H34H=90H ORLA,34H ;A=A(34H)=90H0BCH=0BCH MOVR0,A ;(R0)=(34H)=A=0BCH SWAPA ;A=0CBH XCHA,R0 ;A=34H,R0=0CBHRET所以:A34H,R00CBH,(34H)0BCH(4)CLRCMOVA,55HMOVR0,23HLOOP1:ADDCA,R0JNCLOOP1RETA,R0解: CLRC ;Cy=0MOVA,55H ;A=55HMOVR0,23H ;R0=23HLOOP1:ADDCA,R0 ;(1)A=A+R0+Cy=78H,(2)A=9BH,(3)A=0BEH,(4

37、)A=0E1H ;(5)A=04H,Cy=1JNCLOOP1RETA04H,R023H(5) ORG2000HMOVA,00HMOVR2,09HLOOP1:ADDA,03HDAADJNZR2,LOOP1MOV30H,ARETA,R2,(30H)解: ORG2000HMOVA,00H ;A=00H整理为word格式MOVR2,09H ;R2=09HLOOP1:ADDA,03H ;(1)A=03H,(2)A=06H,(3)A=09H,(4)A=0CH,(5)DAA ;(1) A=03H,(2)A=06H,(3)A=09H,(4)A=12H,(5)DJNZR2,LOOP1;(1) R2=08H,(2

38、)R2=07H,(3)R2=06H,(4)R2=05H,(5)MOV30H,A ;(30H)=27HRETA27H ,R200H,(30H)27H15对3-14(1)、(5)题进行手工汇编。解:(1)源程序地址机器码ORG1000HMOVA,34H1000H74 34ADDA,78H1002H24 78DAA1004HD4RET1005H22 (5)源程序地址机器码ORG2000HMOVA,00H2000H74 00MOVR2,09H2002H7A 09LOOP1:ADDA,03H2004H24 03DAA2006HD4 DJNZR2,LOOP12007HDA FBMOV30H,A2009HF

39、5 30RET200BH22 16试编制能延时40ms的程序。解: 设fosc=12MHz,则机器周期为1us。参考程序整理为word格式START:MOV R0,#84H ;1个机器周期数,R0=132MOV R1,#96H ;1个机器周期数,R1=150LOOP1:DJNZ R1,LOOP1 ;2个机器周期数MOV R1,#64H ;1个机器周期数DJNZ R0,LOOP1 ;2个机器周期数RET ;2个机器周期数上述程序执行的机器周期数为:11(215012)132240000(个)所以上述程序执行的时间即为40ms。17试编制程序,实现123100?解:分析:进行十进制数加法,因此需要

40、进行BCD码调整,其中千位、百位数存放在31H单元,十位、个位数存放在30H单元中。 参考程序START:MOV A,#00H MOV R0,#01H MOV 31H,#00HLOOP1:ADD A,R0 DA A JNC LOOP2 INC 31HLOOP2:PUSH A MOV A,R0 ADD A,#01H DA A JC LOOP3 MOV R0,A POP A SJMP LOOP1LOOP3:POP AINC 31H MOV 30H,A END18在内RAM的30H3FH单元中存放着16个字节的无符号数,要求比较大小,并按从大到小顺序存放在内RAM的30H3FH单元中。解:参考程序整

41、理为word格式 START:MOV R0,#30H MOV R2,#0FH LOOP1:MOV A,R0 INC AMOV R1,A LOOP2:MOV A,R0 CLR C SUBB A,R1 JNC LOOP2 XCH A,R0 XCH A,R1 INC R1 CJNE R1,#40H,LOOP2 INC R0 DJNZ R2,LOOP1 END 19编制程序实现下列逻辑功能:Q解:参考程序START:X BIT P1.0Y BIT P1.1Z BIT P1.2Q BIT P1.3MOV C,YANL C,ZMOV F0,CMOV C,XANL C,/F0MOV F0,CMOV C,YA

42、NL C,/XANL C,/ZORL C,F0MOV Q,CEND整理为word格式20阅读下面程序,分析执行后的结果,并进行手工汇编。ORG0100HMOVA,67HSETBACC.7MOVC,ACC.2CPLAMOVACC.6,CCLRCSETBACC.0MOVACC.4,C解:(1)分析执行结果ORG0100HMOVA,67H ;A=67H=01100111BSETBACC.7 ;A=11100111BMOVC,ACC.2 ;Cy=1CPLA ;A=00011000BMOVACC.6,C ;A=01011000BCLRC ;Cy=0SETBACC.0 ;A=01011001BMOVACC

43、.4,C ;A=01001001B所以结果:A49H,Cy=0 (2)人工汇编源程序地址机器码ORG0100HMOVA,67H0100H74 67SETBACC.70102HD2 E7MOVC,ACC.20104HA2 E2CPLA0106HF4MOVACC.6,C0107H92 E6CLRC0109HC3SETBACC.0010AHD2 E0MOVACC.4,C010CH92 E4整理为word格式第4章 MCS-51系列单片机中断系统与定时器计数器1计算机与外部设备实现数据传送有哪些方式?答:在计算机系统中,CPU与I/O接口传送数据的控制方式主要有无条件传送方式、条件传送方式、中断方式和

44、存储器直接存取方式(DMA方式)等四种。2什么叫中断?采用中断方式有些优点?答:中断是计算机的CPU暂停正在执行的程序,转而执行提出中断请求的那个外部设备或事件的服务程序(即中断服务程序),待服务程序处理完毕后,再返回原来程序的过程。采用中断方式的优点:计算机引入中断技术,解决了CPU与外设的速度匹配问题,提高了CPU的工作效率,同时使计算机具有分时处理功能、实时处理功能、故障处理功能等。3中断响应的条件有哪些?简叙中断的响应步骤。答:中断响应的条件有:(1)有中断请求信号;(2)中断请求没有被屏蔽;(3)中断是开放的;(4)CPU在处理完现行指令后响应中断;同时还要具备:(1)CPU没有处理

45、同级或更高级中断;(2)正在执行的指令不是RETI、也不是访问IE和IP的指令。中断响应的步骤是:(1)关中断;(2)保存断点;(3)保护现场;(4)转入相应的中断服务程序;(5)恢复现场;(6)开中断;(7)中断返回。整理为word格式4在MCS51单片机系统中,有哪些中断源?响应这些中断的服务程序入口地址分别是多少?如何合理安排中断服务程序?答:在MCS51单片机系统中,中断源有:(1):外部中断0,中断请求信号由P3.2输入;(2)TF0:内部定时器/计数器0溢出中断;(3):外部中断1,中断请求信号同P3.3输入;(4)TF1:内部定时器/计数器1溢出中断;(5)TI或RI:串行口中断

46、请求,包括串行口接收中断和串行口发送中断。响应这些中断的服务程序入口地址安排:(1):0003H;(2)TF0:000BH;(3):0013H;(4)TF1:001BH;(5)TI或RI:0023H。在安排中断服务程序地址时,应该考虑中断服务程序的字节数,如果字节数小于等于8个字节,则直接存放在从规定的入口地址开始的空间中,如果字节数大于8个字节,则由于,各中断服务程序只有8个字节空间,不能占用其它中断服务程序的空间,因此在入口地址处放一条 LJMP XXXXH指令,真正的中断服务程序存放在以XXXXH开始的空间中。5在单片机复位后,IP和IE均为何值?这些值说明了什么?如果当前单片机系统只允

47、许开放和T0中断源,且要求、T1为高级中断源,其余为低级中断源,如何设置IP和IE的值?答:在单片机复位后,IP和IE均为00H。IP为00H,说明复位后,各中断的优先级均为低级优先级;IE为00H,说明复位后,禁止所有的中断源中断,CPU也处于禁止响应中断状态。如果当前单片机系统只允许开放和T0中断源,且要求、T1为高级中断源,其余为低级中断源,则设置IP和IE的值的指令如下(参考):MOV IP,#09H ;IP只能字节操作MOV IE,#83H ;IE还可能通过位操作指令实现END或MOV IP,#09H ;IP只能字节操作SETB ET0SETB EX0SETB EAEND6外部中断有

48、几种触发方式?如何选择? 答:外部中断有两种触发方式,一种是电平触发方式,另一种是下降沿触发方式。 如果设置为电平触发方式,则将TCON中的IT0或IT1清0,指令为:CLR IT0或CLR IT1;如果设置为下降沿触发方式,则将TCON中的IT0或IT1整理为word格式置1,指令为:SETB IT0或SETB IT1。7什么叫中断嵌套?答:如果CPU正在处理的是低级的中断请求,那么高级的中断请求可以使CPU暂停处理低级中断请求的中断服务程序,转而处理高级中断请求的中断服务程序,待处理完高级中断请求的中断服务程序后,再返回原低级中断请求的中断服务程序,这种情况称为中断嵌套。 8定时器0和定时

49、器1各有几种工作方式?简述之。答:定时器0的工作方式有方式0、方式1、方式2、方式3;定时器1的工作方式有方式0、方式1、方式2。工作方式0是13位定时计数器工作方式;工作方式1是16定时计数器工作方式;工作方式2是8位自动重装定时计数器工作方式;工作方式3仅限于定时器0,是两个8位定时计数器工作方式。9写出TMOD的结构、各位名称和作用。答:TMOD的结构:D7D6D5D4D3D2D1D0TMODGATEC/M1M0GATEC/M1M0(89H)定时器1方式字段定时器0方式字段各位的名称及作用如下:GATE:选通门控制位。当GATE=0时,由TRx启动Tx工作;当GATE=1时,由TRx和I

50、NTx共同启动Tx工作。C/T:定时器计数器选择位。当C/T=0时,定时器状态;当C/T=1时,计数器状态。M1、MO:工作方式选择位。当M1 M0=00时,方式0,13位定时计数器;当M1 M0=01时,方式1,16位定时计数器;当M1 M0=10时,方式2,8位自动重装定时计数器; 当M1 M0=11时,方式3,分二个8位定时计数器。10已知单片机系统时钟频率fosc=6MHz,若要求定时时间分别为0.1ms、1ms、10ms,定时器0工作在方式0、方式1、方式2情况下,计算定时初值TH0、TL0分别为多少?解:由于fosc=6MHz,所以机器周期为2us。(1)方式0:定时0.1ms:初

51、值2131002=8192-50=8142=11111110 01110B,所以:TH00FEH,TL00EH整理为word格式定时1ms:初值21310002=8192-500=7692=11110000 01100B,所以:TH00F0H,TL00CH定时10ms:初值213100002=8192-5000=3192=01100011 11000B,所以:TH063H,TL018H(2)方式1:定时0.1ms:初值2161002=65536-50=65486=11111111 11001110BFFCEH,所以:TH00FFH,TL00CEH定时1ms:初值21610002=65536-5

52、00=65036=11111110 00001100B=FE0CH,所以:TH00FEH,TL00CH定时10ms:初值216100002=65536-5000=60536=11101100 01111000B=EC78H,所以:TH00ECH,TL078H(2)方式2:定时0.1ms:初值281002=256-50=206=11001110BCEH,所以:TH00CEH,TL00CEH定时1ms:初值2810002=256-5000所以:在方式2时超出定时范围,不能定时1ms。定时10ms:初值28100002=256-50000所以:同理在方式2时不能定时10ms。11要求在P1.7引脚输

53、出周期为20ms的方波。设单片机系统时钟频率fosc=12MHz。试编写定时器初始化程序和中断服务程序,并指定程序入口地址。解:根据题意,由于fosc=12MHz,所以机器周期为1us;由于要产生周期为20ms的方波,因此定时时间为10ms。设定采用定时器0,工作方式为方式1,TR触发方式,则:TMOD=00H定时初值216100001=65536-10000=55536=01100011 11000B,TH0F0H,TL0C8H程序如下: ORG 0000H LJMP MAIN ORG 000BH LJMP IT0 ORG 0030HIT0:MOV TH0,#0F0H MOV TL0,#0C8H整理为word格式 CPL P1.7 RETI

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!