第06章单片机串行通信系统习题解答
单片机原理与应用课后习题答案

课后思考题级习题答案思考题与习题1一、填空通用型 和 专用型 。
微控制器 和 单片微型计算机 。
二、简答1.什么是单片机?答:单片机也称微控制器,它是将中央处理器、程序处理器、数据处理器、输入/输出接口、定时/计数器串行口、系统总线等集成在一个半导体芯片上的微计算机,因此又称为单片微型计算机,简称为单片机。
2.简述单片机的特点和应用领域。
答:〔1〕单片机体积小,应用系统结构简单,能满足很多应用领域对硬件功能的要求。
〔2〕单片机的可靠性高。
〔3〕单片机的指令系统简单,易学易用。
〔4〕单片机的开展迅速,特别是最近几年,单片机的部结构越来越完善。
3.写出AT89S51与AT89S52芯片的主要区别。
部程序存储区容量不同,52的程序存储空间为8K ,部数据存储空间为256B ,中断源8个,定时器/计数器有3个,而51的程序存储空间为4K ,部数据存储空间为128B ,中断源5个,定时器/计数器有2个。
思考题与习题2一、填空题1.如果〔PSW 〕=10H, 如此部RAM 工作存放器区的当前存放器是第二 组存放器,8个存放器的单元地址为 10H ~ 17H 。
2.为寻址程序状态字F0位,可使用的地址和符号有 PSW.5 、 0D0H.5 、 F0 和 0D5H 。
3.单片机复位后,〔SP 〕= 07H ,P0~P3= FFH ,PC= 0000H ,PSW= 00H A= 00H 。
PC 决定的,由于AT89S51单片机的PC 是 16 位的,所以最大寻址围为 64KB 。
5.写出位地址为20H 所在的位,字节地址 24H.0 。
07H ,最低位的位地址为 00H 。
MHz 6OSC f ,如此一个时钟周期为,一个机器周期为2us 。
8. AT89S51单片机共有26个特殊功能存放器。
9. AT89S51单片机片外数据存储器最多可以扩展64KB 。
10.如果CPU 从片外ROM 的0000H 单元开始执行程序,那么EA 引脚应接 低电平。
单片机课后习题答案

《单片机原理及应用》习题参考答案第一章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章思考题及习题参考答案1写出下列二进制数的原码、反码和补码(设字长为8位)。
(1)001011 (2)100110(3)-001011 (4)-111111答:(1)原码:00001011 反码:00001011 补码:00001011(2)原码:00100110 反码:00100110 补码:00100110(3)原码:10001011 反码:11110100 补码:11110101(4)原码:10111111 反码:11000000 补码:110000012已知X和Y,试计算下列各题的[X+Y]补和[X-Y]补(设字长为8位)。
(1) X=1011 Y=0011(2) X=1011 Y=0111(3) X=1000 Y=1100答:(1)X补码=00001011 Y补码=00000011 [–Y]补码=11111101[X+Y]补=00001110 [X-Y]补=00001000(2)X补码=00001011 Y补码=00000111 [–Y]补码=11111001[X+Y]补=00010010 [X-Y]补=00000100(3)X补码=00001000 Y补码=00001100 [–Y]补码=11110100[X+Y]补=00010100 [X-Y]补=111111003 微型计算机由那几部分构成?答:微型计算机由微处理器、存储器和I/O接口电路构成。
各部分通过地址总线(AB)、数据总线(DB)和控制总线(CB)相连。
4 8086的寻址范围有多大?其物理地址是如何形成?答:8086有20根地址总线,它可以直接寻址的存储器单元数为1M字节,其地址区域为00000H—FFFFFH。
物理地址是由段地址与偏移地址共同决定的,物理地址=段地址×16+偏移地址其中段地址通常来自于段寄存器CS ,物理地址来自于IP。
5 什么叫单片机?它有何特点?答:单片机就是在一块硅片上集成了CPU、RAM、ROM、定时器/计数器和多种I/O口(如并行、串行及A/D变换器等)的一个完整的数字处理系统。
单片机课后题答案

第三章习题解答4.在8051片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H,试分析下段程序中各条指令的作用,说出按顺序执行完指令后的结果:MOV A.40H ;(A)=48HMOV R1,A ;(R1)=48HMOV P1,#0FOH ;(P1)=F0HM0V @R1,30H ;(48H)=38HMOV DPTR,#1234H ;(DPTR)=1234HMOV 40H,38H ;(40H)=40HMOV R1,30H ;(R1)= 38HMOV 90H,R1 ;(90H)= 38H ,P1的地址为90HMOV 48H,#30H ;(48H)= 30HMOV A,@R1 ; (A)= 40HMOV P2,P1 ; (P2)= 38H F0H错误8.试编程将片外数据存储器80H单元的内容送到片内RAM的2BH单元。
MOV DPTR, #0080H 或:MOV R0, #80HMOVX A, @DPTR MOV P2,#00HMOV 2BH, A MOVX A, @R0MOV 2BH, A10.试编程将片内RAM20H单元中的两个BCD数拆开,并变成相应的ASCII码存入片内RAM 21H和22H单元。
MOV A, 20H ;20H的内容不变ANL A,#0F0HSWAP A ;4次移位 RR A 也可以ADD A,#30HMOV 21H, AMOV A, 20HANL A,#0FHADD A,#30HMOV 22H, A12.试分析以下两段程序中各条指令的作用,程序执行完后转向何处?(1) MOV P1,#0CAH ;(P1)= 11001010MOV A,#56H ;(A)= 01010110JB P1.2,L1JNB ACC.3,L2 ;转向L2L1:…L2:…(2)MOV A,#43H ;(A)=01000011JBC ACC.2,L2JBC ACC.6,L2 ;转向L2L1:…L2:…18.分析下列程序执行后,(SP)的值。
《单片机》课后习题及答案

《单片机》课后习题及答案单片机是计算机科学与技术中的重要领域之一,学习单片机的过程中,习题是不可或缺的一部分。
通过解答习题,不仅可以加深对单片机知识的理解,还可以培养解决问题的能力。
本文将为大家介绍一些经典的单片机习题,并提供详细的答案解析。
一、基础知识题1. 请简述单片机的定义及其作用。
答:单片机是一种集成度极高的微型计算机系统,它包括中央处理器、存储器、输入/输出接口和时钟电路等基本组成部分。
单片机广泛应用于嵌入式系统、仪器仪表、工控设备等领域,能够完成各种控制、计算、通信等任务。
2. 请列举常见的单片机类型及其特点。
答:常见的单片机类型有AVR系列、PIC系列、STM32系列等。
它们的特点如下:- AVR系列:低功耗、性能稳定、易于编程调试。
- PIC系列:成本较低、易于学习上手,适用于简单的应用场景。
- STM32系列:性能强大、资源丰富、支持多种外设接口。
3. 单片机的时钟输入一般采用什么方式?请简要说明原因。
答:单片机的时钟输入一般采用晶体振荡器的方式。
晶体振荡器具有稳定的振荡频率和相位,能够提供可靠的时钟信号,保证单片机各个部件按时序工作。
二、编程习题1. 编写一个程序,实现LED灯在不同时间间隔下的闪烁。
答:以下是示例代码:```c#include <reg51.h>sbit LED = P1^0;void delay(unsigned int ms){unsigned int i, j;for(i = ms; i > 0; i--)for(j = 110; j > 0; j--);}void main(){while(1){LED = 0; // 点亮LED灯delay(500); // 延时500msLED = 1; // 熄灭LED灯delay(500); // 延时500ms}}```2. 编写一个程序,实现通过按键控制LED灯的亮灭。
答:以下是示例代码:```c#include <reg51.h>sbit LED = P1^0;sbit KEY = P2^0;void delay(unsigned int ms){unsigned int i, j;for(i = ms; i > 0; i--)for(j = 110; j > 0; j--);}void main(){while(1){if(KEY == 0) // 如果按键按下{LED = ~LED; // 切换LED灯的状态delay(500); // 延时500ms,防止按键抖动}}}```三、应用题1. 设计一个温度监测系统,当温度超过设定的阈值时,点亮LED 灯并发出蜂鸣器警报。
单片机原理及接口技术-习题答案第四版李朝青(修订后)

单片机原理及接口技术课后习题答案(第四版)李朝青第一章1.什么是微处理器(CPU)、微机和单片机?答微处理器本身不是计算机,但它是小型计算机或微机的控制和处理部分。
微机则是具有完整运算及控制功能的计算机,除了微处理器外还包括存储器、接口适配器以及输入输出设备等。
单片机是将微处理器、一定容量的RAM、ROM以及I/O口、定时器等电路集成在一块芯片上,构成的单片微型计算机。
2.单片机具有哪些特点(1)片内存储容量越来越大。
(2 抗干扰性好,可靠性高。
(3)芯片引线齐全,容易扩展。
(4)运行速度高,控制功能强。
(5)单片机内部的数据信息保存时间很长,有的芯片可以达到100年以上。
3. 微型计算机怎样执行一个程序?答:通过CPU指令,提到内存当中,再逐一执行。
4. 微型计算机由那几部分构成?微处理器,存储器,接口适配器(即I/O接口),I/O设备第二章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只访问片内并执行内部程序,存储器。
/EA端接低电平时,CPU只访问外部ROM,并执行片外程序存储器中的指令。
/EA 端保持高电平时,CPU执行内部存储器中的指令。
3. 89C51的存储器分哪几个空间?如何区别不同空间的寻址?答:ROM(片内ROM和片外ROM统一编址)(使用MOVC)(数据传送指令)(16bits 地址)(64KB)片外RAM(MOVX)(16bits地址)(64KB)片内RAM(MOV)(8bits地址)(256B)4. 简述89C51片内RAM的空间分配。
单片机原理及接口技术课后答案

单片机原理及接口技术课后答案第一题:简述单片机的工作原理单片机是一种集成电路,内部拥有中央处理器、内存、输入/输出端口等多种功能模块。
单片机的工作原理主要分为三个步骤:取指、执行和存储。
在取指阶段,单片机通过地址总线从存储器中获取指令,并将其存储在指令寄存器中。
指令寄存器中的指令会被解码器解码,确定具体的操作。
在执行阶段,CPU根据指令寄存器中的指令执行相应的操作。
这包括运算操作、逻辑操作、移位操作等。
执行的结果会被存储在通用寄存器中。
在存储阶段,CPU将操作结果存储在内存或者其他寄存器中。
同时,如果需要将结果输出到外设,CPU会通过输出端口将数据传输到相应的外设。
通过这些步骤的循环执行,单片机可以完成各种任务,实现各种功能。
第二题:简述单片机的输入/输出接口技术单片机的输入/输出接口技术主要通过引脚、端口和中断实现。
单片机的引脚连接外部电路,用于与外部设备交互。
引脚可以通过软件控制为输入或输出模式,并可以通过特定的寄存器进行读写操作。
单片机的端口是对引脚的集合,通过对端口模式和端口数据的设置,可以实现对多个引脚的控制。
例如,可以将一个端口的多个引脚设置为输出模式,并通过给端口数据赋值来同时控制这些引脚的电平状态。
中断是单片机实现输入/输出的一种重要方式。
当外部事件(例如按键按下、定时器溢出等)发生时,单片机将会中断当前的工作,执行中断服务程序来处理该事件。
中断可以提高系统的响应速度和灵活性。
通过以上的输入/输出接口技术,单片机可以方便地与外部设备进行通信和数据交换,实现各种功能和应用。
第三题:简述单片机的串行通信接口单片机的串行通信接口是一种用于与其他设备进行数据传输的接口。
常见的串行通信接口有SPI和I2C。
SPI(Serial Peripheral Interface)是一种同步的串行接口,使用四根线(时钟线、数据线、选择线和数据传输方向线)进行数据传输。
SPI可以实现高速的全双工通信,并且可以与多个外部设备进行连接,通过选择线来选择通信的目标设备。
单片机的课后习题答案

单片机的课后习题答案单片机的课后习题答案在学习单片机的过程中,课后习题是非常重要的一环。
通过解答习题,我们可以巩固所学的知识,提高自己的实践能力。
下面是一些常见的单片机课后习题及其答案,希望对大家的学习有所帮助。
1. 什么是单片机?答:单片机是一种集成电路芯片,具有中央处理器、存储器和各种输入输出接口等功能。
它能够完成各种控制任务,广泛应用于电子产品、仪器仪表、通信设备等领域。
2. 请简述单片机的工作原理。
答:单片机通过接收输入信号,经过处理后,控制输出信号。
其工作原理可以概括为:输入信号经过外部输入接口输入到单片机内部,单片机通过中央处理器对输入信号进行处理,然后根据处理结果通过输出接口控制外部设备。
3. 什么是中断?答:中断是一种机制,用于在单片机运行过程中,处理外部事件的优先级。
当发生中断事件时,单片机会立即中断当前任务,转而执行中断服务程序,处理完中断事件后再返回原来的任务。
4. 请简述中断的优点。
答:中断具有以下几个优点:- 灵活性:中断可以随时响应外部事件,提高系统的实时性和灵活性。
- 高效性:通过中断,可以及时处理紧急事件,提高系统的处理效率。
- 可靠性:中断可以确保关键任务的执行,避免因外部事件而导致的系统故障。
5. 请简述定时器的作用。
答:定时器是单片机中常用的一种外设,用于产生精确的时间延迟。
通过定时器,我们可以实现定时、计数、测量等功能,广泛应用于各种计时、控制、通信等场景。
6. 如何使用定时器产生1秒的延时?答:以8051单片机为例,可以通过设置定时器的初值和工作模式来实现1秒的延时。
具体步骤如下:- 设置定时器的初值,使其在溢出前计数器的值为65536-(机器周期/定时器时钟周期)*(所需延时时间/定时器溢出时间)。
- 设置定时器的工作模式,选择合适的时钟源和分频系数。
- 等待定时器溢出,即可实现1秒的延时。
7. 请简述串口通信的原理。
答:串口通信是一种常用的数据传输方式,通过串行传输数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第6章单片机串行通信系统习题解答
一、填空题
1.在串行通信中,把每秒中传送的二进制数的位数叫波特率。
2.当SCON中的M0M1=10时,表示串口工作于方式 2 ,波特率为 fosc/32或fosc/64 。
3.SCON中的REN=1表示允许接收。
4.PCON 中的SMOD=1表示波特率翻倍。
5.SCON中的TI=1表示串行口发送中断请求。
6.MCS-51单片机串行通信时,先发送低位,后发送高位。
7.MCS-51单片机方式2串行通信时,一帧信息位数为 11 位。
8.设T1工作于定时方式2,作波特率发生器,时钟频率为,SMOD=0,波特率为时,T1的初值为 FAH 。
9.MCS-51单片机串行通信时,通常用指令 MOV SBUF,A 启动串行发送。
10.MCS-51单片机串行方式0通信时,数据从引脚发送/接收。
二、简答题
1.串行口设有几个控制寄存器它们的作用是什么
答:串行口设有2个控制寄存器,串行控制寄存器SCON和电源控制寄存器PCON。
其中PCON中只有的SMOD与串行口的波特率有关。
在SCON中各位的作用见下表:
2.MCS-51单片机串行口有几种工作方式各自的特点是什么
答:有4种工作方式。
各自的特点为:
3.MCS-51单片机串行口各种工作方式的波特率如何设置,怎样计算定时器的初值 答:串行口各种工作方式的波特率设置:
工作方式O :波特率固定不变,它与系统的振荡频率fosc 的大小有关,其值为fosc/12。
工作方式1和方式3:波特率是可变的,波特率=(2SMOD/32)×定时器T1的溢出率 工作方式2:波特率有两种固定值。
当SM0D=1时,波特率=(2SM0D/64)×fosc=fosc/32
当SM0D=0时,波特率=(2SM0D/64)×fosc=fosc/64
计算定时器的初值计算:
4.若fosc = 6MHz ,波特率为2400波特,设SMOD =1,则定时/计数器T1的计数初值为多少并进行初始化编程。
答:根据公式
N=256-2SMOD ×fosc /(2400×32×12)= ≈243 =F3H
TXDA: MOV TMOD,#20H ;置T1定时器工作方式2
MOV TL1,#0F3H ;置T1计数初值.
MOV TH1,#0F3H
B
f B f N OSC SMOD OSC SMOD ⨯⨯-=⨯⨯⨯-=384225612322256
MOV PCON,#80H ;置SMOD =1
5.用8051串行口外接CD4094扩展8位并行输出口,驱动8个LED发光二极管。
画出硬件电路图,编写程序,使LED发光二极管从左到右依次闪亮。
答:电路图如下
LED发光二极管从左到右循环点亮的C51参考程序:
#include<> 7f1”Proteus下,仿真实现节内容。
答:全自动洗衣机串行方式时间显示Proteus仿真
为节省单片机并口资源,全自动洗衣机时间显示可用串口实现。
一次洗衣时间一般不会超过99分钟,用2位LED数码管显示时间即可。
电路如图6-9所示。
的移位寄存器,功能是接收AT89C51单片机串行通信口输出的串行数据并转换成并行数据输出,从而驱动LED数码管显示。
74LS164的1、2脚为数据输入端,接单片机串行口的RXD 端(脚),74LS164的第8脚为时钟脉冲输入端(CLK),接单片机串行口的TXD端(脚),第9脚R为清零端,低电平清零,正常工作时接高电平。
两只LED数码管采用共阴极静态显示方式。
下列程序实现串行两位LED数码管时间显示,显示范围为00—99分钟。
使用串行口进行信息传送,程序编写相当简单,用户只需将需要显示的数据直接送串口发送缓冲器,等待串行中断即可。
汇编语言参考程序:
ORG 0000H ;在0000H单元存放转移指令
LJMP NAIN ;转移到主程序
ORG 000BH ;定时器T0的中断入口地址
LJMP INTERRUPT ;转移到中断子程序
ORG 0200H ;主程序从0200H开始
MAIN: MOV TMOD,#01H ;使用定时器T0,工作方式1
MOV TH0, #3CH ;置初T0值50ms
MOV TL0, #0B0HH
MOV R0,#0 ;用于存1秒的计数次数
SETB EA ;开中断总允许
SETB ET0 ;允许T0中断
SETB TR0 ;启动计时
LOOP: LCALL Display ;循环调用显示子程序
SJMP LOOP
TAB: DB 3FH,06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH ;0~9的共阴极段码DISPLAY: ;显示子程序(显示分钟)
MOV DPTR, #TAB ;将表首地址赋给DPTR
MOV A, 30H ;将30H中存放的分计数赋给累加器A
MOV B, #0AH ;将10赋给累加器B
DIV AB ;分计数除以10得十位数放在A中,个位数放在B中
MOVX A, @A+DPTR ;查表得十位数的`显示段码
MOV SBUF, A ;发送十位数
L1: JBC TI, L2 ;判是否发送完,未发完循环等待,若发完则转L2 SJMP L1
L2: MOV A, B ;将个位数赋给累加器A
MOVX A, @ A+DPTR ;查表得个`位数的显示段码
MOV SBUF, A ;发送个位数
L3: JBC TI, L4 ;判是否发送完,未发完循环等待,若发完则转L4 SJMP L3
L4: RET ;子程序返回
INTERRUPT: ;中断服务子程序
INC R0 ;每中断一次(50ms)加1
CJNE R0, #20, L5 ;判是否中断20次,若不是则转L5中断返回,若是则顺序执行CLR R0 ;到1秒钟,清R0
INC R1 ;秒计数加1
CJNE R1, #60, L5 ;判秒是否计满60次,若未满则转L5中断返回,若满则顺序执行
CLR R1 ;如果秒计满60,将秒计数单元内容清0
INC 30H ;分钟计数单元30H内容加1
CJNE 30H, #99, L5 ;判分是否计满99次,若未满则转L5中断返回,若满则顺序执行
CLR R1 ;如果分计满99,将秒计数单元内容清0
CLR 30H ;同时将分计数单元内容清0
L5: MOV TH0, #3CH ; 定时器重新赋初值
MOV TL0, #0B0HH
RETI ;中断返回
C语言参考程序:
#include<> 3f4f7f6fProteus下,仿真实现例6-2内容。
答:电路如图6-8所示,试编制程序输入K1~K8的状态信息,并存入内部RAM 40H。
图6-8 串行通讯方式0应用
4014 是一个并入串出转换芯片,Q8端为串行数据输出端,CLK为时钟脉冲输入端,P/S 为操作控制端,P/S=1:锁存并行输入数据,P/S=0:允许串行移位操作。
要完成题目的要求,应先将开关状态锁存,然后串行传送给单片机。
在Proteus下画出电路图。
汇编语言参考程序如下:
ORG 0000H ;上电后程序从00000H开始,在0000H单元存放转移指令
LJMP KIN ;转移到主程序
ORG 0100H ;主程序从0100H开始
KIN: MOV SCON,#00H ;设定串行口为方式0
CLR ES ;禁止串行中断
SETB ;锁存并行输入数据
CLR ;允许串行移位操作
SETB REN ;允许并启动接收(TXD发送移位脉冲)
JNB RI,$ ;等待接收完毕
MOV 40H,SBUF ;存入K1~K8状态数据
SJMP $ ;循环等待
END ;汇编结束
C语言参考程序:
# include <> //包含特殊功能寄存器库
sbit P1_0=P1^0; //定义口,程序中用P1_0代替。
void main() //主函数
{
unsigned char i; //定义变量i,将接收到的数据放到变量i中。
P1_0=1; //锁存并行输入数据
P1_0=0; //允许串行移位操作
SCON=0x00; //设定串行口为方式0
while (!RI) {;} //等待接收完毕
RI=0; //清中断标志
i=SBUF; //存入K1~K8状态数据
……
}。