当前位置:文档之家› 单片机与微机原理及应用课后答案(张迎新等)电子工业出版社

单片机与微机原理及应用课后答案(张迎新等)电子工业出版社

单片机与微机原理及应用课后答案(张迎新等)电子工业出版社
单片机与微机原理及应用课后答案(张迎新等)电子工业出版社

第二章单片机结构及原理1、MCS-51 单片机内部包含哪些主要功能部件?它们的作用是什么?答:(1)一个8bit CPU 是微处理器的核心,是运算和逻辑计算的中心。(2)片内震荡器及时钟电路:提供标准时钟信号,所有动作都依据此进行。(3)4K ROM程序存贮器:存贮程序及常用表格。(4)128B RAM 数据存贮器:存贮一些中间变量和常数等。(5)两个16bit 定时器/计数器:完全硬件定时器(6)32 根可编程I/O 口线:标准8 位双向(4 个)I/O 接口,每一条I/O 线都能独立地作输入或输出。(7)一个可编程全双工串行口。(8)五个中断源。

2、什么是指令?什么是程序?答:指令是规定计算机执行某种操作的命令。程序是根据任务要求有序编排指令的集合。

3、如何认识89S51/52 存储器空间在物理结构上可以划分为 4 个空间,而在逻辑上又可以划分为3 个空间?答:89S51/52 存储器空间在物理结构上设有4个存储器空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。在逻辑上有3个存储器地址空间:片内、片外统一的64KB 程序存储器地址空间,片内256B数据存储器地址空间,片外64KB的数据存储器地址空间。

4、开机复位后,CPU 使用的是哪组工作寄存器?他们的地址是多少?CPU 如何确定和改变当前工作寄存器组?答:开机复位后,CPU 使用的是第0 组工作寄存器,地址为00H~07H,CPU 通过改变状态字寄存器PSW中的RS0 和RS1 来确定工作寄存器组。

5、什么是堆栈?堆栈有

何作用?在程序设计时,有时为什么要对堆栈指针SP 重新赋值?如果CPU 在操作中要使用两组工作寄存器,SP 应该多大?答:堆栈是一个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。堆栈指针SP复位后指向07H 单元,00H~1FH 为工作寄存器区,20H~2FH 为位寻址区,这些单元有其他功能,因此在程序设计时,需要对SP 重新赋值。如果CPU 在操作中要使用两组工作寄存器,SP 应该至少设置为0FH。6、89S51/52 的时钟周期、机器周期、指令周期是如何分配的?当振荡频率为8MHz 时,一个单片机周期为多少微秒?答:时钟周期为时钟脉冲频率的倒数,他是单片机中最基本的、最小的时间单位。机器周期是指完成一个基本操作所需要的时间,一个机器周期由12 个时钟周期组成。指令周期是执行一条指令所需要的时间,由若干个机器周期组成。若fosc=8MHz,则一个机器周期=1/8×12μ s=1.5μ s 7、89S51/52 扩展系统中,片外程序存储器和片外数据存储器共处同一地址空间为什么不会发生总线冲突?答:访问片外程序存储器和访问数据存储器使用不同的指令用来区分同一地址空间。8、程序状态字寄存器PSW的作用是什么?常用状态标志有哪些位?作用是什么?答:程序状态字PSW是8 位寄存器,用于存放程序运行的状态信息,PSW中各位状态通常是在指令执行的过程中自动形成的,但也可以由用户根据需要采用传送指令加以改变。各个标志位的意义如下:PSW.7(Cy):进位标志位。PSW.6(AC):

辅助进位标志位,又称为半进位标志位。PSW.5(F0):用户标志位。PSW.4、PSW.3(RS1 和RS0):寄存器组选择位。PSW.2(OV):溢出标志位。PSW.1(空缺位):此位未定义。PSW.0(P):奇偶校验位。9、位地址7CH 和字节地址7CH 有何区别?位地址7CH 具体在内存中什么位置?答:字节地址7CH 是片内数据存储器中的一个地址单元,该地址单元中可以存放8 位二进制数,位地址7CH 是内部数据存储器中位寻址区中的一位,该地址单元中可以存放 1 位二进制数。位地址7CH 具体在片内数据存储器字节地址为2FH 中的第4 位(2FH.4)。10、89S51/52 中4 个I/O 端口的作用是什么?89S51/52 的片外三总线是如何分配的?答:I/O 端口是单片机与外界联系的重要通道,实现与外部设备的信息的传输。总线分配:片外数据总(8根)通过P0 口输出,片外地址总线(16 根)通过P0 口(低8 位)和P2 口(高8 位)输出,片外控制总线(PSEN ,ALE ,RD ,WR ,EA)主要通过P3 口。11、89S51/52 中4 个I/O 端口在结构上有何异同?89S51/52 单片机的4个I/O 口在结构上是基本相同的,但又各具特点。这四个端口都是8位双向口,每个端口都包括一个锁存器、一个输出驱动器和输入缓冲器。在无片外扩展存储器的系统中,这四个端口的每一位都可以作为双向通用I/O 端口使用。在作为一般的通用I/O 输入时,都必须先向锁存器写入“1”,使输出驱动场效应管FET 截止,以免误读数据。各自特点如下:(1)P0 口为双向8 位三态I/O

口,它既可作为通用I/O 口,又可作为外部扩展时的数据总线及低8 位地址总线的分时复用口。作为通用I/O 口时,输出数据可以得到锁存,不需外接专用锁存器;输入数据可以得到缓冲,增加了数据输入的可靠性。每个引脚可驱动8 个TTL 负载。(2)P1 口为8 位准双向I/O 口,内部具有上拉电阻,一般作通用I/O 口使用,它的每一位都可以分别定义为输入线或输出线,作为输入时,锁存器必须置1。每个引脚可驱动4 个TTL 负载。(3)P2 口为8 位准双向I/O 口,内部具有上拉电阻,可直接连接外部I/O 设备。它与地址总线高8 位复用,可驱动4 个TTL 负载。一般作为外部扩展时的高8 位地址总线使用。(4)P3 口为8 位准双向I/O 口,内部具有上拉电阻,它是双功能复用口,每个引脚可驱动4 个TTL 负载。作为通用I/O 口时,功能与P1 口相同,常用第二功能。12、复位的作用是什么?有几种复位方法?复位后单片机的状态如何?答:复位是单片机的初始化操作。单片机在RST 引脚产生两个机器周期(即24 个时钟周期)以上的高电平即可实现复位。主要的复位方法有上电自动复位和按键手动复位两种。按键手动复位又分:按键电平复位和按键脉冲复位。

第三章第三章指令系统

1、简述下列名词术语的基本概念:指令、指令系统、程序、汇

编语言指令答:指令:规定单片机进行某种操作的命令称为指令。指令系统:单片机能够执行的各种指令的集合。程序:一系列指令的有序集合称为程序。汇编语言指令:用助记符形式来表示机器指令。

2、2、80C51 单片机有哪几种寻址方式?这几种寻址方式是如何寻址的?答:共7 种寻址方式,分别为:寄存器寻址,直接寻址,寄存器间接寻址,立即寻址,变址寻址,位寻址和相对寻址。寄存器寻址方式:由指令指出某一寄存器的内容做为操作数。直接寻址方式:指令中操作数直接以单元地址的形式给出。寄存器间接寻址方式:寄存器中存放的是操作数,而寄存器间接寻址方式,寄存器中存放的则是操作数的地址,即操作数是通过寄存器间接得到的。立即寻址方式:操作数在指令中直接给出。变址寻址方式:变址寻址是为了访问程序存储器中的数据和表格。MCS-51 的变址寻址是以DPTR 或PC作基址寄存器,以累加器A 作变址寄存器,并以两者内容相加形成的16? 位地址做为操作数地址,以达到访问数据和表格的目的。位寻址方式:指对片内RAM的位寻址区和某些可寻址的特殊功能寄存器进行位操作的寻址方式。相对寻址方式:相对寻址方式是为解决程序转移而专门设置的,为转移指令所采用。

3、要访问特殊功能寄存器和片外数据寄存器,应采用哪些寻址方式?答:访问特殊功能寄存器可以采用直接寻址、立即寻址、寄存器寻址和位寻址(针对可以进行位寻址的特殊功能寄存器)

方式。访问片外数据存储器可采用寄存器间接寻址方式。

4、80C51 单片机的指令系统可以分为哪几类?说明各指令的功能。答:51 单片机指令系统按功能可分为 5 类:(1)数据传送指令主要进行数据的传送、交换等;(2)算术运算指令主要进行基本的加减乘除运算;(3)逻辑运算指令主要实现逻辑运算与移位运算;(4)控制转移指令主要是实现对程序流程的控制;(5)位操作指令

5、外部数据传送指令有哪几条?有和区别?答:外部数据传送指令有读指令和写指令两类,每类指令的寻址范围不同,分别为:读外部存储器指令:MOVX A,@Ri ;寻址范围为256 字节MOVX A,@DPTR ;寻址范围为64K 字节写外部存储器指令:MOVX @Ri,A ;寻址范围为256 字节MOVX @DPTR,

A ;寻址范围为64K 字节

6、在89S51 片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H,请分别分析下段程序按序执行后的结果。MOV A,40H ;A=48H MOV R0,A ;R0=48H MOV P1,#0FFH ;P1=FFH MOV @R0,30H ;(48H)=38H MOV DPTR,#1246H ;DPTR=1246H MOV 40H,38H ;(40H)=40H MOV R0,30H ;R0=38H MOV 90H,R0 ;(90H)=38H MOV 48H,#30H ;(48H)=30H MOV A,@R0 ;A=40H MOV P2,P1 ;P2=38H

7、略

8、DA A 指令的作用是什么?怎样使用?答:对十进制BCD 数作加法时进行调整,当结果的低 4 位A0~A3>9,或半进位AC=1,则A0~A3+6,否则不加;当结果的高4 位A4~A7>9,或进位CY=1,则A4~A7+6,否则不加;这条指令是在进行BCD码加法运算时,跟在“ADD”和“ADDC”指令之后,用来对BCD 码的加法运算结果自动进行修正,使其仍为BCD 码表示形式。

9、试编程将片外数据存储器60H 中的内容传送到片内RAM54H 单元中。答:MOV R0,#60H MOVX A,@R0 MOV 54H,A

10、试编程将寄存器R7 的内容传送到R1 中去。答:MOV A,R7 MOV R1,A

11、已知当前PC 值为210H,请用两种方法将程序存储器2F0H 中的常数送入累加器A 中。答:(1)以程序计数器PC 作为基址寄存器MOV A,#0E0H MOVC A,@A+PC (2)以数据指针DPTR 作为基址寄存器MOV DPTR,#02F0H MOV A,#00H MOVC A,@A+DPTR

12、试说明下段程序中每条指令的作用,并分析当指令执行完后,R0 中的内容是什么?MOV R0,#0A7H ;R0=A7H,立即数送寄存器R0 XCH A,R0 ;A=A7H,累加器A 中的数据与R0 中的数据进行交换SWAP A ;A=7AH,累加器A 中的高低四位进行交换XCH A,R0 ;R0=7AH,数据交换回R0

13、请用两种方法实现累加器A 与寄存器B 的内容交换。答:(1)MOV R0,A MOV A,B MOV B,R0 (2)MOV R0,B XCH A,R0

14、试编程将片外RAM中40H 单元的内容与R1 的内容交换。答:MOV R0,#40H MOVX A,@R0 XCH A,R1 MOVX @R0,A

15、已知:A=0C9H,B=8DH,CY=1。执行指令ADDC A,B 结果如何?A=57H,CY=1,OV=1,AC=1,P=1 执行指令SUBB A,B 结果如何?A=3BH,CY=0,AC=1,OV=1

16、试编程将片外RAM中30H 和31H 单元中的内容相乘,结果存放在32H(低位)和33H(高位)单元中。答:MOV R0,#30H MOVX A,@R0 MOV B,A INC R0 MOVX A,@R0 MUL AB INC R0 MOVX @R0,A MOV A,B INC R0 MOVX @R0,A

17、17、试用3 种方法将累加器A 中的无符号数乘2. 答:(1)MOV R0,A ADD A,R0 (2)MOV B,#2 MUL AB (3)RL A

18、18、分析依次执行下列指令的结果:MOV 30H,#0A4H ;(30H)=A4H MOV A,#0D6H ;A=D6H MOV R0,#30H ;R0=30H MOV R2,#47H ;R2=47H ANL A,R2 ;A=46H ORL A,@R0 ;A=E6H SWAP A ;A=6EH CPL A ;A=91H XRL A,#0FFH ;A=6EH ORL 30H,A ;(30H)=EEH

19、19、求下列指令执行后,累加器A 及PSW中进位CY、奇偶位P 和溢出位OV 的值。(1)当A=5BH 时;ADD A,#8CH (2)当A=5BH 时;ANL A,#7AH (3)当A=5BH 时;XRL A,#7FH (4)当A=5BH,CY=1 时;SUBB A,#0E8H 答:(1)A=E7H,CY=1,P=0,OV=0 (2)A=5AH ,P=0 (3)A=24H ,P=0 (4)A=72H,CY=1,P=0,OV=0 20、把累加器A 中的低4 位数据送到外部数据存储器的2000H 单元。答:ANL A,#OFH MOV DPTR,#2000H MOVX @DPTR,A 21、试说明指令CJNE @R1,#7AH,10H 的作用,若本指令地址为250H,其转移地址是多少?答:指令作用:如果以R1 内容为地址的单元中的数据等于7AH,则程序顺序执行,否则转移后继续执行。若本指令地址为250H,则转移地址为250H+03H +10H= 263H。22、将累加器A 中的数据由0 递增,加到50,结果在累加器A 中。答:CLR A MOV R0,#50 L1: INC A DJNZ R0,L1 23、试说明压栈指令和弹栈指令的作用及执行过程。答:压栈(入栈或进栈)指令的作用是将数据存入堆栈中,其执行过程是先将堆栈指针SP 的内容加1,然后将直接地址单元中的数据压入SP 指向的单元中。若数据已推入堆栈,则SP 指向最后推入数据所在的存储单元(即指向栈顶)。弹栈(出栈)指令的作用是将数据从堆栈中取出,其执行过程为先将堆栈指针SP 所指出单元的内容送入直接寻址单元中,然后将SP 的内容减1,此时SP 指向新的栈顶。24、下述程序执行后,

SP=?,A=?,B=?。ORG 201H MOV SP,#40H MOV A,#30H LCALL 250H ;下条指令地址208H 送41H、42H,SP=42H ADD A,#10H MOV B,A ;地址为20AH L1: SJMP L1 ORG 250H MOV DPTR,#20AH PUSH DPL ;SP+1=43H,DPL→(43H) PUSH DPH ;SP+1=44H,DPH→(44H) RET ;20AH→PC 答:上述程序执行后,SP=42H,A=30H,B=30H。25、发光二极管点亮规律:先是第1 和第8 个亮,延时一段时间后,第2 和第7 个亮,延时后,再是第3 和第6 个亮,延时后,最后是第4 和第5 个点亮,延时后循环。26、若系统晶振频率为6MHz,求子程序DELAY 的延时时间,若想加长或缩短时间,应该怎样修改?答:DELAY: MOV R2,#0FAH L1: MOV R3,#0FAH L2: DJNZ R3,L2 DJNZ R2,L1 RET 总时间计算:T=4μ s+(250×4μ s+4μ s)×250+4μ s=251.008ms 估算:T=250×4μ s×250=250ms 若想加长延时时间,可以增加循环次数或再加一重循环;若想减小延时时间,可以减少循环次数或较少一重循环。27、P1 口连接8 个共阳极连接的发光二极管,是编制灯亮移位程序。答:MOV A,#0FEH L1: MOV P1,A RL A LCALL DELAY ;DELAY 子程序同上题SJMP L1 28、试编一程序,将外部数据存储器2100H 单元中的高4 位置“1”,其余位清“0”。答:MOV DPTR,#2100H MOVX A,@DPTR ORL A,#0F0H ANL A,#0F0H MOVX @DPTR,A 29、试编程将片内数据存储器40H 单元的第0 为和第7 位置1,其余取反。答:

MOV A,40H CPL A SETB ACC.0 SETB ACC.7 MOV 40H,A 30、将A.5 与80H 位相与的结果,通过P1.4 输出。MOV C,80H ANL C,ACC.5 MOV P1.4,C 31、请用位操作指令,求下列逻辑方程。(1)MOV C,B.0 ORL C,P2.1 ANL C,ACC.0 ORL C,/P3.2 MOV P1.7,C (2)MOV C,P1.3 ANL C,ACC.2 MOV 20H,C MOV C,B.5 ANL C,/P1.1 ORL C,20H MOV PSW.5,C (3)MOV C,B.4 ANL C,/P1.5 MOV 20H,C MOV C,P1.0 ANL C,/ACC.7 ORL C,20H MOV P2.3,C

第四章汇编语言程序设计1、编程将片内40H~60H 单元中的内容送到以3000H 为首的存储区内。答:MOV R1,#40H MOV R2,#21H MOV DPTR,#3000H L1: MOV A,@R1 MOVX @DPTR,A INC R1 INC DPTR DJNZ R2,L1 2、编程计算下列算式的程序(1)23H+45H+ABH+03H= MOV A,#23H ADD A,#45H ADD A,#0ABH XCH A,B ;溢出处理ADDC A,#00H XCH A,B ADD A,#03H ;A 中为结果低位,B 中为高位(2)CDH+15H-38H-46H= MOV A,#0CDH ADD A,#15H SUBB A,#38H SUBB A,#46H (3)1234H+8347H= MOV A,#34H ADD A,#47H MOV 30H,A MOV A,#12H ADDC A,#83H MOV 31,A ;30H 存结果低位,31H 存结果高位(4)AB123H-43ADCH= CLR C MOV A,#23H SUBB A,DCH MOV

30H,A MOV A,#0B1H SUBB A,#3AH MOV 31H,A MOV A,#0AH SUBB A,,#04H MOV 32H,A ;30H 为低位,32H 为高位3、设有两个4 位BCD 码,分别存放在23H、22H 单元和33H、32H 单元中,求他们的和,并送入43H、42H 单元中(低位在低字节,高位在高字节)。答:MOV A,22H ADD A,32H DA A MOV 42H,A MOV A,23H ADDC A,33H DA A MOV 43H,A 4、略5、编程计算片内RAM区50H~59H 单元中数的平均值,结果存放在5AH 中。答:MOV R0,#8 MOV R1,#50H MOV A,#00H L1: ADD A,@R1 INC R1 DJNZ R0,L1 MOV B,#8 DIV AB MOV 5AH,A 6、编写计算下式的程序。设乘积和平方结果均小于255。a 、b 值分别存在片外3001H 和3002H 单元中,结果存于片外3000H 单元中。(1)MOV DPTR,#3001H MOVX A,@DPTR MOV 30H,A ;a 暂存30H 单元INC DPL MOVX A,@DPTR CJNE A,30H,L1 ;是否a=b MOV A,#25 SJMP SA VE L1: JNC L2 MOV B,30H MUL AB SJMP SA VE L2: MOV B,A MOV A,30H DIV AB SA VE: MOV DPTR,#3000H MOVX @DPRT,A (2)MOV DPTR,#3001H MOVX A,@DPTR MOV 30H,A INC DPTR MOVX A,@DPTR ADD A,30H MOV B,A MUL AB ;(a+b)2 MOV 31H,A CJNE A,#10,L1 SJMP SA VE L1: JC L2 CLR C SUBB A,#10 SJMP SA VE L2: ADD A,#10 SA VE: MOV DPTR,#3000H MOVC @DPTR,A 7、设有两个长度均为15 的数组,

分别存放在以200H 和210H 为首地址的存储区中,试编程求其对应项之和,结果存放到以220H 为首地址的存储区中。答:MOV DPH,#02H MOV R1,#15 MOV R2,#00H ;数组1 首地址低位MOV R3,#10H ;数组2 首地址低位MOV R4,#20H ;和首地址低位L1: MOV DPL,R2 MOVX A,@DPTR MOV R1,A MOV DPL,R3 MOVX A,@DPTR ADD A,R1 MOV DPL,R4 MOVX @DTPR,A INC R2 INC R3 INC R4 DJNZ R1,L1 SJMP $ 8、设有100 个无符号数,连续存放在以2000H 为首地址的存储区中,试编程统计正数、负数和零的个数。答:MOV 30H,#00H ;正数计数器MOV 31H,#00H ;负数计数器MOV 32H,#00H ;零计数器MOV DPTR,#2000H MOV R1,#100 L4: MOVX A,@DPTR INC DPTR CJNE A,#0,L1 INC 32H SJMP L2 L1: JC L3 INC 30H SJMP L2 L3: INC 31H L2: DJNZ R1,L4 SJMP $ 9、将片外数据存储器地址为1000H~1030H 的数据块,全部搬迁到片内RAM 30H~60H 中,并将原数据块区域全部清零。答:MOV R0,#30H MOV R2,#31H MOV DPTR ,#1000H LP: MOVX A,@DPTR MOV @R0,A AND A,#00H MOVX @DPTR,A INC R0 INC DPTR DJNZ R2,LP SJMP $ 10、试编写一子程序,是R1、R0 指向的两个片外RAM连续单元中的高 4 位二进制数,合并成一个字节,装入累加器A 中。已知R0 指向低地址,并要求该单元高四位放在A 中高四位。答:MOVX A,@R1 ANL A,

#0F0H SWAP A MOV R2,A MOVX A,@R0 ANL A,#0F0H ORL A,R2 11、试编程把以2040H 为首地址的连续50 个单元的无符号数按降序排列,存放到以3000H为首地址的存储区中。答:MOV R2,#50 MOV R3,#20H MOV R4,#40H ;源地址MOV R5,#30H MOV R6,#00H ;目的地址SEND: MOV DPH,R3 ;SEND 将2040H 数据块移入3000H 存储区MOV DPL,R4 MOVX A,@DPTR INC DPTR MOV R3,DPH MOV R4,DPL MOV DPH,R5 MOV DPL,R6 MOVX @DPTR,A INC DPTR MOV R5,DPH MOV R6,DPL DJNZ R2,SEND MOV R2,#49 ;重复次数CMP1: MOV DPTR,#3000H MOV R3,#49 ;比较次数CMP2: MOVX A,@DPTR MOV B,A INC DPTR MOVX A,@DPTR CJNE A,B,L1 L1: JC NOMOVE MOV 30H,A CLR C MOV A,DPL SUBB A,#01H MOV DPL,A MOV A,30H MOVX @DPTR,A INC DPTR MOV A,B MOVX @DPTR,A NOMOVE: DJNZ R3,CMP2 ;50 个数重复一遍?DJNZ R2,CMP1 ;排序结束?LJMP $ 12、试编一查表程序,从首地址为2000H,长度为100 的数据块中找出ASCII 码为A,将其地址送到20A0H 和20A1H 单元中。答:MOV DPTR,#2000H MOV R2,#100 GO_ON: CLR A MOVC A,@A+DPTR CJNE A,#41H,IFEND MOV A,DPH MOV B,DPL MOV DPTR,#20A0H MOVX @DPTR,A INC DPTR XCH A,B MOVX @DPTR,A SJMP OVER IFEND: INC DPTR

DJNZ R2,GO_ON OVER: SJMP OVER 13、设在200H~204H 单元中,存放5 个压缩BCD 码,编程将他们转换成ASCII 码,存放到以205H 单元为首地址的存储区。答:MOV R2,#05H MOV R3,#02H MOV R4,#00H MOV R5,#02H MOV R6,#05H CHLP: MOV DPH,R3 MOV DPL,R4 MOVX A,@DPTR INC DPTR MOV R3,DPH MOV R4,DPL MOV B,A SWAP A ANL A,#0FH ORL A,#30H MOV DPH,R5 MOV DPL,R6 MOVX @DPTR,A INC DPTR MOV A,B ANL A,#0FH ORL A,#30H MOVX @DPTR,A MOV R5,DPH MOV R6,DPL DJNZ R2,CHLP 14、有一无符号数据块长度在30H 单元中,其首地址为31H 单元,求出数据块中最大值,并存入40H 中。答:MOV R0,#31H MOV R1,30H MOV 40H,#00H LOOP: MOV A,@R0 CJNE A,40H,L1 SJMP AGAIN L1: JNC L2 SJMP AGAIN L2: MOV 40H,A AGAIN: INC R0 DJNZ R1,LOOP SJMP $ 15、略16、在以2000H 为首地址的存储区内,存放20 个用ASCII 码表示的0~9 之间的数,试编程,将它们转换成BCD 码,并以压缩BCD 码的形式存在3000H~3009H 单元中。答:MOV R2,#10 MOV R3,#20H MOV R4,#00H MOV R5,#30H MOV R6,#00H LP: MOV DPH,R3 MOV DPL,R4 MOVX A,@DPTR ANL A,#0FH SWAP A XCH A,B INC DPTR MOVX A,@DPTR ANL A,#0FH ORL A,B INC DPTR MOV R3,DPH MOV R4,DPL MOV DPH,R5 MOV

DPL,R6 MOVX @DPTR,A INC DPTR MOV R5,DPH MOV R6,DPL DJNZ R2,LP SJMP $ 17、试编程实现下列逻辑表达式功能。设P1.7~P1.0 为8 个变量的输入端,而其中P1.7 又作为变量的输出端。;输入端定义X0 EQU P1.0 X1 EQU P1.1 X2 EQU P1.2 X3 EQU P1.3 X4 EQU P1.4 X5 EQU P1.5 X6 EQU P1.6 X7 EQU P1.7 (1)MOV C,X0 ANL C,X1 ANL C,/X2 ORL C,X3 MOV 00H,C MOV C,X4 ANL C,X5 ANL C,X6 ORL C,/X7 ORL C,00H MOV P1.7,C (2)MOV C,X0 ANL C,X1 CPL C MOV 00H,C MOV C,X2 ANL C,X3 ANL C,X4 CPL C MOV 01H,C MOV C,X5 ANL C,X6 ANL C,X7 CPL C ORL C,O1H CPL C ORL C,00H MOV P1.7,C 18、略19、略20、试编写延时1s、1min、1h 子程序。;单片机时钟fosc=12MHz,计算为近似值;1s 延时子程序DLY_1S: MOV R0,#10 L3: MOV R1,#200 L2: MOV R2,#250 L1: DJNZ R2,L1 DJNZ R1,L2 DJNZ R0,L3 RET ;延时1min DLY_1M:MOV R3,#60 L4: LCALL DLY_1S DJNZ R3,L4 RET ;延时1h DLY_1H: MOV R4,#60 L5: LCALL DLY_1M DJNZ R4,L5 RET 21、用程序实现c=a2+b2。设a、b 均小于10,a 存在31H 单元中,b 存在32H 单元中,c存33H 单元。答:ORG 1000H SR:MOV A,31H ACALL SQR MOV R1,A MOV A,32H ACALL SQR ADD A,R1 MOV 33H,A SJMP $ ;求平方子程序如下(采用查平方表的方法)SQR: INC A

MOVC A,@A+PC RET TABLE: DB 0,1,4,9,16 DB 25,36,49,64,81 END 22、如何实现将内存单元40H~60H 的数逐个对应传到片外2540H~2560H 单元中?答:MOV R0,#40H MOV DPTR,#2540H MOV R2,#21H L1: MOV A,@R0 MOVX @DPTR,A INC R0 INC DPTR DJNZ R2,L1 SJMP $ 23、参考21 题24、参考21 题25、参考实验程序26、参考实验程序第五章定时/计数器1、89S51 单片机内部有几个定时/计数器,他们有哪些专用寄存器组成?答:89S51 单片机内部有两个16 位定时/计数器,为定时器0(T0)和定时器1(T1)。在定时器/计数器的16 位的计数器是由两个8 位的专用寄存器TH0、TL0,TH1、TL1 组成。2、89S51 单片机的定时/计数器有哪几种工作方式,各有什么特点?答:定时器/计数器有四种工作方式:方式0,方式1,方式2,方式3。其中,方式3 只适用于T0。以T0 为例:①方式0,16 位寄存器只用了13 位,TL0 的高三位未用。由TH0 的8 位和TL0 的低5 位组

单片机课后习题答案部分筛选

第一章 2单片机具有哪些特点 (1)片内存储容量越来越大。 (2抗干扰性好,可靠性高。 (3)芯片引线齐全,容易扩展。 (4)运行速度高,控制功能强。 (5)单片机内部的数据信息保存时间很长,有的芯片可以达到100年以上。 第二章 6. 如何简捷地判断89C51正在工作? 答:用示波器观察8051的XTAL2端是否有脉冲信号输出(判断震荡电路工作是否正常?) ALE(地址锁存允许)(Address Latch Enable)输出是fosc的6分频用示波器观察ALE是否有脉冲输出(判断 8051芯片的好坏?) 观察PSEN(判断8051能够到EPROM 或ROM中读取指令码?) 因为/PSEN接外部EPROM(ROM)的/OE端子 OE=Output Enable(输出允许) 9. 读端口锁存器和“读引脚”有何不同?各使用哪种指令? 答:读锁存器(ANL P0,A)就是相当于从存储器中拿数据,而读引脚是从外部拿数据(如MOV A,P1 这条指令就是读引脚的,意思就是把端口p1输入数据送给A) 传送类MOV,判位转移JB、JNB、这些都属于读引脚,平时实验时经常用这些指令于外部通信,判断外部键盘等;字节交换XCH、XCHD算术及逻辑运算 ORL、CPL、ANL、ADD、ADDC、SUBB、INC、DEC控制转移CJNE、DJNZ都属于读锁存器。 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个字节单元,可以采用间接字节寻址 的方法访问。 15. 开机复位后,CPU使用的是哪组工作寄存器?它们的地址是什么?CPU如何确定和改变当前工作寄存器组?

单片机课后答案

答:中断是指计算机在执行某一程序的过程中,由于计算机系统内、外的某种原因而必须终止原程序的执行,转去完成相应的处理程序,待处理结束之后再返回继续执行被终止原程序的过程。中断源指向 CPU 提出中断申请的设备,包括中断请求信号的产生及该信号怎样被CPU 有效地识别,要求中断请求信号产生一次,只能被CPU 接收处理一次,即不能一 次中断申请被CPU 多次响应。当 CPU 正在执行中断服务程序时,又有中断优先级更高的中断申请产生,CPU 就会暂停原来的中断处理程序而转去处理优先级更高的中断请求,处理完毕后再返回原低级中断服务程序,这一过程称为中断嵌套.中断优先级指在实际应用系统中往往有多个中断源,且中断申请是随机的,有时还可能会有多个中断源同时提出中断申请,但CPU 一次只能响应一个中断源发出的中断请求,CPU 响应哪个中断请求,就需要用软件或硬件安排一个优先顺序,即中断优先级排队。 6-2 MCS-51 单片机提供了几个中断源有几级中断优先级别各中断标志是如何产生的又如何清除这些中断标志各中断源所对应的中断矢量地址是多少 答:(1)MCS-51 单片机提供了5 个中断源: INT0 、INT1 、T0、T1、串行口。 (2)MCS-51 系列单片机有两个中断优先级,每一个中断请求源均可编程为高优先级中 断或低优先级中断,从而实现两级中断嵌套。 (3)外部中断可以设置边沿触发或者电平触发,靠软件置位。边沿触发进入中断程序后硬件自动清中断标志。电平触发需要软件清除中断标志位,还需在中断响应后把中断请求信号引脚从低电平强制改变为高电平。 (4)定时器T0、T1 计数溢出产生中断,进入中断程序后由硬件自动清除标志位TF0 或TF1。(5)串行口发送完成或者接收到数据就触发中断,由于是两个中断标志共享一个中断向量,所以需要在中断程序里由软件判断是发送中断还是接受中断,并且只能由软件清除中断标志位。使用软件清除中断标志位的方法是: CLR TI ;清TI 标志位 CLR RI ;清RI 标志位 (6)各中断源对应的中断矢量地址分别为: 中断源中断矢量 外部中断 0 0003H 定时器T0 中断000BH 外部中断1 0013H 定时器T1 中断001BH 串行口中断0023H 定时器中断T2(仅52 系列有) 002BH 6-3 外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同怎样设定 答:采用中断电平触发方式时,中断请求标志IT0=0,CPU 在每个机器周期的S5P2 期间采样,一旦在( INT0 )引脚上检测到低电平,则有中断申请,使IE0 置位(置1),向CPU 申请中断。在电平触发方式中,在中断响应后中断标志位IE0 的清0 由硬件自动完成,但由于CPU 对( INT0 )引脚没有控制作用,使中断请求信号的低电平可能继续存在,在以后的机器周期采样时又会把已清0 的IE0 标志位重新置1,所以, 在中断响应后必须采用其它方法撤消该引脚上的低电平,来撤除外部中断请求信号,否则有可能再次中断造成出错。采用边沿触发方式时,IT0=1,CPU 在每个机器的S5P2 期间采样,当检测到前一周期为高电平,后一周期为低电平时,使标志IE0 置1,向CPU 申请中断,此标志位一直保持到CPU 响应中断后,才由硬件自动清除。在边沿触发方式中,为保证CPU 在两个机器周期内检测到由高到低的负跳变,高电平与低电平的持续时间不得少于一个机器周

单片机原理及应用习题答案 第三版

第一章习题参考答案 1-1:何谓单片机?与通用微机相比,两者在结构上有何异同? 答:将构成计算机的基本单元电路如微处理器(CPU)、存储器、I/O接口电路与相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。 单片机与通用微机相比在结构上的异同: (1)两者都有CPU,但通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度与精度的进一步提高。例如,现今微机的CPU都支持浮点运算,采用流水线作业,并行处理、多级高速缓冲(Cache)技术等。CPU的主频达到数百兆赫兹(MHz),字长普遍达到32位。单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度与精度也相对要低一些。例如,现在的单片机产品的CPU 大多不支持浮点运算,CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用4位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用16位字长单片机,32位单片机产品目前应用得还不多。 (2) 两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量与CPU对数据的存取速度。现今微机的内存容量达到了数百兆字节(MB),存储体系采用多体、并读技术与段、页等多种管理模式。单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上,CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为64 KB。 (3) 两者都有I/O接口,但通用微机中I/O接口主要考虑标准外设(如CRT、标准键盘、鼠标、打印机、硬盘、光盘等)。用户通过标准总线连接外设,能达到即插即用。单片机应用系统的外设都就是非标准的,且千差万别,种类很多。单片机的I/O接口实际上就是向用户提供的与外设连接的物理界面。用户对外设的连接要设计具体的接口电路,需有熟练的接口电路设计技术。 另外,单片机的微处理器(CPU)、存储器、I/O接口电路集成在一块芯片上,而通用微机的微处理器(CPU)、存储器、I/O接口电路一般都就是独立的芯片 1-4 IAP、ISP的含义就是什么? ISP:In System Programable,即在系统编程。用户可以通过下载线以特定的硬件时序在线编程(到单片机内部集成的FLASH上),但用户程序自身不可以对内部存储器做修改。 IAP:In Application Programable,即在应用编程。用户可以通过下载线对单片机进行在线编程,用户程序也可以自己对内部存储器重新修改。 1-6 51单片机与通用微机相比,结构上有哪些主要特点? (1)单片机的程序存储器与数据存储器就是严格区分的,前者为ROM,后者为RAM; (2)采用面向控制的指令系统,位处理能力强; (3)I/O引脚通常就是多功能的; (4) 产品系列齐全,功能扩展性强; (5) 功能就是通用的,像一般微处理机那样可广泛地应用在各个方面。 1-7 51单片机有哪些主要系列产品? (1)Intel公司的MCS-51系列单片机:功能比较强、价格比较低、较早应用的单片机。 此系列三种基本产品就是:8031/8051/8751; (2)ATMEL公司的89系列单片机:内含Flash存储器,开发过程中可以容易地进行程

单片机原理与应用教程第3版习题课后答案

《单片机原理及应用程序》(第三版)习题参考答案 第一章 1. 为什么计算机要采用二进制数?学习十六进制数的目的是什么? 在计算机中,由于所采用的电子逻辑器件仅能存储和识别两种状态的特点,计算机部一切信息存储、处理和传送均采用二进制数的形式。可以说,二进制数是计算机硬件能直接识别并进行处理的惟一形式。十六进制数可以简化表示二进制数。 2. (1) 01111001 79H (2) 0.11 0.CH (3) 01111001.11 79.CH (4) 11101010.101 0EA.AH (5)01100001 61H (6) 00110001 31H 3. (1) 0B3H (2)80H (3) 17.AH (4) 0C.CH 4. (1)01000001B 65 (2) 110101111B 431 5. (1) 00100100 00100100 00100100 (2) 10100100 11011011 11011100 (5) 10000001 11111110 11111111 6. 00100101B 00110111BCD 25H 7. 137 119 89 8.什么是总线?总线主要有哪几部分组成?各部分的作用是什么? 总线是连接计算机各部件之间的一组公共的信号线。一般情况下,可分为系统总线和外总线。 系统总线应包括:地址总线(AB)控制总线(CB)数据总线(DB) 地址总线(AB):CPU根据指令的功能需要访问某一存储器单元或外部设备时,其地址信

息由地址总线输出,然后经地址译码单元处理。地址总线为16位时,可寻址围为216=64K,地址总线的位数决定了所寻址存储器容量或外设数量的围。在任一时刻,地址总线上的地址信息是惟一对应某一存储单元或外部设备。 控制总线(CB):由CPU产生的控制信号是通过控制总线向存储器或外部设备发出控制命令的,以使在传送信息时协调一致的工作。CPU还可以接收由外部设备发来的中断请求信号和状态信号,所以控制总线可以是输入、输出或双向的。 数据总线(DB):CPU是通过数据总线与存储单元或外部设备交换数据信息的,故数据总线应为双向总线。在CPU进行读操作时,存储单元或外设的数据信息通过数据总线传送给CPU;在CPU进行写操作时,CPU把数据通过数据总线传送给存储单元或外设9.什么是接口电路? CPU与接口电路连接一般应具有哪些信号线?外部设备与接口电路连接一般应具有哪些信号线? CPU通过接口电路与外部输入、输出设备交换信息, 一般情况下,外部设备种类、数量较多,而且各种参量(如运行速度、数据格式及物理量)也不尽相同。CPU为了实现选取目标外部设备并与其交换信息,必须借助接口电路。一般情况下,接口电路通过地址总线、控制总线和数据总线与CPU连接;通过数据线(D)、控制线(C)和状态线(S)与外部设备连接。 10. 存储器的作用是什么?只读存储器和随机存储器有什么不同? 存储器具有记忆功能,用来存放数据和程序。计算机中的存储器主要有随机存储器(RAM)和只读存储器(ROM)两种。随机存储器一般用来存放程序运行过程中的中间数据,计算机掉电时数据不再保存。只读存储器一般用来存放程序,计算机掉电时信息不会丢失。 11.某存储器的存储容量为64KB,它表示多少个存储单元?64×1024 12. 简述微型计算机硬件系统组成。

单片机课后习题答案

单片机课后习题答案 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.89C51的EA端有何用途? 答:/EA端接高电平时,CPU只访问片内flash Rom并执行内部程序,存储器。/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正在工作? 答:用示波器观察8051的XTAL2端是否有脉冲信号输出(判断震荡电路工作是否正常?)ALE(地址锁存允许)(Address Latch Enable)输出是fosc的6分频 用示波器观察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)(特殊功能寄存器) 9.读端口锁存器和“读引脚”有何不同?各使用哪种指令? 答:读锁存器(ANLP0,A)就是相当于从存储器中拿数据,而读引脚是从外部拿数据(如MOV A,P1这条指令就是读引脚的,意思就是把端口p1输入数据送给A)传送类MOV,判位转移JB、JNB、这些都属于读引脚,平时实验时经常用这些指令于外部通信,判断外部键盘等;字节交换XCH、XCHD算术及逻辑运算 ORL、CPL、ANL、ADD、ADDC、SUBB、INC、DEC控制转移CJNE、DJNZ

单片机原理及应用习题答案 第三版

第一章习题参考答案 1-1:何谓单片机?与通用微机相比,两者在结构上有何异同? 答:将构成计算机的基本单元电路如微处理器(CPU)、存储器、I/O接口电路和相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。 单片机与通用微机相比在结构上的异同: (1)两者都有CPU,但通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度和精度的进一步提高。例如,现今微机的CPU都支持浮点运算,采用流水线作业,并行处理、多级高速缓冲(Cache)技术等。CPU的主频达到数百兆赫兹(MHz),字长普遍达到32位。单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度和精度也相对要低一些。例如,现在的单片机产品的CPU大多不支持浮点运算,CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用4位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用16位字长单片机,32位单片机产品目前应用得还不多。 (2) 两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量和CPU对数据的存取速度。现今微机的内存容量达到了数百兆字节(MB),存储体系采用多体、并读技术和段、页等多种管理模式。单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上,CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为64 KB。 (3) 两者都有I/O接口,但通用微机中I/O接口主要考虑标准外设(如CRT、标准键盘、鼠

单片机课后习题答案解析

一)填空题 1. 十进制数14对应的二进制数表示为(1110B),十六进制数表 示为(0EH)。十进制数-100的补码为(9CH),+100的补码为(64H)。 2. 在一个非零的无符号二进制整数的末尾加两个0后,形成一个新的无符号二进制整数,则新数是原数的(4)倍。 3. 8位无符号二进制数能表示的最大十进制数是(255)。带符号二进制数11001101转换成十进制数是(-51)。 4. 可以将各种不同类型数据转换为计算机能处理的形式并输送到计算机中去的设备统称为(输入设备)。 5. 已知字符D的ASCII码是十六进制数44,则字符T的ASCII码是十进制数(84)。 6. 若某存储器容量为640KB,则表示该存储器共有(655360)个存储单元。 7. 在计算机中,二进制数的单位从小到大依次为(位)、(字节)和(字),对应的英文名称分别是(bit)、(Byte)和(Word)。 8. 设二进制数A=10101101,B=01110110,则逻辑运算A∨B=(11111111),A ∧B=(00100100),A⊕B=(11011011)。 9. 机器数01101110的真值是(+110),机器数01011001的真值是(+89),机器数10011101的真值是(+157或-115),机器数10001101的真值是(+206或-50)。(二)单项选择题 1. 用8位二进制补码数所能表示的十进制数范围是(D) (A)-127 ~ +127 (B)-128 ~ +128 (C)-127 ~ +128 (D)-128 ~ +127 2. 下列等式中,正确的是(B) (A)1 KB = 1024×1024 B (B)1 MB = 1024×1024 B (C)1 KB = 1024 M B (D)1 MB = 1024 B 3. 程序与软件的区别是(C) (A)程序小而软件大(B)程序便宜而软件昂贵 (C)软件包括程序(D)程序包括软件 4. 存储器中,每个存储单元都被赋予惟一的编号,这个编号称为(A) (A)地址(B)字节(C)列号(D)容量 5. 8位二进制数所能表示的最大无符号数是(B) (A)255 (B)256 (C)128 (D)127 6. 下列4个无符号数中,最小的数是(B) (A)11011001(二进制)(B)37(八进制) (C)75(十进制)(D)24(十六进制) 7. 下列字符中,ASCII码最小的是(B) (A)a (B)A (C)x (D)X 8. 下列字符中,ASCII码最大的是(C) (A)a (B)A (C)x (D)X 9. 有一个数152,它与十六进制数6A相等,那么该数是(B) (A)二进制数(B)八进制数(C)十进制数(D)十六进制数 第2章80C51单片机的硬件结构 (一)填空题

单片机实验考核题目及答案

---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------

单片机课后习题答案

1.1 计算机经过了哪些主要发展阶段? 解:单片机的发展大致经历了四个阶段: 第一阶段(1970—1974年),为4位单片机阶段; 第二阶段(1974—1978年),为低中档8位单片机阶段; 第三阶段(1978—1983年),为高档8位单片机阶段; 第四阶段(1983年至今),为8位单片机巩固发展阶段及16位单片机、32位单片机推出阶段。 1.2 写出下列机器数的真值: (1)01101110 (2)10001101 (3)01011001 (4)11001110 解:(1)01101110的真值=+110 (2)10001101的真值=+141或-115 (3)01011001的真值=+89 (4)11001110的真值=+206或-50 说明:机器数是指计算机中使用的二进制数,机器数的值称为真值。机器数可表示为无符号数也可表示为带符号数,其中计算机中的带符号数一般为补码形式。10001101若为无符号数。则其真值为+141;若为带符号数,由于最高位(符号位)为1.所以为负数(补码形式),则其真值为-115。 1.4 写出下列二进制数的原码、反码和补码(设字长为8位)。 (1)010111 (2)101011 (3)-101000 (4)-111111 解:(1) [x]原=00010111 [x]反= 00010111 [x]补= 00010111 (2)[x]原=00101011 [x]反= 00101011 [x]补= 00101011 (3)[x]原=10101000 [x]反= 11010111 [x]补= 11011000 (4)[x]原=10111111 [x]反= 11000000 [x]补=11000001 1.5 已知X=10110110,Y=11001111,求X 和Y 的逻辑与、逻辑或和逻辑异或。 解:10000110X Y ?= 11111111X Y += 01111001X Y ⊕= 1.6 已知X 和Y ,试计算下列各题的[]X Y +补和[]-X Y 补(设字长为8位)。 (1)X=1011 Y=0011 (2)X=1011 Y=0101 (3)X=1001 Y=-0100 (4)X=-1000 Y=0101 (5)X=-1100 Y=-0100 解:(1)X 补码=00001011 Y 补码=00000011 [X+Y]补=00001110 [X-Y]补=00001000 (2)X 补码=00001011 Y 补码=00000101 [X+Y]补=00010000 [X-Y]补=00000110 (3)X 补码=00001001 Y 补码=11111100 [X+Y]补=00010000 [X-Y]补=00000110

单片机课后习题-答案~

习题答案 习题0 1.单片机是把组成微型计算机的各功能部件即(微处理器(CPU))、(存储器(ROM 和RAM))、(总线)、(定时器/计数器)、(输入/输出接口(I/O口))及(中断系统)等部件集成在一块芯片上的微型计算机。 2.什么叫单片机?其主要特点有哪些? 将微处理器(CPU)、存储器(存放程序或数据的ROM和RAM)、总线、定时器/计数器、输入/输出接口(I/O口)、中断系统和其他多种功能器件集成在一块芯片上的微型计机,称为单片微型计算机,简称单片机。 单片机的特点:可靠性高、便于扩展、控制功能强、具有丰富的控制指令、低电压、低功耗、片内存储容量较小、集成度高、体积小、性价比高、应用广泛、易于产品化等。 3. 单片机有哪几个发展阶段? (1)第一阶段(1974—1976年):制造工艺落后,集成度低,而且采用了双片形式。典型的代表产品有Fairchild公司的F8系列。其特点是:片内只包括了8位CPU,64B的RAM 和两个并行口,需要外加一块3851芯片(内部具有1KB的ROM、定时器/计数器和两个并行口)才能组成一台完整的单片机。 (2)第二阶段(1977—1978年):在单片芯片内集成CPU、并行口、定时器/计数器、RAM和ROM等功能部件,但性能低,品种少,应用范围也不是很广。典型的产品有Intel 公司的MCS-48系列。其特点是,片内集成有8位的CPU,1KB或2KB的ROM,64B或128B的RAM,只有并行接口,无串行接口,有1个8位的定时器/计数器,中断源有2个。片外寻址范围为4KB,芯片引脚为40个。 (3)第三阶段(1979—1982年):8位单片机成熟的阶段。其存储容量和寻址范围增大,而且中断源、并行I/O口和定时器/计数器个数都有了不同程度的增加,并且集成有全双工串行通信接口。在指令系统方面增设了乘除法、位操作和比较指令。其特点是,片内包括了8位的CPU,4KB或8KB的ROM,128B或256B的RAM,具有串/并行接口,2个或3个16位的定时器/计数器,有5~7个中断源。片外寻址范围可达64KB,芯片引脚为40个。代表产品有Intel公司的MCS-51系列,Motorola公司的MC6805系列,TI公司的TMS7000系列,Zilog公司的Z8系列等。 (4)第四阶段(1983年至今):16位单片机和8位高性能单片机并行发展的时代。16位机的工艺先进,集成度高,内部功能强,运算速度快,而且允许用户采用面向工业控制的专用语言,其特点是,片内包括了16位的CPU,8KB的ROM,232B 的RAM,具有串/并行接口,4个16位的定时器/计数器,有8个中断源,具有看门狗(Watchdog),总线控制部件,增加了D/A和A/D转换电路,片外寻址范围可达64KB。代表产品有Intel公司的MCS-96系列,Motorola公司的MC68HC16系列,TI公司的TMS9900系列,NEC公司的783××系列和NS公司的HPC16040等。然而,由于16位单片机价格比较贵,销售量不大,大量应用领域需要的是高性能、大容量和多功能的新型8位单片机。 近年来出现的32位单片机,是单片机的顶级产品,具有较高的运算速度。代表产品有Motorola公司的M68300系列和Hitachi(日立)公司的SH系列、ARM等。 4.在实际应用中,如何选择单片机的类型? 选择原则:主要从指令结构、运行速度、程序存储方式和功能等几个方面选择单片机。 MCS-51为主流产品。 Motorola是世界上最大的单片机厂商。品种全、选择余地大、新产品多。其特点是噪声低,抗干扰能力强,比较适合于工控领域及恶劣的环境。 Microchip单片机是市场份额增长较快的单片机。它的主要产品是PIC系列8位单片机。其特点是运行速度快,低价位,适用于量大、档次低、价格敏感的产品。 美国德州仪器(TI)公司生产的MSP430系列单片机是一种特低功耗的Flash微控制器。主要用于三表及超低功耗场合。

51单片机实验报告

51单片机实验报告

实验一 点亮流水灯 实验现象 Led灯交替亮,间隔大约10ms。实验代码 #include void Delay10ms(unsigned int c); void main() { while(1) { P0 = 0x00; Delay10ms(50); P0 = 0xff; Delay10ms(50); } }

void Delay10ms(unsigned int c) { unsigned char a, b; for (;c>0;c--) { for (b=38;b>0;b--) { for (a=130;a>0;a--); } } } 实验原理 While(1)表示一直循环。 循环体首先将P0的所有位都置于零,然后延时约50*10=500ms,接着P0位全置于1,于是LED全亮了。接着循环,直至关掉电源。延迟函数是通过多个for循环实现的。 实验2 流水灯(不运用库函数) 实验现象 起初led只有最右面的那一个不亮,半秒之后从右数第二个led

也不亮了,直到最后一个也熄灭,然后led除最后一个都亮,接着上述过程 #include #include void Delay10ms(unsigned int c); main() { unsigned char LED; LED = 0xfe; while (1) { P0 = LED; Delay10ms(50); LED = LED << 1; if (P0 == 0x00) { LED = 0xfe; } } } void Delay10ms(unsigned int c)

单片机原理及应用课后习题参考答案1~6章(DOC)

《单片机原理及应用》习题答案 第一章计算机基础知识 1-1 微型计算机主要由哪几部分组成?各部分有何功能? 答:一台微型计算机由中央处理单元(CPU)、存储器、I/O接口及I/O设备等组成,相互之间通过三组总线(Bus):即地址总线AB、数据总线DB和控制总线CB来连接。 CPU由运算器和控制器组成,运算器能够完成各种算术运算和逻辑运算操作,控制器用于控制计算机进行各种操作。 存储器是计算机系统中的“记忆”装置,其功能是存放程序和数据。按其功能可分为RAM和ROM。 输入/输出(I/O)接口是CPU与外部设备进行信息交换的部件。 总线是将CPU、存储器和I/O接口等相对独立的功能部件连接起来,并传送信息的公共通道。 1-3 什么叫单片机?其主要由哪几部分组成? 答:单片机(Single Chip Microcomputer)是指把CPU、RAM、ROM、定时器/计数器以及I/O接口电路等主要部件集成在一块半导体芯片上的微型计算机。 1-4 在各种系列的单片机中,片内ROM的配置有几种形式?用户应根据什么原则来选用? 答:单片机片内ROM的配置状态可分四种: (1)片内掩膜(Mask)ROM型单片机(如8051),适合于定型大批量应用产品的生产; (2)片内EPROM型单片机(如8751),适合于研制产品样机; (3)片内无ROM型单片机(如8031),需外接EPROM,单片机扩展灵活,适用于研制新产品; (4)EEPROM(或Flash ROM)型单片机(如89C51),内部程序存储器电可擦除,使用更方便。 1-5 写出下列各数的另两种数制的表达形式(二、十、十六进制) 1-6 写出下列各数的BCD参与: 59:01011001,1996:0001100110010110,4859.2:0100100001011001.0010

C51单片机实验报告

实验报告册 课程名称:单片机原理与应用B 指导老师:xxx 班级:xxx 姓名:xxx 学号:xxx 学期:20 —20 学年第学期南京农业大学工学院教务处印

实验目录实验一:指示灯/开关控制器 实验二:指示灯循环控制 实验三:指示灯/数码管的中断控制 实验四:电子秒表显示器 实验五:双机通信

姓名:学号:班级:成绩: 实验名称:指示灯/开关控制器 一、实验目的: 学习51单片机I/O口基本输入/输出功能,掌握C语言的编程与调试方法。 二、实验原理: 实验电路原理图如图所示,图中输入电路由外接在P1口的8只拨动开关组成;输入电路由外接在P2口的8只低电平驱动的发光二极管组成。此外,还包括时钟电路、复位电路和片选电路。 在编程软件的配合下,要求实现如下指示灯/开关控制功能:程序启动后,8只发光二极管先整体闪烁3次(即亮→暗→亮→暗→亮→暗,间隔时间以肉眼可观察到为准),然后根据开关状态控制对应发光二极管的亮灯状态,即开关闭合相应灯亮,开关断开相应灯灭,直至停止程序运行。 三、软件编程原理为; (1)8只发光二极管整体闪烁3次

亮灯:向P2口送入数值0; 灭灯:向P2口送入数值0FFH; 闪烁3次:循环3次; 闪烁快慢:由软件延时时间决定。 (2)根据开关状态控制灯亮或灯灭 开关控制灯:将P1口(即开关状态)内容送入P2口;无限持续:无条件循环。 四、实验结果图: 灯泡闪烁:

按下按键1、3、5、7:

经检验,其余按键按下时亦符合题目要求。 五、实验程序: #include"reg51.h" void delay(unsigned char time) { unsigned int j=15000; for(;time>0;time--) for(;j>0;j--); } void main(){ key,char i; for(i=0;i<3;i++) { P2=0x00; delay(500); P2=0xff; delay(500) } while(1) { P2=P3;

51单片机练习题

一.闪烁灯 1.实验任务 如图4.1.1所示:在端口上接一个发光二极管L1,使L1在不停地一亮一灭,一亮一灭的时间间隔为秒。 2.电路原理图 图4.1.1 3.系统板上硬件连线 把“单片机系统”区域中的端口用导线连接到“八路发光二极管指示模块”区域中的L1端口上。 4.程序设计内容 (1)延时程序的设计方法 作为单片机的指令的执行的时间是很短,数量大微秒级,因此,我们要 求的闪烁时间间隔为秒,相对于微秒来说,相差太大,所以我们在执行 某一指令时,插入延时程序,来达到我们的要求,但这样的延时程序是 如何设计呢下面具体介绍其原理:

如图4.1.1所示的石英晶体为12MHz,因此,1个机器周期为1微秒机器周期微秒 MOV R6,#20 2个 2 D1: MOV R7,#248 2个22+2×248=49820× DJNZ R7,$ 2个2×248(498 DJNZ R6,D1 2个2×20=40 10002 因此,上面的延时程序时间为。 由以上可知,当R6=10、R7=248时,延时5ms,R6=20、R7=248时,延时10ms,以此为基本的计时单位。如本实验要求秒=200ms,10ms×R5 =200ms,则R5=20,延时子程序如下: DELAY: MOV R5,#20 D1: MOV R6,#20 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET (2).输出控制 如图1所示,当端口输出高电平,即=1时,根据发光二极管的单向导 电性可知,这时发光二极管L1熄灭;当端口输出低电平,即=0时,发 光二极管L1亮;我们可以使用SETB指令使端口输出高电平,使用CLR 指令使端口输出低电平。 5.程序框图

单片机课后习题答案--胡汉才编

单片机部由哪几部分电路组成各部分电路的主要功能是什么 解:单片机部由CPU、存储器和I/O接口等电路组成。CPU的主要功能是对二进制数进行算术和逻辑运算、执行指令(从ROM中取指令,对指令译码,发各种控制信号使CPU和其他部分协调一致的工作,完成指令的功能),存储器由ROM和RAM组成,ROM的主要功能是存储单片机应用系统的程序,RAM的主要功能是存储实时数据或作为通用寄存器、堆栈、数据缓冲区。I/O接口的主要功能是负责单片机和外设、外部存储器间的通信。 第二章 存在的错别字问题:“振荡”写出“推荡”;“芯片”写成“蕊片”。 、程序状态字PSW各位的定义是什么 解:PSW的各位定义如下: @ Cy:进位标志位;AC:辅助进位位; F0:用户标志位;RS1、RS0:寄存器选择位; OV:溢出标志位;P:奇偶标志位; PSW1:未定义。 、什么叫堆栈8031堆栈的最大容量是多少MCS51堆栈指示器SP有多少位,作用是什么单片机初始化后SP中的容是什么 解:堆栈:符合“先进后出”或“后进先出”存取规律的RAM区域。 8031堆栈的最大容量是128B; 】 MCS-51堆栈指针SP有8位,作用是存放栈顶(/栈低)地址; 单片机初始化后(即单片机复位后)SP中的容是07H。 存在的问题:1、堆栈的定义中,未答出“RAM区域”,而用了“部件”; 2、只说了“单片机初始化后(即单片机复位后)SP中的容是栈底地址”,未说明具体值07H; 3、8031堆栈的最大容量错成128M或256B。 、数据指针DPTR有多少位,作用是什么 解:数据指针DPTR有16位;作用是存放ROM或外部RAM的地址。 | 、8051片RAM容量有多少可以分为哪几个区各有什么特点 解:8051的片RAM容量有128B;分为三个区:工作寄存器区、位寻址区和便笺区; 存在的问题:1、8051的片RAM容量错成256B。 、8051的特殊功能寄存器SFR有多少个可以位寻址的有哪些 解:8051的SFR有21个,可位寻址的有11个:ACC、B、PSW、IP、P3、IE、P2、SCON、P1、TCON 和P0。 存在的问题:SFR有21个错成了26个;可位寻址的SFR中多了一个T2CON,个别同学甚至在T2CON 用了一个“+”号。 :

单片机课后习题参考答案

单片机课后习题答案 1.26解:单片机内部由CPU、存储器和I/O接口等电路组成。CPU的主要功能是对二进制数进行算术和逻辑运算、执行指令(从ROM中取指令,对指令译码,发各种控制信号使CPU和其他部分协调一致的工作,完成指令的功能),存储器由ROM和RAM组成,ROM的主要功能是存储单片机应用系统的程序,RAM的主要功能是存储实时数据或作为通用寄存器、堆栈、数据缓冲区。I/O接口的主要功能是负责单片机和外设、外部存储器间的通信。 2.3、解:PSW的各位定义如下: PSW7PSW6PSW5PSW4PSW3PSW2PSW1PSW0 Cy AC F0RS1RS0OV_P Cy:进位标志位;AC:辅助进位位; F0:用户标志位;RS1、RS0:寄存器选择位; OV:溢出标志位;P:奇偶标志位; PSW1:未定义。 2.4、解:堆栈:符合“先进后出”或“后进先出”存取规律的RAM区域。 8031堆栈的最大容量是128B; MCS-51堆栈指针SP有8位,作用是存放栈顶(/栈低)地址; 单片机初始化后(即单片机复位后)SP中的内容是07H。 2.5、解:数据指针DPTR有16位;作用是存放ROM或外部RAM的地址。 2.7、解:8051的片内RAM容量有128B;分为三个区:工作寄存器区、位寻址区和便笺区; 2.8、解:8051的SFR有21个,可位寻址的有11个:ACC、B、PSW、IP、P3、IE、P2、SCON、P1、TCON和P0。 2.11、解:8051和片外RAM/ROM连接时,P0口用来分时地传送片外RAM/ROM的低8位地址信号和8位数据信号,P2口用来传送片外RAM/ROM的高8位地址信号;因为P0口在访问片外RAM/ROM的一个机器周期内,要先传送地址信号,后传送数据信号,所以P0口需要片外地址锁存器。 2.12、解:8051的ALE线用于锁存P0口输出的片外RAM/ROM的低8位地址;8051不和片外RAM/ROM相连时,ALE线上输出脉冲的频率是fosc/6(fosc是8051的时钟频率),该脉冲信号可用作外部时钟源或作为定时脉冲源使用。 2.13、解:PSEN:片外ROM的选通线; R D:片外RAM的读选通线; W R:片外RAM的写选通线。

单片机原理及应用张毅刚课后习题答案完整版

第1章思考题及习题1参考答案 一、填空 1. 除了单片机这一名称之外,单片机还可称为或。答:微控 制器,嵌入式控制器. 2.单片机与普通微型计算机的不同之处在于其将、、和 三部分,通过内部连接在一起,集成于一块芯片上。答:CPU、存储器、I/O口、总线 3. AT89S52单片机工作频率上限为 MHz。答:33 MHz。 4. 专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低 和提高。答:成本,可靠性。 二、单选 1. 单片机内部数据之所以用二进制形式表示,主要是 A.为了编程方便B.受器件的物理性能限制 C.为了通用性D.为了提高运算速度答:B 2. 在家用电器中使用单片机应属于微计算机的。 A.辅助设计应用B.测量、控制应用

C.数值计算应用D.数据处理应用 答: B 3. 下面的哪一项应用,不属于单片机的应用范围。 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替换。对

相关主题
文本预览
相关文档 最新文档