第06章-单片机串行通信系统-习题解答
单片机原理及应用第6章80C51单片机的串行口
单片机原理及应用第6章80C51单片机的串行口80C51单片机是一种基于哈佛架构的8位单片机,具有强大的串行口功能。
串行口是一种通信接口,可以通过单根线传输数据。
本章将介绍80C51单片机的串行口原理及其应用。
一、80C51单片机的串行口原理80C51单片机的串行口包含两个寄存器,分别是SBUF(串行缓冲器)和SCON(串行控制寄存器)。
SBUF寄存器用来存储待发送或接收到的数据,SCON寄存器用来配置和控制串行口的工作模式。
80C51单片机的串行口有两种工作模式:串行异步通信模式和串行同步通信模式。
1.串行异步通信模式串行异步通信是指通信双方的时钟频率不同步,通信的数据按照字符为单位进行传输,字符之间有起始位、数据位、校验位和停止位组成。
80C51单片机的串行口支持标准的RS-232通信协议和非标准通信协议。
在串行异步通信模式下,SCON寄存器需要配置为相应的工作模式。
首先,需要选择串行口的工作模式。
80C51单片机支持第9位,即扩展模式,可以用来检测通信错误。
其次,需要设置波特率。
波特率是指数据每秒传输的位数,用波特率发生器(Baud Rate Generator,BRGR)来控制。
然后,需要设置起始位、数据位和停止位的配置,包括数据长度(5位、6位、7位或8位)、停止位的个数(1位或2位)。
在发送数据时,将待发送的数据通过MOV指令传送到SBUF寄存器,单片机会自动将数据发送出去。
在接收数据时,需要检测RI(接收中断)标志位,如果RI为1,表示接收到数据,可以通过MOV指令将接收到的数据读取到用户定义的变量中。
2.串行同步通信模式串行同步通信是指通信双方的时钟频率同步,在数据传输时需要时钟信号同步。
80C51单片机的串行同步通信支持SPI(串行外设接口)和I2C(串行总线接口)两种协议。
在串行同步通信模式下,SCON寄存器需要配置为相应的工作模式。
首先,需要选择串行口的工作模式。
80C51单片机支持主从模式,可以作为主设备发送数据,也可以作为从设备接收数据。
单片机原理与应用课后习题答案
课后思考题级习题答案思考题与习题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.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~7FH6. 怎样简捷地判断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)(特殊功能寄存器)8. 89C51 P0口用作通用I/O口输入时,若通过TTL“OC”门输入数据,应注意什么?为何?答:9. 读端口锁存器和“读引脚”有何不一样?各使用哪种指令?答:读锁存器(ANL P0,A)就是相称于从存储器中拿数据,而读引脚是从外部拿数据(如MOV A,P1 这条指令就是读引脚旳,意思就是把端口p1输入数据送给A)传送类MOV,判位转移JB、JNB、这些都属于读引脚,平时试验时常常用这些指令于外部通信,判断外部键盘等;字节互换XCH、XCHD算术及逻辑运算 ORL、CPL、ANL、ADD、ADDC、SUBB、INC、DEC控制转移CJNE、DJNZ都属于读锁存器。
单片机课后题答案
第三章习题解答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 灯并发出蜂鸣器警报。
单片机原理及接口技术课后答案
单片机原理及接口技术课后答案第一题:简述单片机的工作原理单片机是一种集成电路,内部拥有中央处理器、内存、输入/输出端口等多种功能模块。
单片机的工作原理主要分为三个步骤:取指、执行和存储。
在取指阶段,单片机通过地址总线从存储器中获取指令,并将其存储在指令寄存器中。
指令寄存器中的指令会被解码器解码,确定具体的操作。
在执行阶段,CPU根据指令寄存器中的指令执行相应的操作。
这包括运算操作、逻辑操作、移位操作等。
执行的结果会被存储在通用寄存器中。
在存储阶段,CPU将操作结果存储在内存或者其他寄存器中。
同时,如果需要将结果输出到外设,CPU会通过输出端口将数据传输到相应的外设。
通过这些步骤的循环执行,单片机可以完成各种任务,实现各种功能。
第二题:简述单片机的输入/输出接口技术单片机的输入/输出接口技术主要通过引脚、端口和中断实现。
单片机的引脚连接外部电路,用于与外部设备交互。
引脚可以通过软件控制为输入或输出模式,并可以通过特定的寄存器进行读写操作。
单片机的端口是对引脚的集合,通过对端口模式和端口数据的设置,可以实现对多个引脚的控制。
例如,可以将一个端口的多个引脚设置为输出模式,并通过给端口数据赋值来同时控制这些引脚的电平状态。
中断是单片机实现输入/输出的一种重要方式。
当外部事件(例如按键按下、定时器溢出等)发生时,单片机将会中断当前的工作,执行中断服务程序来处理该事件。
中断可以提高系统的响应速度和灵活性。
通过以上的输入/输出接口技术,单片机可以方便地与外部设备进行通信和数据交换,实现各种功能和应用。
第三题:简述单片机的串行通信接口单片机的串行通信接口是一种用于与其他设备进行数据传输的接口。
常见的串行通信接口有SPI和I2C。
SPI(Serial Peripheral Interface)是一种同步的串行接口,使用四根线(时钟线、数据线、选择线和数据传输方向线)进行数据传输。
SPI可以实现高速的全双工通信,并且可以与多个外部设备进行连接,通过选择线来选择通信的目标设备。
单片机的课后习题答案
单片机的课后习题答案单片机的课后习题答案在学习单片机的过程中,课后习题是非常重要的一环。
通过解答习题,我们可以巩固所学的知识,提高自己的实践能力。
下面是一些常见的单片机课后习题及其答案,希望对大家的学习有所帮助。
1. 什么是单片机?答:单片机是一种集成电路芯片,具有中央处理器、存储器和各种输入输出接口等功能。
它能够完成各种控制任务,广泛应用于电子产品、仪器仪表、通信设备等领域。
2. 请简述单片机的工作原理。
答:单片机通过接收输入信号,经过处理后,控制输出信号。
其工作原理可以概括为:输入信号经过外部输入接口输入到单片机内部,单片机通过中央处理器对输入信号进行处理,然后根据处理结果通过输出接口控制外部设备。
3. 什么是中断?答:中断是一种机制,用于在单片机运行过程中,处理外部事件的优先级。
当发生中断事件时,单片机会立即中断当前任务,转而执行中断服务程序,处理完中断事件后再返回原来的任务。
4. 请简述中断的优点。
答:中断具有以下几个优点:- 灵活性:中断可以随时响应外部事件,提高系统的实时性和灵活性。
- 高效性:通过中断,可以及时处理紧急事件,提高系统的处理效率。
- 可靠性:中断可以确保关键任务的执行,避免因外部事件而导致的系统故障。
5. 请简述定时器的作用。
答:定时器是单片机中常用的一种外设,用于产生精确的时间延迟。
通过定时器,我们可以实现定时、计数、测量等功能,广泛应用于各种计时、控制、通信等场景。
6. 如何使用定时器产生1秒的延时?答:以8051单片机为例,可以通过设置定时器的初值和工作模式来实现1秒的延时。
具体步骤如下:- 设置定时器的初值,使其在溢出前计数器的值为65536-(机器周期/定时器时钟周期)*(所需延时时间/定时器溢出时间)。
- 设置定时器的工作模式,选择合适的时钟源和分频系数。
- 等待定时器溢出,即可实现1秒的延时。
7. 请简述串口通信的原理。
答:串口通信是一种常用的数据传输方式,通过串行传输数据。
单片机第六章课后习题答案
2. 80C51单片机内部有几个定时/计数器?它们由哪些功能寄存器组成?怎样实现定时功能和计数功能?答:80C51单片机内部有两个16位的可编程定时/计数器,由TH0,TL0,TH1,TL1,TMOD和TCON功能寄存器组成。
通过TMOD中的C/T位选择对机器周期计数实现计数功能,选择对外部脉冲计数实现计数功能。
6. 何为同步通信?何为异步通信?各自的特点是什么?答:异步通信方式的特点是数据在线路上传送时是以一个字符(字节)为单位,未传送时线路处于空闲状态,空闲线路约定为高电平“1”。
特点是对发送时钟和接收时钟的要求相对不高,线路简单,但传送速度较慢。
同步通信方式的特点是数据在线路上传送时以字符块为单位,一次传送多个字符,传送时须在前面加上一个或两个同步字符,后面加上校验字符。
特点是对发送时钟和接收时钟要求较高,往往用同一个时钟源控制,控制线路复杂,传送速度快。
7. 单工、半双工和全双工有什么区别?答:单工方式只有一根数据线,信息只能单向传送;半双工方式也只有一根数据线,但信息可以分时双向传送;全双工方式有两根数据线,在同一个时刻能够实现数据双向传送9. 串行口数据寄存器SBUF有什么特点?答:发送数据寄存器和接收数据寄存器合起用一个特殊功能寄存器SBUF(串行口数据寄存器),执行MOV SBUF,A发送时为发送数据寄存器,执行MOV A, SBUF接收时为接收数据寄存器。
10. MCS-51单片机串行口有几种工作方式?各自特点是什么?答:有四种工作方式,分别是方式0、方式1、方式2和方式3。
其中:方式0,称为同步移位寄存器方式,一般用于外接移位寄存器芯片扩展I/O接口。
方式1,称为8位的异步通信方式,通常用于双机通信。
方式2和方式3,称为9位的异步通信方式,通常用于多机通信。
12. 怎样来实现利用串行口扩展并行输入/输出口?答:利用串行口在方式0时,当外接一个串入并出的移位寄存器,就可以扩展并行输出口;当外接一个并入串出的移位寄存器时,就可以扩展并行输入口。
(完整版)单片机课后习题答案
第一章单片机的概述1、除了单片机这一名称外,单片机还可称为(微控制器)和(嵌入式控制器)。
2、单片机与普通微型计算机的不同之处在于其将(CPU)、(存储器)和(I/O口)三部分,通过内部(总线)连接在一起,集成于一块芯片上。
3、在家用电器中使用单片机应属于微型计算机的(B)。
A、辅助设计应用B、测量、控制应用C、数值计算应用D、数据处理应用4、微处理器、微计算机、微处理机、CPU、单片机、嵌入式处理器它们之间有何区别?答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。
而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机。
嵌入式处理器一般意义上讲,是指嵌入系统的单片机、DSP、嵌入式微处理器。
目前多把嵌入式处理器多指嵌入式微处理器,例如ARM7、ARM9等。
嵌入式微处理器相当于通用计算机中的CPU。
与单片机相比,单片机本身(或稍加扩展)就是一个小的计算机系统,可独立运行,具有完整的功能。
而嵌入式微处理器仅仅相当于单片机中的中央处理器。
为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。
5、MCS-51系列单片机的基本型芯片分别为哪几种?它们的差别是什么?答:MCS-51系列单片机的基本型芯片分别为:8031、8051和8751。
它们的差别是在片内程序存储器上。
8031无片内程序存储器、8051片内有4K字节的程序存储器ROM,而8751片内有集成有4K字节的程序存储器EPROM。
6、为什么不应当把8051单片机称为MCS-51系列单片机?答:因为MCS-51系列单片机中的“MCS”是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。
7、AT89S51单片机相当于MCS-51系列单片机中哪一种型号的产品?“s”的含义是什么?答:相当于MCS-51系列中的87C51,只不过是AT89S51芯片内的4K字节Flash 存储器取代了87C51片内的4K字节的EPROM。
单片机习题 解答 (仅供参考)
单片机习题解答 (仅供参考)单片机习题解答(仅供参考)在单片机学习过程中,习题解答是非常重要的一部分。
通过解答习题,我们可以加深对单片机原理的理解,提高解决问题的能力。
本文将提供一些常见的单片机习题解答,供大家参考。
一、基础知识题1. 单片机的基本概念是什么?单片机是指将微处理器、存储器和输入输出接口电路等功能集成在一个芯片上的一种微型计算机系统。
它具有体积小、功耗低、可靠性高等优点,广泛应用于嵌入式系统中。
2. 单片机有哪些主要的寄存器?单片机主要包括通用寄存器、程序计数器、状态寄存器、堆栈指针、数据指针等。
其中,通用寄存器用于存放临时数据,程序计数器用于存放下一条指令的地址,状态寄存器用于记录程序运行的状态,堆栈指针用于管理函数的调用和返回,数据指针用于存放数据的地址。
3. 单片机的时钟信号是如何产生的?单片机的时钟信号是通过外部晶体振荡器或者内部振荡电路产生的。
晶体振荡器通过振荡晶体使得IC内部产生稳定的时钟信号,内部振荡电路则通过RC电路或者LC电路产生时钟信号。
4. 如何配置单片机的I/O口?单片机的I/O口通常需要配置为输入模式或者输出模式。
配置为输入模式时,需要将相应的引脚配置为高阻态或者低电平输入;配置为输出模式时,需要将相应的引脚配置为高电平输出或者低电平输出。
二、编程实践题1. 编写一个程序实现LED灯的闪烁。
#include <reg52.h> // 包含寄存器定义文件sbit LED = P1^0; // 定义LED连接的引脚void delay(unsigned int t) // 延时函数{unsigned int i, j;for(i = t; i > 0; i--)for(j = 110; j > 0; j--);}void main(){while(1){LED = 0; // 点亮LEDdelay(500); // 延时500msLED = 1; // 熄灭LEDdelay(500); // 延时500ms}}2. 编写一个程序实现按键控制LED灯的亮灭。
单片机原理部分课后习题解
单⽚机原理部分课后习题解3.16 8051芯⽚需要外扩4KB程序存储器,要求地址范围为1000~1FFFH,以便和内部程序存储器地址相衔接。
所⽤芯⽚除了地址线和数据线外,只有⼀个⽚选控制端/CS,画出扩展系统的连接图。
解:3.17 在图3.13中,若因某种原因,P2.2、P2.1、P2.0误接为P2.5、P2.4、P2.3,这时所接的EPROM寻址区是如何分布的?解:误接后,A10,A9,A8则分别与P2.5,P2.4,P2.3相接,P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7~P0.0* * 0 0 0 * * * 00000000—11111111* * 0 0 1 * * * 00000000—11111111* * 0 1 0 * * * 00000000—11111111* * 0 1 1 * * * 00000000—11111111* * 1 0 0 * * * 00000000—11111111* * 1 0 1 * * * 00000000—11111111* * 1 1 0 * * * 00000000—11111111* * 1 1 1 * * * 00000000—11111111所以地址分布为:0000H~00FFH, 0800H~08FFH, 1000H~10FFH, 1800H~18FFH, 2000H~20FFH,2800H~28FFH, 3000H~30FFH, 3800H~38FFH4.8 编写程序,进⾏两个16位数的减法:6F5DH~13B4H,结果存⾄内部RAM的30H和31H 单元。
30H单元存差的低8位。
解:MOV A, #5DHCLR CSUBB A, #0B4HMOV 30H, ASUBB A, #13HMOV 31H, ASJMP $4.9 编写程序,若累加器内容分别满⾜⼀下条件,则程序转⾄LABEL存储单元。
单片机课后习题参考答案(全).
第1章单片机概述参考答案1.答:微控制器,嵌入式控制器2.答:CPU、存储器、I/O口、总线3.答:C4.答:B5.答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。
而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机。
嵌入式处理器一般意义上讲,是指嵌入系统的单片机、DSP、嵌入式微处理器。
目前多把嵌入式处理器多指嵌入式微处理器,例如ARM7、ARM9等。
嵌入式微处理器相当于通用计算机中的CPU。
与单片机相比,单片机本身(或稍加扩展)就是一个小的计算机系统,可独立运行,具有完整的功能。
而嵌入式微处理器仅仅相当于单片机中的中央处理器。
为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。
6.答:MCS-51系列单片机的基本型芯片分别:8031、8051和8071。
它们的差别是在片内程序存储器上。
8031无片内程序存储器、8051片内有4K字节的程序存储器ROM,而8751片内有集成有4K字节的程序存储器EPROM。
7.答:因为MCS-51系列单片机中的“MCS”是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。
8.答:相当于MCS-51系列中的87C51,只不过是AT89S51芯片内的4K字节Flash存储器取代了87C51片内的4K字节的EPROM。
9.单片机体积小、价格低且易于掌握和普及,很容易嵌入到各种通用目的的系统中,实现各种方式的检测和控制。
单片机在嵌入式处理器市场占有率最高,最大特点是价格低,体积小。
DSP是一种非常擅长于高速实现各种数字信号处理运算(如数字滤波、FFT、频谱分析等)的嵌入式处理器。
由于对其硬件结构和指令进行了特殊设计,使其能够高速完成各种复杂的数字信号处理算法。
单片机课后习题参考答案(全).
单片机课后习题参考答案(全).单片机课后习题参考答案1. 什么是单片机?单片机是一种集成电路芯片,其中包含了处理器、存储器以及各种输入输出接口。
它能够完成各种控制任务,并且在各种嵌入式系统中广泛应用。
2. 单片机的特点有哪些?- 小巧、体积小:单片机可以集成多个功能在一个芯片内部,所以体积相对较小。
- 低功耗:单片机工作时功耗较低,适合用于一些需要长时间运行的电子产品。
- 低成本:相对于使用多个离散电子元件实现同样功能的电路,单片机的成本较低。
- 高可靠性:单片机内部通过硬件逻辑实现各种功能,不易受外界干扰,提高了系统的可靠性。
- 程序可编程:单片机可以通过编程改变其功能,具有较强的灵活性。
3. 单片机的工作原理是什么?单片机内部通过运算器、控制器、存储器等硬件组成,运算器负责执行各种算术、逻辑操作,控制器负责协调和控制各种操作,存储器用于存储程序和数据。
当单片机上电后,控制器开始执行存储器中的程序,按照指令的执行顺序执行各个操作。
单片机的输入输出接口与外部设备进行数据交换,实现与外部环境的交互。
4. 单片机的应用领域有哪些?单片机被广泛应用于各种嵌入式系统中,包括电子产品、电子仪器、通讯设备、汽车电子、医疗设备等。
它能够实现各种控制任务,如温度控制、风扇控制、光控制、家电控制等。
5. 单片机的编程语言有哪些?常见的单片机编程语言包括汇编语言、C语言和基于C语言的高级语言。
汇编语言是一种底层的编程语言,直接面向单片机的硬件操作;C语言是一种高级语言,可以方便地进行开发和调试;基于C语言的高级语言如Basic、Pascal等是对C 语言进行了扩展和封装,更加简化了编程过程。
6. 单片机系统的开发流程是什么?单片机系统的开发流程一般包括以下几个步骤:- 硬件设计:确定系统所需的输入输出接口及硬件电路,并进行电路设计和原理图绘制。
- 软件设计:编写程序代码,实现系统的各种功能。
- 系统调试:将软件下载到单片机中,通过调试工具进行调试和测试,确保系统能够正常运行。
单片机原理及应用总结归纳课后习题参考答案1~6章
单片机原理及应用总结归纳课后习题参考答案1~6章精心整理《单片机原理及应用》习题答案第一章计算机基础知识1-1 微型计算机主要由哪几部分组成?各部分有何功能?答:一台微型计算机由中央处理单元(CPU)、存储器、I/O接口及I/O设备等组成,相互之间通过三组总线(Bus):即地址总线AB、数据总线DB和控制总线CB来连接。
CPU由运算器和控制器组成,运算器能够完成各种算术运算和逻辑运算操作,控制器用于控制和ROM。
I/O1-6 写出下列各数的BCD参与:59:01011001,1996:0001100110010110,4859.2:0100100001011001.0010389.41:001110001001.01000001第二章 MCS-51单片机的硬件结构2-1 8052单片机片内包含哪些主要逻辑功能部件?答:8052单片机片内包括:①8位中央处理器CPU一个②片内振荡器及时钟电路③256B数据存储器RAM。
④8KB片内程序存储空间ROM⑤21个特殊功能寄存器SFR⑥4个8位并行I/O端口(32条线)⑦1个可编程全双工串行口⑧可寻址64KB的外部程序存储空间和外部数据存储空间⑨3个16位的定时器/计数器⑩6个中断源、2个优先级嵌套中断结构2-2 8052答:⑴8052的存储器分为6个编址空间:①片内ROM的容量为8KB,其地址为②可扩展片外ROM的容量为64KB,其地址为片内RAM的容量为256B,其地址为00H~FFH RAM低区,④另128B为片内RAM高区,其地址空间为⑤可扩展片外RAM的容量为64KB,其地址为⑥特殊功能寄存器SFR的空间为128B26BCPU第31脚EA接高电平时,CPU将从片内程序存储器0000H1FFFH时,会自动转向片外程ROM的0000H单元开始执行。
CPU,低区128B地址空间00H~7FH中地址为00H~1FH 这32表示,通过工作寄存器指令进行访问。
单片机原理及应用教程第版习题课后答案
单片机原理及应用教程第版习题课后答案The document was finally revised on 2021《单片机原理及应用程序》(第三版)习题参考答案第一章1. 为什么计算机要采用二进制数学习十六进制数的目的是什么在计算机中,由于所采用的电子逻辑器件仅能存储和识别两种状态的特点,计算机内部一切信息存储、处理和传送均采用二进制数的形式。
可以说,二进制数是计算机硬件能直接识别并进行处理的惟一形式。
十六进制数可以简化表示二进制数。
2.(1) 01111001 79H (2) (3)(5)01100001 61H (6) 00110001 31H3.(1) 0B3H (2)80H (3) (4)4.(1)01000001B 655.(6.00100101B 00110111BCD 25H7. 137 119 898.什么是总线总线主要有哪几部分组成各部分的作用是什么总线是连接计算机各部件之间的一组公共的信号线。
一般情况下,可分为系统总线和外总线。
系统总线应包括:地址总线(AB)控制总线(CB)数据总线(DB)地址总线(AB):CPU根据指令的功能需要访问某一存储器单元或外部设备时,其地址信息由地址总线输出,然后经地址译码单元处理。
地址总线为16位时,可寻址范围为216=64K,地址总线的位数决定了所寻址存储器容量或外设数量的范围。
在任一时刻,地址总线上的地址信息是惟一对应某一存储单元或外部设备。
控制总线(CB):由CPU产生的控制信号是通过控制总线向存储器或外部设备发出控制命令的,以使在传送信息时协调一致的工作。
CPU还可以接收由外部设备发来的中断请求信号和状态信号,所以控制总线可以是输入、输出或双向的。
数据总线(DB):CPU是通过数据总线与存储单元或外部设备交换数据信息的,故数据总线应为双向总线。
在CPU进行读操作时,存储单元或外设的数据信息通过数据总线传送给CPU;在CPU进行写操作时,CPU把数据通过数据总线传送给存储单元或外设9.什么是接口电路 CPU与接口电路连接一般应具有哪些信号线外部设备与接口电路连接一般应具有哪些信号线CPU通过接口电路与外部输入、输出设备交换信息,一般情况下,外部设备种类、数量较多,而且各种参量(如运行速度、数据格式及物理量)也不尽相同。
单片机课后习题答案
单片机课后习题答案
首先,需要明确的是,本文为《单片机课后习题答案》的文章,并且根据要求,将会采用适当的格式来写。
以下是根据课后习题提供的答案:
一、选择题答案
1. C
2. A
3. B
4. D
5. A
二、填空题答案
1. 输入/输出
2. 中断
3. 8位
4. 高电平
5. A/D转换
6. 2
7. 4
三、判断题答案
1. 正确
2. 错误
3. 错误
4. 正确
5. 错误
四、简答题答案
1. 单片机是一种集成电路,它包含了中央处理器、存储器和输入输出接口。
它常用于控制和处理各种电子设备。
2. 中断是单片机处理外部事件的一种机制。
当出现中断信号时,单片机会暂停当前的任务,转而处理中断程序,处理完毕后再返回原来的任务。
3. 端口是单片机与外部设备进行数据传输的接口。
输入端口用于接收外部设备的信号,输出端口用于向外部设备发送信号。
4. 定时器是用来产生精确时间延迟的设备。
在单片机中,定时器可以用来生成特定的时间间隔,用于控制外围设备或者进行定时中断。
5. 中断优先级是指当多个中断同时发生时,系统根据设定的优先级决定先处理哪个中断。
通常,中断优先级由软件或者硬件设置。
免责声明:以上答案仅供参考,仅代表个人观点,不作为标准答案。
在实际应用中,请根据具体情况进行判断和操作。
综上所述,本文回答了《单片机课后习题》中的选择题、填空题、
判断题和简答题,并介绍了单片机的基本概念和相关原理。
希望能对
读者的学习有所帮助。
单片机基础及应用项目六课后习题及答案
void delay_ms(int ms)
{
unsigned char a,b;
while(ms)
{
for(b=4;b>0;b--)
for(a=113;a>0;a--);
C、数据从RXD串行输入或输出,同步信号从TXD输出
D、数据从TXD串行输入或输出,同步信号从RXD输出
12.串行口的控制寄存器SCON中,REN的作用是(C)
A、接收中断请求标志位B、发送中断请求标志位
C、串行口允许接收位D、地址/数据位
13.以下所列特点中,不属于串行工作方式2的是(C)
A、11位帧格式B、有第9数据位
6.控制串行口工作方式的寄存器是(C)
A、TMOD B、PCON C、SCON D、TCON
7.串行口每一次传送(C)字符
A、1个B、1串C、1帧D、1波特
8.单片机串行口发送/接收中断源的工作过程是:当串行口接收或发送完一帧数据时,将SCON中的(A),向CPU申请中断。
A、RI或TI置1 B、RI或TI置0
一、填空题
1.在串行通信中,根据数据传送方向分为(单工)、(半双工)和(全双工)。
2.使用定时器/计数器设置串行通信的波特率时,应把定时器/计数器设定工作方式(2),即(自动重新加载)方式
3.串行口传送数据的帧格式为1个起始位“0”,7个数据位,1个偶校验位和1个停止位“1”组成。当该串行口每分钟传送1800个字符,则波特率应为(300b/s)。
C、使用一种固定的波特率D、使用两种固定的波特率
三、问答题
1.51单片机串行口有几种工作方式?由什么寄存器决定?
答:有4种工作方式,由串行口控制寄存器SCON的SM0和SM1设置。
(完整版)第六章80C51的串行口习题及答案
第六章80C51的串行口习题及答案1、80C51单片机串行口有几种工作方式?如何选择?简述其特点?答:80C51单片机串行口有4种工作方式。
各方式的特点:方式0:串行口为同步移位寄存器的输入输出方式。
主要用于扩展并行输入或输出口。
波特率固定为晶振频率的1/12。
方式1:为10位数据异步通信口。
波特率可变。
方式2或方式3:为11位数据的异步通信口。
方式2波特率固定,相对于固定的晶振频率只有两种波特率。
方式3波特率可变。
使用时,根据需要和各方式的特点配合选择。
2、串行通信的接口标准有哪几种?答:串行通信接口标准有:1.RS_232C接口;2.RS_422A接口;3. RS_485接口。
3、在串行通信中,通信速率与传输距离之间的关系如何?答:在串行通信中,传输距离与传输速率的关系:当传输线使用每0.3m (约1ft)有50pF电容的非平衡屏蔽双绞线时,传输距离随传输速率的增加而减小。
5、利用单片机串行口扩展24个发光二极管和8个按键,要求画出电路图并编写程序,使24个发光二极管按照不同的顺序发光(发光的时间间隔为1s)o 答:实现电路图如下:扩展I/O 口时使用方式0,波特率固定,实现程序如下:BOOT:CLR EAMOV SCON,#10HCLR P1.0 ;关闭I0 扩展口CLR P1.1CLR P1.2CLR P1.3 ;对键盘扩展芯片165 使能MAIN: SETB P1.0 ;对第一个扩展IO 口芯片使能ACALL DISPLAYCLR P1.0SETB P1.1 ;第一个扩展IO 口顺序显示完毕,对第二个扩展IO 芯片使能ACALL DISPLAYCLR P1.1SETB P1.2ACALL DISPLAYCLR P1.2SJMP MAIN ;循环显示DISPLAY: MOV A,#00000001b ;从第一个开始MOV R4,#8 ;送显示长度LOOP:MOV SBUF, ACALL DELAY1SDJNZ R4, LOOPRETEND6、编制图6.30 的中断方式的数据接收程序。
单片机原理及接口技术(李朝青)课后习题答案——第六章
答:用 T1 控制位 C/T 切换定时器或计数器工作方式就可以使 T1 运行。定时器 T1 无工作模
式 3,将 T1 设置为工作模式 3,就会使 T1 立即停止计数,关闭。
8、以定时器/计数器 1 进行外部时间计数,每计数 1000 个脉冲后,定时器/计数器 1 转为定
时工作方式,定时 10ms 后又转为计数方式,如此循环不止。假定 为 6WHZ,用模式 1 编程。
16、89C51 单片机的定时器在何种设置下可提供三个 8 位计数器定时器?这时,定时器 1 可
作为串行口波特率发生器。若波特率按 9600b/s,4800b/s,2400b/s,1200b/s,600b/s,100b/s 来考虑,
则此时可选用的波特率是多少(允许存在一定误差)?设 fosc=12MHz。
SJMP LOOP2
;时间未到,转 LOOP2,继续查询
9、一个定时器定时时间有限,如何实现两个定时器的串行定时以满足较长定时时间的要求?
答:当一个定时器溢出时,设置另一个定时器的初值为 0 开始定时。
10、使用一个定时器,如何通过软硬件结合方法实现较长时间的定时?
答:设定好定时器的定时时间,采用中断方式用软件设置计数次数,进行溢出次数累计,从
置 TMOD 中的 M1M0 为 00
(2) 模式 1:与模式 0 的唯一差别是寄存器 TH 和 TL 以全部 16 位参与操作。定时时间
t=(216-初值)×振荡周期×12;计数长度位 216=65536 个外部脉冲
置 TMOD 中的 M1M0 为 01
(3) 模式 2:把 TL0 和 TL1 配置成一个自动重装载的 8 位定时器/计数器。TL 用作 8 位
18、 设 fosc=12MHz。试编制一段程序,功能为:对定时器 T0 初始化,使之工作在模式 2,
- 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,作波特率发生器,时钟频率为11.0592MHz,SMOD=0,波特率为2.4K时,T1的初值为 FAH 。
9.MCS-51单片机串行通信时,通常用指令 MOV SBUF,A 启动串行发送。
10.MCS-51单片机串行方式0通信时,数据从 P3.0 引脚发送/接收。
二、简答题1.串行口设有几个控制寄存器?它们的作用是什么?答:串行口设有2个控制寄存器,串行控制寄存器SCON和电源控制寄存器PCON。
其中PCON 中只有PCON.7的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)= 242.98≈243 =F3HTXDA: MOV TMOD,#20H;置T1定时器工作方式2 MOV TL1,#0F3H ;置T1计数初值.MOV TH1,#0F3HMOV PCON,#80H ;置SMOD =1Bf B f N OSC SMOD OSC SMOD ⨯⨯-=⨯⨯⨯-=3842256123222565.用8051串行口外接CD4094扩展8位并行输出口,驱动8个LED发光二极管。
画出硬件电路图,编写程序,使LED发光二极管从左到右依次闪亮。
答:电路图如下LED发光二极管从左到右循环点亮的C51参考程序:#include<reg51.h> //包含51单片机寄存器定义的头文件#include<intrins.h> //包含函数_nop_()定义的头文件unsigned char code Tab[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//流水灯控制码,该数组被定义为全局变量sbit P17=P1^7;void delay(void){unsigned char m,n;for(m=0;m<200;m++)for(n=0;n<250;n++);}/**************************************************************函数功能:发送一个字节的数据**************************************************************/void Send(unsigned char dat){P17=0; //P1.7引脚输出锁存信号,对cd4094锁存nop_(); //延时一个机器周期_nop_(); //延时一个机器周期,保证锁存完成P17=1; //结束对cd4094的锁存SBUF=dat; //将数据写入发送缓冲器,启动发送while(TI==0) //若没有发送完毕,等待;TI=0; //发送完毕,TI被置“1”,需将其清0}/*******************************************函数功能:主函数******************************************/void main(void){unsigned char i;SCON=0x00; //SCON=0000 0000B,使串行口工作于方式0while(1){for(i=0;i<8;i++){Send(Tab[i]); //发送数据delay(); //延时}}}三、Proteus仿真1.在Proteus下,仿真实现6.6节内容。
答:全自动洗衣机串行方式时间显示Proteus仿真为节省单片机并口资源,全自动洗衣机时间显示可用串口实现。
一次洗衣时间一般不会超过99分钟,用2位LED数码管显示时间即可。
电路如图6-9所示。
移位寄存器,功能是接收AT89C51单片机串行通信口输出的串行数据并转换成并行数据输出,从而驱动LED数码管显示。
74LS164的1、2脚为数据输入端,接单片机串行口的RXD 端(P3.0脚),74LS164的第8脚为时钟脉冲输入端(CLK),接单片机串行口的TXD端(P3.1脚),第9脚R为清零端,低电平清零,正常工作时接高电平。
两只LED数码管采用共阴极静态显示方式。
下列程序实现串行两位LED数码管时间显示,显示范围为00—99分钟。
使用串行口进行信息传送,程序编写相当简单,用户只需将需要显示的数据直接送串口发送缓冲器,等待串行中断即可。
汇编语言参考程序:ORG 0000H ;在0000H单元存放转移指令LJMP NAIN ;转移到主程序ORG 000BH ;定时器T0的中断入口地址LJMP INTERRUPT ;转移到中断子程序ORG 0200H ;主程序从0200H开始MAIN: MOV TMOD,#01H ;使用定时器T0,工作方式1MOV TH0, #3CH ;置初T0值50msMOV TL0, #0B0HHMOV R0,#0 ;用于存1秒的计数次数SETB EA ;开中断总允许SETB ET0 ;允许T0中断SETB TR0 ;启动计时LOOP: LCALL Display ;循环调用显示子程序SJMP LOOPTAB: DB 3FH,06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH ;0~9的共阴极段码DISPLAY: ;显示子程序(显示分钟)MOV DPTR, #TAB ;将表首地址赋给DPTRMOV A, 30H ;将30H中存放的分计数赋给累加器AMOV B, #0AH ;将10赋给累加器BDIV AB ;分计数除以10得十位数放在A中,个位数放在B中MOVX A, @A+DPTR ;查表得十位数的`显示段码MOV SBUF, A ;发送十位数L1: JBC TI, L2 ;判是否发送完,未发完循环等待,若发完则转L2 SJMP L1L2: MOV A, B ;将个位数赋给累加器AMOVX A, @ A+DPTR ;查表得个`位数的显示段码MOV SBUF, A ;发送个位数L3: JBC TI, L4 ;判是否发送完,未发完循环等待,若发完则转L4 SJMP L3L4: RET ;子程序返回INTERRUPT: ;中断服务子程序INC R0 ;每中断一次(50ms)加1CJNE R0, #20, L5 ;判是否中断20次,若不是则转L5中断返回,若是则顺序执行CLR R0 ;到1秒钟,清R0INC R1 ;秒计数加1CJNE R1, #60, L5 ;判秒是否计满60次,若未满则转L5中断返回,若满则顺序执行CLR R1 ;如果秒计满60,将秒计数单元内容清0INC 30H ;分钟计数单元30H内容加1CJNE 30H, #99, L5 ;判分是否计满99次,若未满则转L5中断返回,若满则顺序执行CLR R1 ;如果分计满99,将秒计数单元内容清0CLR 30H ;同时将分计数单元内容清0L5: MOV TH0, #3CH ; 定时器重新赋初值MOV TL0, #0B0HHRETI ;中断返回C语言参考程序:#include<reg51.h> // 包含51单片机寄存器定义的头文件unsigned char Tab[ ]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//数组Tab放0~9的共阴极字段码unsigned char int_time; //设中断次数计数变量unsigned char second; //秒计数变量unsigned char minute; //分钟计数变量void delay(void) //延时函数{unsigned char n,j; //设计数循环变量for(j=0;j<200;j++); //通过循环延时for(n=0;n<200;n++); //通过循环延时}void DisplayMinute(unsigned char m) //显示函数{ unsigned char ge, si; //定义变量ge、si,用于存放个位、十位si=Tab[m/10]; //计算出十位的值,查表转换成相应的段码送变量si SBUF=si; //发送显示十位while(TI==0); //等待发送完毕TI=0; //发送完后清中断标志ge=Tab[m%10]; //计算出十位的值,查表转换成相应的段码送变量geSBUF=ge; //发送显示个位while(TI==0); //等待发送完毕TI=0; //发送完后清中断标志delay(); //调延时函数,是数码管显示有一定的亮度delay();}void main(void) //主函数{TMOD=0x01; //使用定时器T0,工作方式1EA=1; //开中断总允许ET0=1; //允许T0中断TH0=(65536-46083)/256; //定时器高八位赋初值(50ms)TL0=(65536-46083)%256; //定时器低八位赋初值TR0=1; //启动计时PCON=0x00; //置SMOD=0SCON=0x00; //串行口工作在方式0while(1) //无限循环体{DisplayMinute(minute); //调用分钟显示子程序}}void interserve(void ) interrupt 1 //计数器T0中断函数{int_time++; //每中断一次(50ms)加1if(int_time==20) // 50ms记20次为1秒(仿真时可将次数改小,减少等待时间)。