单片微机原理与应用徐春辉第10章习题答案51系列单片机的串行通信习题与思考题答案

合集下载

(完整版)微机原理习题库(51单片机)含答案.doc

(完整版)微机原理习题库(51单片机)含答案.doc

第一章单片机概述与结构一、选择题1.访问片外部数据存储器时,不起作用的信号是(C)。

A. /RD B. /WE C. /PSEN D .ALE2.51 单片机 P0 口用作输出时,应外接( A )。

A.上拉电阻 B .二极管C.三极管 D .下拉电阻3.进位标志 CY 在( C )中。

A.累加器B.算逻运算部件 ALU C.程序状态字寄存器PSW D. DPTR 4.堆栈数据的进出原则是( D )。

A.先进先出 B .进入不出C.后进后出 D .先进后出5.51 单片机系统中,若晶振频率为6MHz ,一个机器周期等于( D )μs。

A. 1.5 B . 3 C. 1 D .26.在家用电器中使用单片机应属于微计算机的( B )。

A.辅助设计应用B.测量、控制应用C.数值计算应用D.数据处理应用7.PC 的值是( C )。

A.当前正在执行指令的前一条指令的地址 B .当前正在执行指令的地址C.当前正在执行指令的下一条指令的地址 D .控制器中指令寄存器的地址8.单片机应用程序一般存放在( B )中。

A. RAM B.ROM C.寄存器D.CPU 9.在堆栈操作中,当进栈数据全部弹出后,这时SP 应指向( D )A.栈底单元 B . 7FH 单元C.栈底单元地址加1D.栈底单元地址减10.51 单片机的并行I/O 口信息有两种读取方法:一种是读引脚,还有一种是(A A.读锁存器B.读数据库C.读 A 累加器D.读 CPU1 )。

二、填空题1.单片机复位后,SP、 PC 和 I/O 口的内容分别为07H\000H\FFH。

2.单片机有四个工作寄存器区,由PSW 状态字中的RS1 和 RS0 两位的状态来决定。

单片机复位后,若执行 SETB RS0 指令,此时只能使用1区的工作寄存器,地址范围是08H---0FH。

3.51 单片机驱动能力最强的并行端口为P0 端口。

4.51 单片机 PC 的长度为16 位, SP 的长度为 ___8____位, DPTR 的长度为 _16__ 位。

单片机原理与应用课程课后习题答案

单片机原理与应用课程课后习题答案

单片机原理及应用》习题答案第一章基础知识1.微型计算机主要由哪几部分组成?各部分有何功能?答:一台微型计算机由中央处理单元(CPU、存储器、I/O接口及I/O设备等组成, 相互之间通过三组总线(Bus):即地址总线AB数据总线DB和控制总线CB来连接。

CPU由运算器和控制器组成,运算器能够完成各种算术运算和逻辑运算操作,控制器用于控制计算机进行各种操作。

存储器是计算机系统中的“记忆”装置,其功能是存放程序和数据。

按其功能可分为RAM和ROM输入/输出(I/O、接口是CPU与外部设备进行信息交换的部件。

总线是将CPU存储器和I/O接口等相对独立的功能部件连接起来,并传送信息的公共通道。

2•将下列十进制数分别转换成为二进制数,十六进制数和BCD码数的形式:100,64,78,80解: 1 、100=1100100B=64H=0001 0000 0000BC;D2、64=1000000B=40H=0110 0100BC;D3) 78=1001110B=4EH=0111 1000BCD3.写出下列十六进制无符号数对应的十进制数和二进制:0D5H,64H,2CH,4FEH解:1) 0D5H=213=11010101;B2)64H=100=1100100B;3)2CH=44=101100B;4)4FEH=1278=B。

4.写出下列十进制数对应的二进制原码、反码和补码:+35,+50,-10,-20解:1) + 35=( 23H)原=(23H 反=(23H)补;2 ) + 50=( 32H)原=(32H 反=(32H)补;3)—10=( 8AH 原=(0F5H 反=(0F6H 补;4)—20=( 94H)原=(0EBH 反=(0ECH 补;5.根据给定的原码、反码、补码求真值。

1)(0CBH) 原=(-75) 真值;2) (8BH技=(-116)真值;3) (9BH)=(-101)真值;4) (6BHk=(+107)真值;解:1) (0CBH)原=(-75)真值;2) (8BH)反=(-116)真值;3) (9BH)补=(-101)真值;4) (6BH)补=(+107)真值;6.试分别判断下列各组数据大小?1)A=0.011B B=0.011 C=0.011H2)A=1001B B=1001 C=1001H解:1) A=0.011B=0X 2-1+1X 2-2+1X 2-3=0.25+0.125=0.375 ;B=0.011C=0.011H=0X 16-1+1 X 16"2+1X 16-3=0.5所以:A>B>C2)A=1001B=9;B=1001;C=1001H=4097所以:A<B<C7.先将下列各组数据转换为补码表示的带符号数,然后用进行补码运算,再将结果还原成原码,并写出对应的十进制数检验结果是否正确。

单片机原理及接口技术C51编程第2版习题答案 第10章习题解答

单片机原理及接口技术C51编程第2版习题答案 第10章习题解答

第10章思考题及习题10参考答案一、填空1.单总线系统只有一条数据输入/输出线 ,总线上的所有器件都挂在该线上,电源也通过这条信号线供给,。

答:DQ2.单总线系统中配置的各种器件,由DALLAS公司提供的专用芯片实现。

每个芯片都有位ROM,用激光烧写编码,其中存有位十进制编码序列号,它就是器件的编号,确保它挂在总线上后,可唯一地被确定。

答:64,16,地址3.DS18B20就是温度传感器,温度测量范围为℃,在-10~+85℃范围内,测量精度可达℃。

DS18B20体积小、功耗低,非常适合于的现场温度测量,也可用于各种空间内设备的测温。

答:数字,−55~+128,±0、5,恶劣环境,狭小4.SPI接口就是一种串行接口,允许单片机与的带有标准SPI接口的外围器件直接连接。

答:同步,外设,多厂家5.SPI具有较高的数据传输速度,最高可达 Mbit/s。

答:1、056.I2C的英文缩写为 ,就是应用广泛的总线。

答:Inter Interface Circuit,芯片间串行扩展7.I2C串行总线只有两条信号线,一条就是 SDA,另一条就是 SCL。

答:数据线,时钟线8.I2C总线上扩展的器件数量不就是由负载决定的,而就是由负载确定的。

答:电流,电容9.标准的I2C普通模式下,数据的传输速率为 bit/s,高速模式下可达 bit/s。

答:100k,400k二、判断对错1、单总线系统中的各器件不需要单独的电源供电,电能就是由器件内的大电容提供。

对2、 DS18B20可将温度转化成模拟信号,再经信号放大、A/D转换,再由单片机进行处理。

错3、 DS18B20的对温度的转换时间与分辨率有关。

对4、 SPI串行口每发送、接收一位数据都伴随有一个同步时钟脉冲来控制。

对5、单片机通过SPI串行口扩展单个SPI器件时,外围器件的片选端CS一定要通过I/O口控制。

错6、 SPI串行口在扩展多个SPI器件时,单片机应分别通过I/O口线来控制各器件的片选端CS来分时选通外围器件。

单片机原理及应用课后习题答案(精编文档).doc

单片机原理及应用课后习题答案(精编文档).doc

【最新整理,下载后即可编辑】课后思考题级习题答案思考题与习题1一、填空1.单片机按照用途通常分为通用型和专用型。

2.单片机也称为微控制器和单片微型计算机。

二、简答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 。

4.AT89S51单片机的程序存储器的寻址范围是由 PC 决定的,由于AT89S51单片机的PC 是 16 位的,所以最大寻址范围为 64KB 。

5.写出位地址为20H 所在的位,字节地址 24H.0 。

6.写出字节地址为20H 的单元最高位的位地址为 07H ,最低位的位地址为 00H 。

7.如果晶振频率MHz 6OSC f ,则一个时钟周期为1.66667E-7,一个机器周期为2us 。

单片机原理与应用课后习题答案

单片机原理与应用课后习题答案

课后思考题级习题答案思考题与习题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章1.简述计算机的基本组成结构。

答:计算机的基本组成结构由输入设备、输出设备、运算器、控制器和存储器等五大部件构成。

2.简述单片微型计算机系统应用和开发的特点。

答:单片微型计算机系统应用和开发的特点是需要进行软硬两方面的设计和调试。

第2章1.为什么微型计算机要采用二进制?十六进制代码能为微型计算机直接执行吗?为什么要使用十六进制数?答:在所有数制中,只有二进制数最容易用电路来表达,据此构建的计算机结构也是最简单的。

十六进制代码不能为计算机直接执行,只有二进制代码才能为计算机所识别和执行。

二进制代码过于冗长,而其对应的十六进制数则更为简洁,而且此二种数制的相互转换非常方便,这就是常常使用十六进制数来表示其对应的二进制数的原因。

2.将下列各二进制数分别转换为十进制数和十六进制数。

(1)11010B (2)110100B (3)10101011B (4)11111B 答:(1)11010B=26=1AH (2)110100B=52=34H (3)10101011B=171=ABH(4)11111B=31=1FH3.将下列各数分别转换为二进制数和十六进制数。

(1)129D (2)253D (3)0.625 (4)111.111答:(1)129D=10000001B=81H (2)253D=11111101B=FDH(3)0.625=0.101B=0.AH (4)111.111=01101111.000111B=6F.1CH4.把下列十六进制数转换成十进制数和二进制数。

(1)AAH (2)BBH (3)C.CH (4)DE.FCH (5)ABC.DH (6)128. 08H答:(1)AAH=170=10101010B(2)BBH=187=10111011B(3)C.CH=12.75=1100.1100H(4)DE.FCH=222.984375=11011110.1111110B(5)ABC.DH=2748.8125=101010111100.1101B(6)128. 08H=296.03125=100101000.000015.什么叫原码、反码及补码?答:在机器数中,最高位为符号位,正数的符号位用0表示,负数的符号位用1表示,其余为该数的绝对值,这种表示法称为原码。

《单片机原及应用》思考题与习题参考答案

《单片机原理及应用》思考题与习题参考答案绪论0.1解:单片微型计算机(Single-Chip Microcomputer),简称单片机。

就是将微处理器(CPU)、存储器(存放程序或数据的ROM和RAM)、总线、定时器/计数器、输入/输出接口(I/O口)和其他多种功能器件集成在一块芯片上的微型计算机。

单片机的主要特点有:(1)可靠性高(2)便于扩展(3)控制功能强(4)低电压、低功耗(5)片内存储容量较小,除此之外,单片机还具有集成度高、体积小、性价比高、应用广泛、易于产品化等特点0.2 解:当前单片机的主要产品有:Intel的8051系列、Motorola的M68HC系列、Philips(飞利浦)的80C51系列、台湾义隆公司(EMC)EM78系列单片机、美国Microchip公司的PIC 单片机系列、Atmel公司的A T90系列单片机Ubicom公司的Scenix单片机、日本爱普生科技公司的Epson单片机、Zilog公司的Z86系列、美国国家半导体公司NSCOP8单片机、台湾Winbond(华邦)的W78系列等。

MCS-51为主流产品。

MSP430的功能较强。

是一种特低功耗的Flash微控制器。

主要用于三表及超低功耗场合。

EM78系列单片机采用高速CMOS工艺制造,低功耗设计为低功耗产品,价格较低。

具有三个中断源、R-OPTION功能、I/O唤醒功能、多功能I/O口等。

具有优越的数据处理性能,采用RISC结构设计。

Microship单片机是市场份额增长较快的单片机。

它的主要产品是PIC系列8位单片机。

CPU采用RISC结构,运行速度快,价格低适于用量大、档次低、价格敏感的产品。

Motorola是世界上最大的单片机生产厂家之一,品种全、选择余地大、新产品多。

其特点是噪声低,抗干扰能力强,比较适合于工控领域及恶劣的环境。

A VR是增强RISC内载Flash的单片机,单片机内部32个寄存器全部与ALU直接连接,突破瓶颈限制,每1MHz可实现1MIPS的处理能力,为高速、低功耗产品。

单片机第10章课后答案

10proteus虚拟仿真利用at89s51单片机与adc0809制作一个简易的数字电压表测量05v的电压用4位一体的led265数码管显示测量值要求最高位显示模拟通道号其余3位显示测量结果且始终有小数点显示小数点后显示2位数字
第 11 章
DAC、ADC 的接口
1.对于电流输出的 D/A 转换器,为了得到电压输出,应使用( ) 。答:I/V 转换电路 2.使用双缓冲同步方式的 D/A 转换器,可实现多路模拟信号的( )输出。答:同步 3.下列说法是否正确。 A.“转换速度”这一指标仅适用于 A/D 转换器,D/A 转换器不用考虑“转换速度”问题。 B.ADC0809 可以利用“转换结束”信号 EOC 向 AT89S51 单片机发出中断请求 C.输出模拟量的最小变化量称为 A/D 转换器的分辨率 D.对于周期性的干扰电压,可使用双积分型 A/D 转换器,并选择合适的积分元件,可以将该周期性 的干扰电压带来的转换误差消除 答: (1)错,D/A 转换器也要考虑“转换速度”或“转换时间”问题,即建立时间(转换时间) ; (2)对; (3) 错,是 D/A 转换器的分辨率; (4)对。 4.D/A 转换器的主要性能指标都有哪些?设某 DAC 为二进制 12 位,满量程输出电压为 5V,试问它的 分辨率是多少? 答:D/A 转换器的主要技术指标如下: 分辨率:D/A 转换器的分辨率指输入的单位数字量变化引起的模拟量输出的变化,是对输入量变化敏 感程度的描述。 建立时间:建立时间是描述 D/A 转换速度快慢的一个参数,用于表明转换速度。其值为从输入数字量 到输出达到终位误差±(1/2)GB(最低有效位)时所需的时间。 转换精度:理想情况下,精度与分辨率基本一致,位数越多精度越高。严格讲精度与分辨率并不完全一 致。只要位数相同,分辨率则相同.但相同位数的不同转换器精度会有所不同。 当 DAC 为二进制 12 位,满量程输出电压为 5V 时,分辨率为 1.22 mV 5.A/D 转换器两个最重要的技术指标是什么? 答:A/D 转换器的两个最重要指标:(1) 转换时间和转换速率--转换时间 A/D 完成一次转换所需要的 时间。转换时间的倒数为转换速率。(2) 分辨率--A/D 转换器的分辨率习惯上用输出二进制位数或 BCD 码 位数表示。 6.分析 A/D 转换器产生量化误差的原因,一个 8 位的 A/D 转换器,当输入电压为 0~5V 时,其最大的 量化误差是多少? 答:量化误差是由于有限位数字且对模拟量进行量化而引起的;最大的量化误差为 0.195%; 7.目前应用较广泛的 A/D 转换器主要有哪几种类型?它们各有什么特点? 答:目前应用较广泛的有:逐次逼近式转换器、双积分式转换器、∑-△式 A/D 转换器。逐次逼近型 A /D 转换器:在精度、速度和价格上都适中,是最常用的 A/D 转换器件。双积分 A/D 转换器:具有精度 高、抗干扰性好、价格低廉等优点,但转换速度慢,近年来在单片机应用领域中也得到广泛应用。∑-△式 A /D 转换器:具有积分式与逐次逼近式 ADC 的双重优点,它对工业现场的串模干扰具有较强的抑制能力, 不亚于双积分 ADC,它比双积分 ADC 有较高的转换速度。与逐次逼近式 ADC 相比,有较高的信噪比,分 辨率高,线性度好,不需要采样保持电路。 8.在 DAC 和 ADC 的主要技术指标中,“量化误差”、“分辨率”和“精度”有何区别? 答:对 DAC 来说,分辨率反映了输出模拟电压的最小变化量。而对于 ADC 来说,分辨率表示输出数字 量变化一个相邻数码所需输入模拟电压的变化量。量化误差是由 ADC 的有限分辨率而引起的误差,但量化 误差只适用于 ADC,不适用于 DAC。精度与分辨率基本一致,位数越多精度越高。严格讲精度与分辨率并 不完全一致。只要位数相同,分辨率则相同。但相同位数的不同转换器,精度可能会有所不同,例如由于制 造工艺的不同。 9.Proteus 虚拟仿真 设计一个单片机与 DAC0832 组成的波形发生器,要求利用片内定时器产生的 2ms 定时中断来输出周期 为 1s,输出电平为 0~5V 三角波,并通过虚拟示波器观察三角波的周期是否准确。 答:参考本教材的【例 11-2】 。 10.Proteus 虚拟仿真 利用 AT89S51 单片机与 ADC0809 制作一个简易的数字电压表,测量 0~5V 的电压,用 4 位一体的 LED ·264·

51单片机课后习题答案

51单片机课后习题答案51单片机是一种非常常见的单片机型号,广泛应用于各种电子设备中。

学习51单片机的过程中,课后习题是不可或缺的一部分,通过解答习题可以巩固所学知识,提高编程能力。

本文将为大家提供一些常见的51单片机课后习题的答案,希望对大家的学习有所帮助。

1. 请编写一个程序,实现LED灯的闪烁功能。

答案:以下是一个简单的实现LED灯闪烁的程序:```c#include <reg51.h>sbit LED = P1^0; // 将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; // 点亮LED灯delay(1000); // 延时1秒LED = 1; // 熄灭LED灯delay(1000); // 延时1秒}}```2. 请编写一个程序,实现通过按键控制LED灯的亮灭。

答案:以下是一个简单的实现通过按键控制LED灯亮灭的程序:```c#include <reg51.h>sbit LED = P1^0; // 将P1.0引脚定义为LED灯sbit Button = P2^0; // 将P2.0引脚定义为按键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){if(Button == 0) // 检测按键是否按下{LED = ~LED; // 反转LED灯状态delay(200); // 延时200毫秒,避免按键抖动}}}```3. 请编写一个程序,实现通过数码管显示数字0-9的功能。

单片机原理与应用第10章参考答案

第10章 AT89S51与键盘、显示器、拨盘、打印机的接口设计参考答案1. 答:A. MAX7219是专用显示器芯片,不用于键盘;B.错:CH451芯片也可用于控制键盘;C.对:BUSY信号可作为查询信号或中断请求信号使用,但此时信号ACK不用;E.错:LED数码管的字型码是可以变的,例如表10-1中的“a”段对应段码字节的最高位。

“dp”段对应段码字节的最低位,字型码就改变了。

2. 答:在按键的闭合和断开过程中,由于开关的机械特性,导致了按键抖动的产生。

如果不消除按键的机械抖动,按键的状态读取将有可能出现错误。

消除按键抖动一般是采用软件或硬件去抖。

软件去抖的原理:在第一次检测到有键按下时,该键所对应的行线是为低电平,执行一端延时10ms的子程序后,确认该行线电平是否仍然为低电平,如果仍为低电平,则确认为该行确实有键按下。

3. 答:静态显示时,数据是分开送到每一位LED上的。

而动态显示则是数据是同时送到每一个LED 上,再根据位选线来确定是哪一位LED被显示。

静态显示亮度很高,但口线占用较多。

动态显示口线占用较少,适合用在显示位数较多的场合。

4. 答:80H(共阴极);7FH(共阳极)。

5. 答:按键设置在行、列线交点上,行、列线分别连接到按键开关的两端。

行线通过上拉电阻接到+5V上,无按键按下时,行线处于高电平状态,而当有按键按下时,行线电平状态将由与此行线相连的列线的电平决定。

列线的电平如果为低,则行线电平为低;列线的电平如果为高,则行线的电平亦为高。

将行、列线信号配合起来并做适当的处理,才能确定闭合键的位置。

6. 答:先对P1口高四位送低电平,读取P1口低四位的值;再对P1口低四位送低电平,读取P1口高四位的值,将两次读到的值组合在一起就得到了按键的特征码,在根据特征码查找键值。

KEYIN: MOV P1,#0FH ;反转读键MOV A,P1ANL A,#0FHMOV B,AMOV P1,#0F0HMOV A,P1ANL A,#0F0HORL A,BCJNE A,#0FFH,KEYIN1RET ;未按键KEYIN1: MOV B,A ;暂存特征码MOV DPTR,#KEYCOD ;指向特征码表MOV R3,#0FFH ;顺序码初始化KEYIN2: INC R3MOV A,R3MOVC A,@A+DPTRCJNE A,B,KEYIN3MOV A,R3 ;找到,取顺序码RETKEYIN3: CJNE A,#0FFH,KEYIN2 ;未完,再查RET ;已查完,未找到,以未按键处理KEYCOD: DB 0E7H,0EBH,0EDH,0EEH ;特征码表DB 0D7H,0DBH,0DDH,0DEHDB 0B7H,0BBH,0BDH,0BEHDB 77H,7BH,7DH,7EH7. 答:(1)编程扫描方式:当单片机空闲时,才调用键盘扫描子程序,反复的扫描键盘,等待用户从键盘上输入命令或数据,来响应键盘的输入请求。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片微机原理与应用徐春辉第10章习题答案51系列单片机的串行通信习题与思考题答案练习与思考题101. 串行数据传送的主要优点和作用是什么?答:串行数据传送的主要优点是硬件接口简单,接口端口少(2 个)。

主要用于微机之间或微机与外设之间的数据通信。

2. 单工、半双工、全双工通信有什么异同?答:相同之处在于都是串行通信;单工方式:数据仅按一个固定方向传送。

半双工方式:数据可实现双向传送,但不能同时进行。

全双工方式:允许通信双方同时进行数据双向传送。

3. 假定串行口串行发送的字符格式为 1 个起始位,8 个数据位,1 个奇校验位,1 个停止位,请画出传送字符“F”的帧格式。

起始位0 1 1 0 0 0 1 0 校验位0 停止位4. 若异步通信接口按方式3 传送,已知其每分钟传送3600 个字符,其波特率是多少?答:已知每分钟传送3600 个字符,方式 3 每个字符11 位,则:波特率=(11b/字符)×(3600 字符/60s)=660b/s5. AT89S51 单片机的串行口由哪些功能部件组成?各有什么作用?答:AT89S51 单片机的串行接口由发送缓冲器SBUF,接收缓冲器SBUF、输入移位寄存器、串行接口控制器SCON、定时器T1 构成的波特率发生器等部件组成。

由发送缓冲期SBUF 发送数据,接收缓冲期SBUF 接收数据。

串行接口通信的工作方式选择、接收和发送控制及状态等均由串行接口控制寄存器SCON 控制和指示。

定时器T1 产生串行通信所需的波特率。

6. AT89S51 单片机串行口有几种工作方式?有几种帧格式?各种工作方式的波特率如何确定?答:串行口有 4 种工作方式:方式0、方式1、方式2、方式3;有3 种帧格式,方式 2 和3 具有相同的帧格式;方式0 的发送和接收都以fosc/12 为固定波特率,SMOD /32×定时器T1 的溢出率方式 1 的波特率=2SMOD方式 2 的波特率=2 /64×foscSMOD /32×定时器T1 的溢出率方式 3 的波特率=27. 为什么MCS-51 串行口的方式0 帧格式没有起始位(0)和停止位(1)?解答:串行口的方式0 为同步移位寄存器输入输出方式,常用于外接移位寄存器,以扩展并行I/O 口,一般不用于两个MCS-51 之间的串行通信。

该方式以fosc/12 的固定波特率从低为位到高位发送或接受数据。

8. AT89S51 中SCON 的SM2,TB8 ,RB8 有何作用?答:AT89S51 中SCON 的SM2 是多机通信控制位,主要用于方式 2 和方式 3.若置SM2=1 ,则允许多机通信。

TB8 是发送数据的第9 位,在方式 2 或方式 3 中,根据发送数据的需要由软件置位或复位。

它在许多通信协议中可用作奇偶校验位;在多机通信中作为发送地址帧或数据帧的标志位。

RB8 是接收数据的第9 位,在方式 2 或方式 3 中接收到的第9 位数据放在RB8 位。

它或是约定的奇偶校验位,或是约定的地址/数据标示位。

9. 为什么定时器/计数器T1 用做串行口波特率发生器时,采用方式2?若已知时钟频率、通讯波特率,如何计算其初值?解答:因为定时器/计数器在方式 2 下,计数初值是自动重装的,这样在做串口波特率发生器设置时,就避免了重装参数的操作。

另外,若选用工作方式0 或工作方1,当定时器T1 溢出时,需在中断服务程序中重装初值,这样就带来了难以补偿的定时误差,而方式2 每次自动重装初值所花的时间都是一样的,这样就提高了波特率的精度。

已知时钟频率、通讯波特率,根据公式:波特率=SMOD232 12 (f OSC256X )可计算出初值X 。

10. 以方式一为例,简述AT89S51 串行口接收和发送数据的过程。

答:以方式一为例。

发送:数据位由TXT 端输出,发送 1 帧信息为10 为,当CPU 执行1 条数据写发送缓冲器SBUF 的指令,就启动发送。

发送开始时,内部发送控制信号/SEND 变为有效,将起始位想TXD 输出,此后,每经过 1 个TX 时钟周期,便产生 1 个移位脉冲,并由TXD 输出 1 个数据位。

8 位数据位全部完毕后,置 1 中断标志位TI ,然后/SEND 信号失效。

接收:当检测到起始位的负跳变时,则开始接收。

接受时,定时控制信号有2 种,一种是位检测器采样脉冲,它的频率是RX 时钟的16 倍。

也就是在 1 位数据期间,有16 个采样脉冲,以波特率的16 倍的速率采样RXD 引脚状态,当采样到RXD 端从 1 到0 的跳变时就启动检测器,接收的值是 3 次连续采样,取其中2 次相同的值,以确认是否是真正的起始位的开始,这样能较好地消除干扰引起的影响,以保证可靠无误的开始接受数据。

11. 帧格式为 1 个起始位,8 个数据位和 1 个停止位的异步串行通信方式是方式( 1 )。

12. 通过串行口发送或接收数据时,在程序中应使用:(选(3))(1)MOVC 指令(2)MOVX 指令(3)MOV 指令(4)XCHD 指令13. 在串行通讯中,收发双方的波特率的应该是(相等)的。

14. 若定时器T1 设置成模式2 作波特率发生器,已知fosc=6MHz 。

求可能产生的最高和最低的波特率。

解:最高波特率为T1 定时最小值时,此时初值为255,并且SMOD=1 ,有:SMOD2 f OSC波特率==31250bps32 12 ( 256 X )最低波特率为T1 定时最大值时,此时初值为0,并且SMOD=0 ,有:SMOD2 f OSC波特率==61bps32 12 ( 256 X )@@@13.使用8031 的串行口按工作方式1 进行串行数据通讯,假定波特率为2400b/s,以中断方式传送数据,请编写全双工通讯程序。

解答:略@@@14.使用 8031 的串行口按工作方式 3 进行串行数据通讯,假定波特率为 1200b/s ,第9 数据位作奇偶校验位,以中断方式传送数据,请编写通讯程序。

解答:略@@@15.某 8031 串行口,传送数据式为 1 个起始位( 0),7 个数据位, 1 个偶校验位和 1 个停止位( 1)组成。

当该串行钟传送1800 个字符时,试计算出波特率。

解答:串口每秒钟传送的字符为:1800/60=30 个字符 /秒所以波特率为: 30 个字符 /秒× 10 位/ 个字符 =300b/s f o s c =11.059M H z ,试编写一段程序,其功能为对串行口初始化,使之方式 1,波特率为 1200b /s ;并用查询串行口状态的方法,读出接收缓冲器的数送到发送缓冲器。

解: START:MOV SCON,#50H ;串行接口工作于方式 1 MOV TMOD,#20H ;定时器 T1 工作于模式 2 MOV TH1,#0E8H ;赋定时器计数初值 MOV TL1,#0E8H SETB TR1 ;启动定时器 T1 JNB RI,$ ? ? ? ? ? ? ? .查.; 询接收 CLR RI ;清 RI 标志 MOV A,SBUF ;读出接收缓冲器数据 MOV SBUF,A ;启动发送过程 JNB TI,$ ;等待发送完 CLR TI ;清 TI 标志 SJMP $ ;结束 16. 89S 51 通过串行口将内部数据存储器20H 单元开始的 10将接收到的 10 个字节的数据存放在内部数据存储器 40H 开始的存储单元中。

假定 fosc 为 11.0592MHz ,波特率为 1200bps ,以中断方式传送数据,第 9 数据位作为奇校验位,如果出现校验发送数据“F FH ”,然后停止工作。

请编写通信程序。

解:ORG 0000H AJMP MAIN ;上电,转向主程序 ORG 0023H ;串行口的中断入口地址AJMP STOP ;转向中断服务程序ORG 0040H ;主程序MAIN: MOV SP,#60H MOV TMOD,#20H MOV TH1,#0E8H MOV TL1,#0E8H SETB TR1 MOV SCON ,#0D0H MOV PCON ,#00HMOV R0 ,#20H ;置发送数据区首地址MOV R1 ,#40H ;置接收数据区首地址SETB ES ;允许串行口中断SETB EA ;CPU 允许中断MOV A ,@R0MOV C, PSW.0 ;P→CCPL CMOV TB8 ,CMOV SBUF ,A ;发送第一个数据SJMP $STOP: JNB RI SOUT ;TI=1, 为发送中断CLR RIMOV A ,SBUF ;读出接收缓冲区内容MOV C ,PSW.0 ;P→CCPL C ;形成奇校验JC LOOP1 ;判断接收端的奇偶值,C=1 转LOOP1 JNB RB8 ,LOOP2 ;C=0,RB8=0 ,转LOOP2 SJMP ERROR ;C=0,RB8=1, 转出错处理LOOP1: JB RB8 ,LOOP2 ;C=1 ,RB8=1 ,转LOOP2 SJMP ERROR ;C=0,RB8=1, 转出错处理LOOP2:MOV @R1 ,A ;将接收数据送入接收数据区INC R1 ;修改数据区指针RETISOUT: CLR TI ;是发送中断,清除发送中断标志INC R0 ;修改数据区指针MOV A, @R0MOV PSW.0, C ;P→CCPL CMOV TB8, CMOV SBUF ,A ;发送第一个数据RETIERROR: MOV SBUF, #0FFHCLR EARETIEND17. 设甲乙两机进行通信,波特率为2400bps,晶振均采用6MHz 。

甲机将外部数据存储器2000H~20FFH 单元的内容向乙机发送,采用累加和检验。

甲机发送数据之前先将数据块长度发给乙机,当数据发送完再向乙机发送一个累加和校验码。

乙机接收数据进行累加和校验,如果和发送方的累加和一致,则回送数据“00H”,以示接收正确处理;如果不一致,则回送数据“FFH”,通知甲机再重新发送过程,请编程实现之。

解:本题程序由甲乙两机各自运行的程序组成。

单片机对串行口的监控方式可采用中断也可采用查询的方式,此处采用查询的监控方式。

另设乙机将接收的数据存放在外部数据存储器起始地址为2100H 的区域。

甲机:ORG 1000H START:MOV TMOD ,#20HMOV TH1, #0F4HMOV TL1, #0F4HSETB TR1MOV SCON ,#0C0HMOV PCON ,#80HMOV P2 ,#20HMOV R0 ,#00HMOV R3 ,#00HMOV R2 ,#00H TXSUB :CLR TIMOV SBUF, R2JNB TI, $CLR TITTXD: MOVX A,@R0MOV SBUF, AJNB TI, $CLR TIADD A.R3MOV R3, AINC R0DJNZ R2, TTXD TXSUM: MOV SBUF, R3 JNB TI, $CLR TICLR RISETB RENJNB RI, $CLR RIJNZ STARTSJMP $END乙机:ORG 1000H START:MOV TMOD ,#20H MOV TH1, #0F4HMOV TL1, #0F4HSETB TR1MOV SCON ,#0D0HMOV PCON ,#80HMOV P2 ,#21HMOV R0 ,#00HMOV R3 ,#00HMOV R2 ,#00HRXSUB :CLR RIJNB RI, $CLR RIMOV A, SBUFMOV R2, AADD A, R3MOV R3, ARRXD: JNB RI, $CLR RIMOV A, SBUFMOV @R0, AADD A, R3INC R0DJNZ R2, RRXDRXSUM: JNB RI, $CLR RIMOV A, SBUFXRL A, R3JNZ ERRORMOV SBUF, #00HSJMP $ERROR: MOV SBUF, #0FFHLJMP RXSUB18. 简述利用串行口进行多机通讯的原理。

相关文档
最新文档