单片机__第四章答案
- 格式:ppt
- 大小:217.51 KB
- 文档页数:13
第4章习题答案一、填空题1.机器语言2.机器汇编、手工汇编3.AREA1=1000H、BUF=1004H、TIME=01H、ACK=1006H4.(A)=4FH、(R0)=4BH、(R1)=E5H、(21H)=D8H、(22H)=4BH、(2FH)=E5H二、简答题1.什么叫伪指令?伪指令与指令有什么区别?答:所谓伪指令又称为伪操作,它不象机器指令那样是在程序运行期间由计算机来执行的,它是在汇编程序对源程序汇编时,由汇编程序处理的操作,它们可以完成如数据定义、分配存储器、指示程序结束等功能。
2.汇编语言的格式是怎样的?汇编语言语句格式为:标号:操作码操作数;注释3.MCS-51系列单片机有哪些伪指令?它们的用途是什么?(1)编起始地址命令ORG功能:规定此命令之后的程序或数据的存放起始地址。
(2)定义字节伪指令格式:[标号:] DB X1,X2, (X)功能:从指定地址开始,存放若干字节数据。
(3)字定义伪指令格式:[标号:] DW Y1,Y2,…,Yn功能:从指定地址开始,存放若干字数据。
(4)汇编结束伪指令END功能:该伪指令指出结束汇编,即使后面还有指令,汇编程序也不处理。
(5)赋值伪指令格式:标号 EQU 表达式功能:将表达式的值(数据或地址)赋给标号。
(6)位定义伪指令格式:[标号] BIT 位地址功能:将位地址赋给标号。
4.汇编语言程序设计分为哪几个步骤?答:汇编语言程序设计一般要经过以下几个步骤:(1)分析问题,明确任务(2)确定算法(3)画出程序流程图(4)编写源程序(5)汇编和调试5.结构化程序设计有哪几种常用的程序结构?答:顺序结构、分支结构、循环结构和子程序结构6.子程序调用时,参数的传递方法有哪几种?答:常用的参数传递方法有:工作寄存器或累加器、指针寄存器、堆栈和程序段等。
7.分析下列程序的功能。
X DATA 30HY DATA 32HMOV A,XJNB ACC.7,TRUECPL AADD A,#01HTRUE:MOV Y,A答:该段程序的功能是:当30H单元的最高位不为0时,则把30H单元的内容送32H 单元,当30H单元的最高位为0时,则把30H单元的内容求反加1后送32单元。
第 4 章 单片机内部功能模块习题解答1. 什么是中断?中断有何优点?中断是指计算机在执行程序的过程中,由于计算机系统外界或内部发生某一紧急事件,要求CPU 暂时中止当前的工作转去处理所发生的紧急事件,待处理完后再回到原来被中止的地方,继续原来的工作的过程。
在计算机中引入中断技术具有以下优点:(1)可以提高CPU 的工作效率;(2)便于实时处理;(3)便于故障处理,提高系统的稳定性。
2. MCS-51单片机的中断系统有哪些功能部件组成?分别作什么用?MCS-51单片机的中断系统有4个与中断有关的特殊功能寄存器(TCON 、SCON ),中断允许控制寄存器IE ,中断优先级寄存器IP 和中断顺序查询逻辑等组成。
其功能分别为:TCON 用于寄存定时器T0、T1的溢出中断和外部0INT 、1INT 的中断请求及设置外部中断的触发方式;SVON 的低2位用于作串行发送和接收中断标志;IE 用于设置各中断源允许和禁止;IP 用于设置各中断源的优先级别;中断查询逻辑用于确定中断响应的次序。
3. MCS-51单片机有几个中断源?各中断标志如何产生,又如何清除?MCS-51有五个中断源,它们是:(1)外部中断0(0INT )中断,低电平有效。
通过P3.2引脚引入。
(2)外部中断1(1INT )中断,低电平有效。
通过P3.3引脚引入。
(3)定时/计数器0(T0)溢出中断。
(4)定时/计数器1(T1)溢出中断。
(5)串行口中断,当串行口完成一帧数据的发送和接收时,便请求中断。
中断标志位产生与复位:(1)外部中断0(0INT )中断标志:当外部中断0引脚0INT 上的电平由1变为0时,IE0由硬件置“1”,外部中断0请求中断。
在CPU 响应该中断时由硬件清0。
(2)外部中断1(1INT )中断标志:当外部中断1引脚1INT 上的电平由1变为0时,IE1由硬件置“1”,外部中断1请求中断。
在CPU 响应该中断时由硬件清0。
单片机原理及应用第三版课后答案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、何为“准双向I/O接口”?在MCS-51单片机的四个并口中,哪些是“准双向I/O接口”?准双向I/O接口是能实现输入输出功能,但在使用时只能从输入和输出中选择一个。
MCS-51单片机的四个并口中P1、P2、P3是准双向I/O接口。
2、80C51单片机有几个定时/计数器?它们由哪几个功能寄存器组成?怎样实现定时功能和计数功能?80C51单片机内部有两个16位的可编程定时/计数器,由TH0,TL0,TH1,TL1,TMOD和TCON功能寄存器组成。
通过TMOD中的C/T位选择对机器周期计数实现计数功能,选择对外部脉冲计数实现计数功能。
3、定时/计数器T0有几种工作方式?各自的特点是什么?M1M0工作方式方式说明00013位定时/计数器01116位定时/计数器1028位自动重置定时/计数器113两个8位定时/计数器(只有T0有)4、定时/计数器的四种工作方式各自的计数范围是多少?如果要计10个单位,不同的方式的初值应是多少?有四种方式。
方式0计数范围:1~8192;方式1计数范围:1~65536;方式2计数范围:1~256;方式3计数范围:1~256。
如果计10个单位,方式0初值为:8192-10=8182;方式1初值为:65536-10=65526;方式2初值为:256-10=246;方式2初值为:256-10=246。
5、设振荡频率为12MHz,如果要用定时器T0产生周期为100ms的方波,可以选择哪几种方式,其初值分别是多少?只能选择方式1,初值为65536-50000=155366、何为同步通信?何为异步通信?各自的特点是什么?异步通信方式的特点是数据在线路上传送时是以一个字符(字节)为单位,未传送时线路处于空闲状态,空闲线路约定为高电平“1”。
特点是对发送时钟和接收时钟的要求相对不高,线路简单,但传送速度较慢。
同步通信方式的特点是数据在线路上传送时以字符块为单位,一次传送多个字符,传送时须在前面加上一个或两个同步字符,后面加上校验字符。
习题1.C51特有的数据类型有哪些?答:C51特有的数据类型有位型bit、特殊位型sbit、8位特殊功能寄存器型sfr和16位特殊功能寄存器型sfr16。
2.C51中的存储器类型有几种,它们分别表示的存储器区域是什么?答:C51中的存储器类型有6种,分别表示的存储器区域是:data:直接寻址的片内RAM低128B,访问速度快bdata:片内RAM的可位寻址区(20H~2FH),允许字节和位混合访问idata:间接寻址访问的片内RAM,允许访问全部片内RAMpdata:用Ri间接访问的片外RAM低256Bxdata:用DPTR间接访问的片外RAM,允许访问全部64KB片外RAMcode:程序存储器ROM 64KB空间3.在C51中,bit位与sbit位有什么区别?答:bit位类型符用于定义一般的位变量,定义的位变量位于片内数据存储器的位寻址区。
定义时不能指定地址,只能由编译器自动分配。
sbit位类型符用于定义位地址确定的位变量,定义的位变量可以在片内数据存储器位寻址区,也可为特殊功能寄存器中的可位寻址位。
定义时必须指明其位地址,可以是位直接地址,也可以是可位寻址的变量带位号,还可以是可位寻址的特殊功能寄存器变量带位号。
4.在C51中,通过绝对地址来访问的存储器有几种?答:绝对地址访问形式有三种:宏定义、指针和关键字“_at_”。
5.在C51中,中断函数与一般函数有什么不同?答:中断函数是C51的一个重要特点,C51允许用户创建中断函数。
中断函数用interrupt m修饰符,m的取值为0~31,对应的中断情况如下:0——外部中断01——定时/计数器T02——外部中断13——定时/计数器T14——串行口中断5——定时/计数器T2中断函数需要注意如下几点。
(1)中断函数不能进行参数传递(2)中断函数没有返回值(3)在任何情况下都不能直接调用中断函数(4)如果在中断函数中调用了其他函数,则被调用函数所使用的寄存器必须与中断函数相同(5)C51编译器对中断函数编译时会自动在程序开始和结束处加上相应的内容(6)C51编译器从绝对地址8m+3处产生一个中断向量(7)中断函数最好写在文件的尾部,并且禁止使用extern存储类型说明6.按给定的存储类型和数据类型,写出下列变量的说明形式。
第4章部分习题答案作业:7、8、9、10、11、15、17、19、204.7设内部RAM 20H单元有两个非零的BCD数, 编写求两个BCD数的积并把积送入21H单元的程序。
ORG 1000HMOV A, 20HMOV B, A ; 保存SWAP AANL A, #0FH ;取高4位ANL B, #0FH ;取低4位MUL ABMOV B, #0AHDIV AB ;转换成BCD码的形式SWAP AORL A, BMOV 21H, ASJMP $END4.8已知从内部RAM BLOCK单元开始存放有一组带符号数,数的个数存放在LEN单元。
编写可以统计正数和负数个数并分别存入NUM和NUM+1单元的程序。
num org lOOOh data 30hlen data 20hblock data 40hmov rO, #blockmov num, #00h ;保存正数个数mov b, #00h ;保存负数个数loop: mov a, @r0inc rOjb acc.7, neginc numsjmp nextneg: inc bnext: djnz len, loopmov num+1, bsjmp $end 4.9设X为一无符号数,存放在内部RAM的VAX 单元,Y存放在FUNC单元。
编写满足如下关系的程序:X X>50Y =(5X 50> X > 202X X<20org 2000hvax data 20hfunc data 30hmov a, vaxcjne a, # 32h, complcompl: jc nextlmov func, asjmp donenextl: cjne a, #14h、comp2comp2: jc next2mov b, #05hmul abmov func, asjmp donenext2: clr crlc amov func, adone: sjmp $end4.10在例4.6的128分支程序中,若用LJMP指令代替AJMP指令,以便分支程序可以放在64KB地址范围的任何位置。
第4章 AT89C51单片机汇编语言程序设计1.已知程序执行前有A = 02H,SP = 42H,(41H) = FFH,(42H) = FFH。
下述程序执行后,A = ;SP = ;(41H) = ;(42H) = ;PC = 。
POP DPHPOP DPLMOV DPTR,#3000HRL AMOV B,AMOVC A,@A+DPTRPUSH AccMOV A,BINC AMOVC A,@A+DPTRPUSH AccRETORG 3000HDB 10H,80H,30H,80H,50H,80H答:A=80H,SP=40H,(51H)=50H,(52H)=80H ,PC=8050H。
2.说明伪指令的作用。
“伪”的含义是什么?常用伪指令的功能如何?答:伪指令不属于指令系统中的汇编语言指令,它是程序员发给汇编程序的控制命令。
只有在汇编前的源程序中才有伪指令。
所以“伪”体现在汇编后,伪指令没有相应的机器代码产生。
3.解释手工汇编、机器汇编、交叉汇编、反汇编术语概念。
答:(1)手工汇编:手工编程,首先把程序用助记符指令写出,然后通过查指令的机器代码表,逐个把助记符指令“翻译”成机器代码,这种人工查表“翻译”指令的方法称为手工汇编。
(2)机器汇编:是借助于微型计算机上的软件(汇编程序)来代替手工汇编,完成把助记符指令“翻译”成机器代码的工作。
(3)交叉汇编:使用微型计算机来完成汇编,而汇编后得到的机器代码却是在另一台计算机(这里是单片机)上运行,称这种机器汇编为交叉汇编。
(4)反汇编:将二进制的机器代码语言程序翻译成汇编语言源程序的过程。
4.下列程序段经汇编后,从1000H开始的各有关存储单元的内容是什么?ORG 1000HTAB1 EQU 1234HTAB2 EQU 3000HDB "MAIN"DW TAB1,TAB2,70H答:4D 41 49 4E 12 34 30 00 00 705.设计子程序时应注意哪些问题?答:在编写子程序时应注意以下问题。
单片机原理及应用第四章课后题答案
1.什么是单片机?
单片机是一种微型、多功能的数字集成电路,其中集成了计算机的核心功能,包括存储器、定时/计数器、输入/输出外设、可编程逻辑电路、音频处理等功能。
它可以执行复杂的运算和控制任务,并且比传统的微机更小、更节能、更耐用。
2.简述单片机的结构特点
单片机的结构特点主要有:(1)内置处理器:单片机内置着微处理器,它完成程序控制和数据处理;(2)内存:内置存储器,用以存放程序指令和运算数据;(3)输入/输出口:接口用于连接外围设备;(4)时序功能:提供定时、定时/计数功能;(5)可编程逻辑电路:可根据用户要求定义自己的逻辑电路功能;(6)多种功能模块:可连接有多种功能的模块,如ADC、UART、I2C等。
3.谈谈单片机的应用领域
单片机的应用领域极其广泛,主要涉及家电、工控自动化、汽车、影音机顶盒、游戏机、消费类电子产品、工业控制、公共交通等。
其核心技术、节能和灵活性使其在各个领域有着重要的应用,使其成为近年来电子设备的重要组成部分。
4.什么是常用的单片机?。
《单片机原理与接口技术》习题解答第4章习题解答4-1.简述下列基本概念。
答指令:CPU根据人的意图来执行某种操作的命令。
指令系统:一台计算机所能执行的全部指令集合。
机器语言:用二进制编码表示,计算机能直接识别和执行的语言。
汇编语言:用助记符、符号和数字来表示指令的程序语言。
高级语言:独立于机器的,在编程时不需要对机器结构及其指令系统有深入了解的通用性语言。
4-2.什么是计算机的指令和指令系统?答见1题。
4-3.简述80C51汇编指令格式。
答操作码[目的操纵数][,源操作数]4-4.简述80C51的寻址方式和所能涉及的寻址空间。
答立即数寻址:程序存储器ROM。
直接寻址:片内RAM低128B和特殊功能寄存器。
寄存器寻址:R0~R7,A,B,C,DPTR。
寄存器间接寻址:片内RAM低128B,片外RAM。
变址寻址:程序存储器64KB。
相对寻址:程序存储器256B范围。
位寻址:片内RAM的20H~2FH字节地址,部分特殊功能寄存器。
4-5.要访问特殊功能寄存器和片外数据存储器,应采用哪些寻址方式?答 SFR:直接寻址,位寻址;片外RAM:寄存器间接寻址。
4-6.在80C51片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H。
请分析下面各是什么指令,说明源操作数的寻址方式及按顺序执行后的结果。
答 MOV A,40H 直接寻址MOV R0,A 寄存器寻址MOV P1,#0F0H 立即数寻址MOV @R0,30H 直接寻址MOV DPTR,#3848H 立即数寻址MOV 40H,38H 直接寻址MOV R0,30H 直接寻址MOV P0,R0 寄存器寻址MOV 18H,#30H 立即数寻址MOV A,@R0 寄存器间接寻址MOV P2,P1 直接寻址均为数据传送指令,结果(参见下图)为30H38H40H48H(18H)=30H,(30H)=38H,(38H)=40H (40H)=40H,(48H)=90HR0=38H,A=40H,P0=38H,P1=FOH,P2=FOH,DPTR=3848H 4-7.对80C51片内RAM高128B的地址空间寻址要注意什么?答用直接寻址,寄存器寻址,位寻址。