单片机基础+第三版+课后习题答案
- 格式:doc
- 大小:61.50 KB
- 文档页数:21
填空1、1110、0EH、10011100、011001002、43、255、-774、输入设备5、846、6553607、位、字节、字、Bit、Byte、word8、11111111、00100100、110110119、110、89、-115、-50选择1、D2、B3、C4、A5、B6、B7、B8、C9、B第二章填空1、PC、PC2、反相器、石英晶体、电容、低3、加电复位、手动复位、07H、0、00H、07H4、6、2、1、125、数据指针DPTR、DPH、DPL6、64KB1、D2、C3、C4、A5、C6、A7、D第三章一、填空1、1031H2、34H,1,1,13、P3.0=P1.0∧P1.1∧/P1.24、1100H5、26、30H 7AHA5HA5H75HA7HAAH 0 11FH 1 0AAH 0 120H 1 0D4H 1 149H 0 0二、选择1、C2、C3、B4、D5、C6、A三、判断× × √× × ×√ × ×√ × √√ √ √× √√× √ ×× √四、编程1、方案一:MOV C, /10HORL C, P1.0MOV D, CMOV C, 11HORL C,CYANL D,C方案二:ORL C,11HMOV 20H,CMOV C, 10HORL C, P1.0ANL C,20HMOV D,C(D、E 需要位定义;用A做位传送;要先将CY存起来,否则CY改变)2、方案一:MOV C,ACC.2ANL C,P2.7MOV E,CMOV C,ACC.1ANL C,P2.0ORL E,C方案二:MOV C,P2.7ANL C,ACC.2ORL C,ACC.1ANL C,P2.03、方案一:MAIN: MOV R0,#20H MOV R7,#04H LOOP: MOV @R0,#0F0H INC R0DJNZ R7,LOOP HERE:SJMP $方案二:MOV 20H,#0F0HMOV 21H,#0F0HMOV 22H,#0F0HMOV 23H,#0F0H4、方案一:MOV R0,#mINC R0ADD m,@R0DA m方案二:MOV A,mADDC A,m+1DA AMOV m,A5、方案一:MAIN: MOV R0,#data MOV R7,#0AH MOV A,#00H LOOP: ADD A,@R0 INC R0DJNZ R7,LOOP MOV sum,A HERE:SJMP HERE6、方案一:MOV A,R0MOV R1,AANL A,#80HMOV A,R1CPL AINC ASETB ACC.7MOV R1,ADONE:RET方案二:START:CLR CYMOV P0,R0MOV C,P0.7MOV A,#80HDL0: SUBB A,P0DL1: JC第四章一、填空1、25H,40H, 03H2、2914us3、(X∧Y)∨4、(A)=(30H),(A)>(30H),(A)<(30H)二、编程1、方案一:MOV R0,#inbufMOV DPTR,#outbuf MOV R7,#10HCR EQU #0DH LOOP: MOV A,@R0 CJNE A,CR,NEXT SJMP DONE NEXT: MOVX @DPTR,A INC R0INC DPTRDJNZ R7,LOOP DONE:END方案二:MOV R0,#inbufMOV R1,#outbuf MOV R2,#10HCR EQU #0DH LOOP: MOV A,@R0 MOVX @R1,AINC R0INC R1DJNZ R2,LOOP2、方案一:MOV DPTR,#listMOV A,@DPTR LOOP: INC DPTRMOV R0,@DPTR CJNE R0,#FFH,NEXT1 MOV R1,ARETNEXT1:CJNE A,R0,NEXT2 NEXT2:JC, LOOPMOV A,R0SJMP LOOP方案二:CLR CMOV R0,#listMOV A,@R0LOOP: CJNE R0,#FFH,LOOP1MOV R1,ARETLOOP1:INC R0SUBB A,@R0JC, LOOPMOV A,R0SJMP LOOP(DPTR用于内部传送的时候是传送16位数据)3、方案一:MOV A,XANL A,#80HJNE NEXT2NEXT1:MOV A,XDEAL1:MOV A,XADD A,YSJMP DONE NEXT2:MOV A,X ANL A,#01H JNZ DEAL3 DEAL4:MOV A,X XRL A, Y SJMP DONE DEAL3:MOV A,X ANL A,YDONE:MOV Z,A END4、方案一:MOV A, #byteMOV R7, #08HMOV DPTR, #buf LOOP: PUSH ACCANL A,#80HJNZ DAEL1DEAL0:MOVX @DPTR,#30H SJMP NEXTDEAL1:MOVX @DPTR,#31H NEXT:INC DPTRPOP ACCRL ADJNZ R7,LOOPEND方案二:MOV R0,#bufMOV R1,#01HMOV R2,#08HMOV A, #byteLOOP: ANL A, R1JNZ LOOP1MOVX @R0, #30HINC R0RL R1DJNZ R2,LOOPRETLOOP1:MOVX @R0, #31H INC R0RL R1DJNZ R2,LOOPRET(有些人不是按位,没看清题意)5、方案一:MOV A,DAACALL SQR MOV DC,A MOV A,DB ACALL SQR ADD A,DC MOV DC,A HERE: SJMP $ SQR: MOV B,A MUL AB RET方案二:MOV A,DB ACALL SQR MOV DC,A RETMOV A,DC ACALL SQR ADD A,DC MOV DC,A RETORG 8100HMUL A,R0(部分同学没写SQR子程序)6、方案一:MOV R0,#42HMOV R1,#52HMOV R7,41LOOP: MOV A,@R0 SUBB A,@R1JNZ NEXT2INC R0INC R1DJNZ R7,LOOPNEXT1:MOV 40H,#00H SJMP DONENEXT2:MOV 40H,#FFH DONE: END方案二:MOV R0,#42HMOV R2,41HLOOP: CJNE A,52H,LOOP1 INC R0INC R1MOV A,@R0DJNZ R2,LOOPMOV 40H,#00HRETLOOP1:MOV 40H,#FFH RET7、方案一:MOV DPTR,#tableMOV R7,#0AH LOOP: MOVX A,@DPTR SETB ACC.7MOVX @DPTR,AINC DPTRDJNZ R7,LOOPEND第五章一、填空1、分时2、INT0,T0,INT1,T1,串口3、PC,PC,ROM4、中断请求,中断查询5、122,62.5K6、100ms7、111,1008、T1,2,FFH,001BH二、选择1、D2、C3、A4、A5、D6、C7、D第六章一、填空1、8,16,13,32、高电平,低电平,高阻抗3、256,数据,4K,程序,64K,数据,64K,程序4、16,P0,P25、ALE, , ,, , ALE,六6、、16,37FFH7、外存储设备8、片选信号9、11,ALE,二、选择1、D2、A3、D4、D5、C6、A7、D8、A第七章填空题1.数据ALE RD WR2.无条件传送查询中断无条件3.缓冲锁存4.13 115.高口方式定义C位置位/复位6.方式1输出方式1输出输出输入7.10100111单选题DACDBB。
单⽚机原理及应⽤习题标准答案--(第三版)单⽚机原理及应⽤习题答案--(第三版)————————————————————————————————作者:————————————————————————————————⽇期:第⼀章习题参考答案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. 为什么计算机要采用二进制数?学习十六进制数的目的是什么?在计算机中,由于所采用的电子逻辑器件仅能存储和识别两种状态的特点,计算机内部一切信息存储、处理和传送均采用二进制数的形式。
可以说,二进制数是计算机硬件能直接识别并进行处理的惟一形式。
十六进制数可以简化表示二进制数。
2.(1) 01111001 79H (2) 0.11 0.CH (3) 01111001.1179.CH(4) 11101010.101 0EA.AH (5)01100001 61H (6) 00110001 31H3.(1) 0B3H (2)80H (3) 17.AH (4) 0C.CH4.(1)01000001B 65 (2) 110101111B 4315.(1) 00100100 00100100 00100100 (2) 10100100 11011011 11011100(5) 10000001 11111110 111111116.00100101B 00110111BCD 25H7. 137 119 898.什么是总线?总线主要有哪几部分组成?各部分的作用是什么?总线是连接计算机各部件之间的一组公共的信号线。
一般情况下,可分为系统总线和外总线。
系统总线应包括:地址总线(AB)控制总线(CB)数据总线(DB)地址总线(AB):CPU根据指令的功能需要访问某一存储器单元或外部设备时,其地址信息由地址总线输出,然后经地址译码单元处理。
地址总线为16位时,可寻址范围为216=64K,地址总线的位数决定了所寻址存储器容量或外设数量的范围。
在任一时刻,地址总线上的地址信息是惟一对应某一存储单元或外部设备。
控制总线(CB):由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 接口其实是向用户供给的与外设连结的物理界面。
用户对外设的连结要设计详细的接口电路,需有娴熟的接口电路设计技术。
单片机课后习题答案单片机原理及接口技术课后答案_(第三版)第一章1.单片机的特点是什么(1)片内存储容量越来越大。
(2抗干扰性好,可靠性高。
(3)芯片引线齐全,容易扩展。
(4)运行速度高,控制功能强。
(5)单片机内部的数据信息存储时间很长,有些芯片可以达到100年以上。
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单片机内包含哪些主要逻辑功能部件?A:80C51系列单片机集成了以下主要逻辑功能部件:(1)CPU(中央处理器):8位(2)片上RAM:128B(3)特殊功能寄存器:21个(4)程序存储器:4kb(5)并行I/O端口:8位,4(6)个串行接口:全双工,1(7)定时器/计数器:16位,2个(8)片内时钟电路:1个2.89c51的EA端的用途是什么?3.89c51的存储器分哪几个空间?如何区别不同空间的寻址?答:rom(片内rom和片外rom统一编址)(使用movc)(数据传送指令)(16bits地址)(64kb)片外RAM(MOVX)(16位地址)(64KB)片内RAM(MOV)(8位地址)(256b)4本文简要介绍了89C51片内RAM的空间分配。
单片机原理及应用第三版课后答案1. 第一章题目答案:a) 单片机的定义: 单片机是一种集成电路,具有CPU、存储器和输入输出设备等功能,并且可以根据程序控制进行工作的微型计算机系统。
b) 单片机的核心部分是CPU,它可以通过执行程序指令来完成各种计算、逻辑和控制操作。
c) 存储器分为程序存储器和数据存储器,程序存储器用于存放程序指令,数据存储器用于存放数据和暂存中间结果。
d) 输入输出设备用于与外部环境进行数据交换,如开关、LED、数码管等。
e) 单片机的应用广泛,包括家电控制、智能仪器、工业自动化等领域。
2. 第二章题目答案:a) 单片机中的时钟系统用于提供CPU运行所需的时序信号,常见的时钟源有晶体振荡器和外部信号源。
b) 时钟频率决定了单片机的运行速度和精度,一般通过控制分频器、定时器等来调整时钟频率。
c) 单片机中的中断系统用于处理紧急事件,如外部输入信号、定时器溢出等,可以提高系统的响应能力。
d) 中断源包括外部中断、定时器中断和串口中断,通过编程设置中断向量和优先级来处理不同的中断事件。
e) 中断服务程序是处理中断事件的程序,包括保存现场、执行中断处理和恢复现场等步骤。
3. 第三章题目答案:a) I/O口是单片机与外部设备进行数据交换的接口,包括输入口和输出口两种类型。
b) 输入口用于接收外部信号,如开关、传感器等,可以通过编程设置输入口的工作模式和读取输入口的状态。
c) 输出口用于控制外部设备,如LED、继电器等,可以通过编程设置输出口的工作模式和输出口的状态。
d) I/O口的工作模式包括输入模式、输出模式和双向模式,可以根据具体应用需求设置相应的模式。
e) 串行通信接口是单片机与外部设备进行数据传输的一种常见方式,包括UART、SPI和I2C等多种通信协议。
4. 第四章题目答案:a) 定时器的作用是产生指定时间间隔的定时信号,可以用于延时、计时、PWM等功能。
b) 单片机的定时器一般由计数器和一些控制寄存器组成,通过编程设置定时器的工作模式和计数值。
单片机原理与接口技术教材习题全部解答第1章绪论1-1解答:第一台计算机的研制目的是为了计算复杂的数学难题。
它的特点是:计算机字长为12位,运算速度为5 000次/s,使用18 800个电子管,1 500个继电器,占地面积为150 m2,重达30 t,其造价为100多万美元。
它的诞生,标志着人类文明进入了一个新的历史阶段。
1-2解答:单片微型计算机简称单片机。
一个完整的单片机芯片至少有中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、定时/计数器与I/O接口等部件。
1-3解答:单片机的发展大致经历了四个阶段:第一阶段(1970—1974年),为4位单片机阶段;第二阶段(1974—1978年),为低中档8位单片机阶段;第三阶段(1978—1983年),为高档8位单片机阶段;第四阶段(1983年至今),为8位单片机巩固发展阶段与16位单片机、32位单片机推出阶段。
1-4解答:Intel公司的MCS-48系列、MCS-51系列、MCS-96系列产品;Motorola公司的6801、6802、6803、6805、68HC11系列产品;Zilog公司的Z8、Super8系列产品;Atmel公司的AT89系列产品;Fairchild公司的F8和3870系列产品;TI公司的TMS7000系列产品;NS公司的NS8070系列产品;NEC公司的μCOM87(μPD7800)系列产品;National公司的MN6800系列产品;Hitachi公司的HD6301、HD63L05、HD6305。
1-5解答:(1)8031/8051/8751三种型号,称为8051子系列。
8031片没有ROM,使用时需在片外接EPROM。
8051片含有4KB的掩模ROM,其中的程序是生产厂家制作芯片时烧制的。
8751片含有4KB的EPROM,用户可以先用紫外线擦除器擦除,然后再利用开发机或编程器写入新的程序。
(2)8032A/8052A/8752A是8031/8051/8751的增强型,称为8052子系列。
第1章思考题及习题1参考答案一、填空1. 除了单片机这一名称之外,单片机还可称为或。
答:微控制器,嵌入式控制器.2.单片机与普通微型计算机的不同之处在于其将、、和三部分,通过内部连接在一起,集成于一块芯片上。
答:CPU、存储器、I/O口、总线3. AT89S52单片机工作频率上限为 MHz。
答:33 MHz。
4. 专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低和提高。
答:成本,可靠性。
二、单选1. 单片机内部数据之所以用二进制形式表示,主要是A.为了编程方便B.受器件的物理性能限制C.为了通用性D.为了提高运算速度答:B2. 在家用电器中使用单片机应属于微计算机的。
A.辅助设计应用B.测量、控制应用C.数值计算应用D.数据处理应用答: B3. 下面的哪一项应用,不属于单片机的应用范围。
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替换。
对8. 单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是DSP的长处。
对四、简答1. 微处理器、微计算机、微处理机、CPU、单片机、嵌入式处理器它们之间有何区别?答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。
而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机。
第一章略第2章80C51单片机的硬件结构(一)填空题1.通过堆栈实现子程序调用,首先要把(PC)的内容入栈,以进行断点保护。
调用返回时再进行出栈操作,把保护的断点送回(PC)。
2.通常单片机有两种复位操作,即(上电复位)和(手动复位)。
复位后,PC值为(0000H),SP值为(07H),通用寄存器的当前寄存器组为(第0)组,该组寄存器的地址范围是从(00H)到(07H)。
3.80C51单片机中,一个机器周期包含(6)个状态周期,一个状态周期又可划分为(2)个拍节,一个拍节为(1)个振荡脉冲周期。
因此,一个机器周期应包含(12)个振荡脉冲周期。
4.80C51中惟一一个可供用户使用的16位寄存器是(DPTR),它可拆分为两个8位寄存器使用,名称分别为(DPH)和(DPL)。
5.单片机程序存储器的寻址范围由PC的位数决定。
80C51的PC为16位,因此程序存储器地址空间是(64 KB)。
(二)单项选择题2. 取指操作后,PC的值是(C)(A)当前指令前一条指令的地址(B)当前正在执行指令的地址(C)下一条指令的地址(D)控制寄存器中指令寄存器的地址3. 80C51单片机中,设置堆栈指针SP为37H后就发生子程序调用,这时SP的值变为(C)(A)37H (B)38H (C)39H (D)3AH7. 下列叙述中正确的是(D)(A)SP内装的是堆栈栈顶单元的内容地址(B)在中断服务程序中没有PUSH和POP指令,说明此次中断操作与堆栈无关(C)在单片机中配合实现“程序存储自动执行”的寄存器是累加器(D)两数相加后,若A中数据为66H,则PSW中最低位的状态为0第3章80C51单片机指令系统(一)填空题1.假定累加器A中的内容为30H,执行指令“1000H:MOVC A, @A+PC”后,会把程序存储器(1031H)单元的内容送累加器A。
2.假定(A)=85H,(R0)=20H,(20H)=0AFH,执行指令“ADD A, @R0”后,累加器A的内容为(34H),CY的内容为(1),AC的内容为(1),OV 的内容为(1)。
《单片机原理及应用程序》(第三版)习题参考答案第一章1. 为什么计算机要采用二进制数?学习十六进制数的目的是什么?在计算机中,由于所采用的电子逻辑器件仅能存储和识别两种状态的特点,计算机内部一切信息存储、处理和传送均采用二进制数的形式。
可以说,二进制数是计算机硬件能直接识别并进行处理的惟一形式。
十六进制数可以简化表示二进制数。
2.(1) 01111001 79H (2) 0.11 0.CH (3) 01111001.1179.CH(4) 11101010.101 0EA.AH (5)01100001 61H (6) 00110001 31H3.(1) 0B3H (2)80H (3) 17.AH (4) 0C.CH4.(1)01000001B 65 (2) 110101111B 4315.(1) 00100100 00100100 00100100 (2) 1010010011011011 11011100(5) 10000001 11111110 111111116.00100101B 00110111BCD 25H7. 137 119 898.什么是总线?总线主要有哪几部分组成?各部分的作用是什么?总线是连接计算机各部件之间的一组公共的信号线。
一般情况下,可分为系统总线和外总线。
系统总线应包括:地址总线(AB)控制总线(CB)数据总线(DB)地址总线(AB):CPU根据指令的功能需要访问某一存储器单元或外部设备时,其地址信息由地址总线输出,然后经地址译码单元处理。
地址总线为16位时,可寻址范围为216=64K,地址总线的位数决定了所寻址存储器容量或外设数量的范围。
在任一时刻,地址总线上的地址信息是惟一对应某一存储单元或外部设备。
控制总线(CB):由CPU产生的控制信号是通过控制总线向存储器或外部设备发出控制命令的,以使在传送信息时协调一致的工作。
CPU还可以接收由外部设备发来的中断请求信号和状态信号,所以控制总线可以是输入、输出或双向的。
单片机初级教程第三版课后答案何立民1.MCS-51 单片机内部包含哪些主要功能部件?它们的作用是什么?答: (1)一个8bit CPU是微处理器的核心,是运算和逻辑计算的中心。
(2)片内震荡器及时钟电路:提供标准时钟信号,所有动作都依据此进行。
(3) 4K ROM程序存贮器:存贮程序及常用表格。
(4) 128B RAM数据存贮器:存贮一些中间变量和常数等。
(5)两个16bit定时器/计数器:完全硬件定时器(6) 32根可编程I/0口线:标准8位双向(4 个) I/0接口,每一条I/O线都能独立地作输入或输出。
(7)一个可编程全双工串行口。
(8)五个中断源。
2.什么是指令?什么是程序?答:指令是规定计算机执行某种操作的命令。
程序是根据任务要求有序编排指令的集合3.如何认识89551/52存储器空间在物理结构上可以划分为4个空间,而在逻辑上又可以划分为3个空间?答: 89S51/52 存储器空间在物理结构上设有4个存储器空间:片内程序存储器.片外程序存储器.片内数据存储器.片外数据存储器。
在逻辑上有3个存储器地址空间:片内.片外统一的64KB程序存储器地址空间,片内256B数据存储器地址空间,片外64KB的数据存储器地址空间。
4.开机复位后,CPU使用的是哪组工作寄存器?他们的地址是多少? CPU如何确定和改变当前工作寄存器组?答:开机复位后,CPU使用的是第0组工作寄存器,地址为00H~07H,CPU 通过改变状态字寄存器w中的RSO和RS1来确定工作寄5.什么是堆栈?堆栈有何作用?在程序设计时,有时为什么要对堆栈指针SP 重新赋值?如果CPU在操作中要使用两组工作寄存器,SP应该多大?答:堆栈是一个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。
堆栈指针SP复位后指向07H单元,00H~1FH为工作寄存器区,20H ~2FH为位寻址区,这些单元有其他功能,因此在程序设计时,需要对SP重新赋值。
第1章思考题及习题1参考答案一、填空1. 除了单片机这一名称之外,单片机还可称为或。
答:微控制器,嵌入式控制器.2.单片机与普通微型计算机的不同之处在于其将、、和三部分,通过内部连接在一起,集成于一块芯片上。
答:CPU、存储器、I/O口、总线3. AT89S52单片机工作频率上限为 MHz。
答:33 MHz。
4. 专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低和提高。
答:成本,可靠性。
二、单选1. 单片机内部数据之所以用二进制形式表示,主要是A.为了编程方便B.受器件的物理性能限制C.为了通用性D.为了提高运算速度答:B2. 在家用电器中使用单片机应属于微计算机的。
A.辅助设计应用B.测量、控制应用C.数值计算应用D.数据处理应用答: B3. 下面的哪一项应用,不属于单片机的应用范围。
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替换。
对8. 单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是DSP的长处。
对四、简答1. 微处理器、微计算机、微处理机、CPU、单片机、嵌入式处理器它们之间有何区别?答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。
而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机。
《单片机原理及应用程序》〔第三版〕习题参考答案第一章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 31H3.4.(1)01000001B 65 (2) 110101111B 4315.(1) 00100100 00100100 00100100 (2) 10100100 11011011 11011100(5) 10000001 11111110 111111116.00100101B 00110111BCD 25H7. 137 119 898.什么是总线?总线主要有哪几部分组成?各部分的作用是什么?总线是连接电脑各部件之间的一组公共的信号线。
一般情况下,可分为系统总线和外总线。
系统总线应包括:地址总线〔AB〕控制总线〔CB〕数据总线〔DB〕地址总线(AB):CPU根据指令的功能需要访问某一存储器单元或外部设备时,其地址信息由地址总线输出,然后经地址译码单元处理。
地址总线为16位时,可寻址范围为216=64K,地址总线的位数决定了所寻址存储器容量或外设数量的范围。
在任一时刻,地址总线上的地址信息是惟一对应某一存储单元或外部设备。
控制总线(CB):由CPU产生的控制信号是通过控制总线向存储器或外部设备发出控制命令的,以使在传送信息时协调一致的工作。
CPU还可以接收由外部设备发来的中断请求信号和状态信号,所以控制总线可以是输入、输出或双向的。
数据总线(DB):CPU是通过数据总线与存储单元或外部设备交换数据信息的,故数据总线应为双向总线。
《单片机原理及应用程序》(第三版)习题参考答案第一章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 31H3.(1) 0B3H (2)80H (3) 17.AH (4) 0C.CH4.(1)01000001B 65 (2) 110101111B 4315.(1) 00100100 00100100 00100100 (2) 10100100 11011011 11011100(5) 10000001 11111110 111111116.00100101B 00110111BCD 25H7. 137 119 898.什么是总线?总线主要有哪几部分组成?各部分的作用是什么?总线是连接计算机各部件之间的一组公共的信号线。
一般情况下,可分为系统总线和外总线。
系统总线应包括:地址总线(AB)控制总线(CB)数据总线(DB)地址总线(AB):CPU根据指令的功能需要访问某一存储器单元或外部设备时,其地址信息由地址总线输出,然后经地址译码单元处理。
地址总线为16位时,可寻址范围为216=64K,地址总线的位数决定了所寻址存储器容量或外设数量的范围。
在任一时刻,地址总线上的地址信息是惟一对应某一存储单元或外部设备。
控制总线(CB):由CPU产生的控制信号是通过控制总线向存储器或外部设备发出控制命令的,以使在传送信息时协调一致的工作。
CPU还可以接收由外部设备发来的中断请求信号和状态信号,所以控制总线可以是输入、输出或双向的。
第一章:一、填空题1.1110 0EH 10011100 011001002. 43. 255 -514. 输入设备5. 846. 630 * 8 * 10247. 位字节字 bit btype word8. 1111 1111 00100100 110110119. 110 89 -115 -50二、单选:DBCAB BBCB第二章:一、填空1.PC PC2.反向器晶振两只电容短3.加电手动0000H 07H 第0 00H 07H4. 6 2 1 125.DPTR DPH DPL6.64KB单选题DCCAC A D第三章:word版本.一、填空题:1.10312.34H 1 1 13.略4.1100H5. 26.30H 71H0A5H0A5H75H0A7H0AAH 0 1IFH 1 10AAH 0 120H 1 00D5H 1 149H 0 0二、单选题CCBDCA三、其它类型题错错对错错错对错错错错对对对对错对对word版本.错对错错对(三)其它类型题3.编写程序将RAM20H-23H单元的高4位写1,低4位写0。
分析:就是把这四个单元写入F0H。
用一个DJNZ的循环。
ORG 0000HMOV R0,#1FH ;R0指向20H单元MOV R5,#04H; 四个数LOOP: INC R0MOV R0,#0F0H ; 写入DJNZ R5,LOOP ; 循环4次END4.把m和m+1单元存有两个BCD数,将它们合并到m单元中,编写程序完成。
(设m=30H, 高位在30H,低数在31H)ORG 0000HMOV A,30HANL A,#0FH ;把它的高四位清零SWAP AMOV 30H ,A ;高低四位调一下,放回原处MOV A,31HANL A,#0FHORL A,30H ;合并起来MOV 30H,AEND5.将部RAM中从data单元开始的10个无符号数相加,其和送sum单元多,假定相加结果小于255。
编写程序完成。
(设data=30H, sun =50H)word版本.ORG 0000HMOV R0,#2FH ; 指向前一个单元MOV R5,#0AH ;循环10次CLR A ;先加到A中LOOP: INC R0ADD A,R0DJNZ R5,LOOPMOV 50H,AEND6.假定8位二进制带符号数丰于R0中,要求编写一个求补程序,所得补码入入R1中。
ORG 0000HMOV A,R0CPL A ;按位取反ADD A,#01H ;+1MOV R1,AEND一、填空题1. 25H 40H 03H2.2.914ms3.略4.(A) =((30H) (A) >(30H) (A) < (30H)5. 32.87ms编程题1.把长度为10H的字符串从部RAM的输入缓冲区inbuf向位物外部RAM的输出缓冲区outbuf传送,一直进行到遇见回车或整个字符串传送完毕。
试编程实现。
ORG 0030Hword版本.MOV R0,#inbufMOV R1,#outbufMOV R4,#10HLOOP:MOV A,R0 ; 从部RAM取数CJNE A,#0DH,LL ;是否为回车符CRSJMP STOP ;是转停止传送LL: MOVX R1,A ;不是则传送到外部RAMINC R0INC R1DJNZ R4,LL;沒传送完则循环STOP: SJMP $2、部RAM从list单元开始存放一正数表,表中之数作无序排列,并以“-1”作结束标志。
编程实现在表中找出最小数。
(3AH存放在运行程序时的最小的数)ORG 0030HMOV R0,#listMOV A,R0 ;取第一个正数LOOP: INC R0 ;指向下一个正数MOV 3AH,R0CJNE A,3AH,CHK ;前一个数与后一个数比较CHK: JC LOOP1 ;前一个数小,则转MOV A,R0 ;前一个数大,取后一个数LOOP1: XCH A,3AHCJNE A,#0FFH,LOOPXCH A,3AH ;取最小数MOV 3BH,ASJMP $3.部RAM的X,Y 单元中各存放一个带符号的数,试编程实现按如下条件进行的运算,并将结果存入Z单元中。
若X为正奇数,Z =X+Y;word版本.若X为正偶数,Z =X∨Y;若X为负奇数,Z =X∧Y;若X为负偶数,Z =X⊕Y。
分析:负数:第7位为1,正数:第7位为0奇数:第0位为1,偶数:第0位为0ORG 0000HMOV A,20HCLR CRL AJC FS ;移到负数处处理RR ARR A ;第0位移到C 再判定一下是不是1 JC ZJS ;到正奇数处MOV A,20HORL A,21HMOV 22H,ASJMP OKZJS: MOV A,20HADD A,21HMOV 22H,ASJMP OKFS: MOV A,20HCLR CRR AJC FJS ;第0位是1,移到正奇数处理MOV A,20HXRL A,21HMOV 22H,ASJMP OKword版本.FJS: MOV A,20HANL A,21HMOV 22H,AOK: END4、把一个8位二进制数的各位用ASCII码表示之(亦即为“0”的位用30H表示,为“1”的位用31H表示)。
该数存放在部RAM中byte单元中。
变换后得到的8个ASCII码存放在外部RAM以buf始的存储单元中去。
ORG 0030HMOV R0,#byteMOV DPTR,#bufMOV R5,#08HMOV A,R0LOOP: RLC AMOV R7,AJC LOOP1MOV A,#30HSJMP LOOP2LOOP1: MOV A,#31HLOOP2: MOVX DPTR,AMOV A,R7INC DPTRDJNZ R5,LOOP5.编程实现运算式c = a2+b2假定a、 b、 c 3个数分别存放在部RAM的DA、DB、DC单元中,别有平方运算子程序调用。
(部RAM的DA、DB、DC单元设为20H 21H 22H)ORG 0000Hword版本.MOV A,20HPUSH ACCAJMP SQRPOP ACCMOV 22H,AMOV A,21HPUSH ACCAJMP SQRPOP ACCADD A,22HMOV 22H,AEND6、比较两个ASCII码字符串是否相等。
字符串的长度在部RAM 41H单元,第一个字符串的首地址为42H,第二个字符串的首地址为52H。
如果两个字符串相等,则置部RAM 40H单元为00H;否则置40H单元为FF。
ORG 0030HMOV R0,#42HMOV R1,#52HMOV R7,41H ;字符串长度LOOP: MOV A,R0MOV 30H,R1CJNE A,30H,LKINC R0INC R1DJNZ R7,LOOPMOV 40H ,#00HSJMP DDLK: MOV 40H,#0FFHDD: SJMP DDword版本.7.外部RAM首址为table的数据表中,有10个字节的数据。
编程将每个字节的最高位无条件地置“1”。
ORG 0030HMOV DPTR,#tableMOV R6,#10LOOP:MOVX A,DPTRSETB E7H; E7H就是累加器A的最高位(ACC.7), 也可 : SETB ACC.7MOVX DPTR,AINC DPTRDJNZ R6,LOOP3.编写程序将RAM20H-23H单元的高4位写1,低4位写0。
分析:就是把这四个单元写入F0H。
用一个DJNZ的循环。
ORG 0000HMOV R0,#1FH ;R0指向20H单元MOV R5,#04H; 四个数LOOP: INC R0MOV R0,#0F0H ; 写入DJNZ R5,LOOP ; 循环4次END4.把m和m+1单元存有两个BCD数,将它们合并到m单元中,编写程序完成。
(设m=30H, 高位在30H,低数在31H)ORG 0000HMOV A,30HANL A,#0FH ;把它的高四位清零SWAP AMOV 30H ,A ;高低四位调一下,放回原处word版本.MOV A,31HANL A,#0FHORL A,30H ;合并起来MOV 30H,AEND5.将部RAM中从data单元开始的10个无符号数相加,其和送sum单元多,假定相加结果小于255。
编写程序完成。
(设data=30H, sun =50H)ORG 0000HMOV R0,#2FH ; 指向前一个单元MOV R5,#0AH ;循环10次CLR A ;先加到A中LOOP: INC R0ADD A,R0DJNZ R5,LOOPMOV 50H,AEND6.假定8位二进制带符号数丰于R0中,要求编写一个求补程序,所得补码入入R1中。
ORG 0000HMOV A,R0CPL A ;按位取反ADD A,#01H ;+1MOV R1,AEND一、填空题word版本.1. 25H 40H 03H2.2.914ms3.略4.(A) =((30H) (A) >(30H) (A) < (30H)5. 32.87ms编程题1.把长度为10H的字符串从部RAM的输入缓冲区inbuf向位物外部RAM的输出缓冲区outbuf传送,一直进行到遇见回车或整个字符串传送完毕。
试编程实现。
ORG 0030HMOV R0,#inbufMOV R1,#outbufMOV R4,#10HLOOP:MOV A,R0 ; 从部RAM取数CJNE A,#0DH,LL ;是否为回车符CRSJMP STOP ;是转停止传送LL: MOVX R1,A ;不是则传送到外部RAMINC R0INC R1DJNZ R4,LL;沒传送完则循环STOP: SJMP $2、部RAM从list单元开始存放一正数表,表中之数作无序排列,并以“-1”作结束标志。
编程实现在表中找出最小数。
(3AH存放在运行程序时的最小的数)ORG 0030HMOV R0,#listMOV A,R0 ;取第一个正数LOOP: INC R0 ;指向下一个正数MOV 3AH,R0CJNE A,3AH,CHK ;前一个数与后一个数比较CHK: JC LOOP1 ;前一个数小,则转word版本.MOV A,R0 ;前一个数大,取后一个数LOOP1: XCH A,3AHCJNE A,#0FFH,LOOPXCH A,3AH ;取最小数MOV 3BH,ASJMP $3.部RAM的X,Y 单元中各存放一个带符号的数,试编程实现按如下条件进行的运算,并将结果存入Z单元中。
若X为正奇数,Z =X+Y;若X为正偶数,Z =X∨Y;若X为负奇数,Z =X∧Y;若X为负偶数,Z =X⊕Y。
分析:负数:第7位为1,正数:第7位为0奇数:第0位为1,偶数:第0位为0ORG 0000HMOV A,20HCLR CRL AJC FS ;移到负数处处理RR ARR A ;第0位移到C 再判定一下是不是1JC ZJS ;到正奇数处MOV A,20HORL A,21HMOV 22H,ASJMP OKZJS: MOV A,20HADD A,21HMOV 22H,Aword版本.SJMP OKFS: MOV A,20HCLR CRR AJC FJS ;第0位是1,移到正奇数处理MOV A,20HXRL A,21HMOV 22H,ASJMP OKFJS: MOV A,20HANL A,21HMOV 22H,AOK: END4、把一个8位二进制数的各位用ASCII码表示之(亦即为“0”的位用30H表示,为“1”的位用31H表示)。