《单片机原理及接口技术(C51编程)(第2版)-习题问题详解汇总情况.pdf》由会员分享,可在线阅读,更多相关《单片机原理及接口技术(C51编程)(第2版)-习题问题详解汇总情况.pdf(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 0/52下载文档可编辑 第1章 思考题及习题1参考答案 一、填空 1.除了单片机这一名称之外,单片机还可称为微控制器或嵌入式控制器 2.单片机与普通微型计算机的不同之处在于其将 CPU、存储器、和 I/O 口三部分,通过内部总线连接在一起,集成于一块芯片上。3.AT89S51单 片 机 工 作 频 率 上 限 为33MHzMHz。4.专用单片机已使系统结构最简化、软硬件 1/52下载文档可编辑 资源利用最优化,从而大大降低成本和提高可靠性 二、单选 1.单片机内部数据之所以用二进制形式表示,主要是 A为了编程方便 B受器件的物理性能限制 C为了通用性 D为了提高运算速度 2.在家用电器中使用
2、单片机应属于微计算机的。A辅助设计应用 B测量、控制应用 2/52下载文档可编辑 C数值计算应用 D数据处理应用 3.下面的哪一项应用,不属于单片机的应用范围。A工业控制 B家用电器的控制 C数据库管理 D汽车电子设备 三、判断对错 1.STC 系列单片机是 8051 内核的单片机。对 2.AT89S52 与 AT89S51 相比,片内多出了 4KB的 Flash 程序存储器、128B 的 RAM、1个中断源、1 个定时器(且具有捕捉功能)。对 3.单片机是一种 CPU。错 3/52下载文档可编辑 4.AT89S52 单片机是微处理器。错 5.AT89S51片内的Flash程序存储器可在线写入
3、(ISP),而 AT89C52 则不能。对 6.为 AT89C51 单片机设计的应用系统板,可将芯片 AT89C51 直接用芯片 AT89S51 替换。对 7.为 AT89S51 单片机设计的应用系统板,可将芯片 AT89S51 直接用芯片 AT89S52 替换。对 8.单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是 DSP 的长处。对 第 2 章 思考题及习题 2 参考答案 一、填空 1.在AT89S51单片机中,如果采用6MHz 晶振,4/52下载文档可编辑 一个机器周期为 2s。2.AT89S51单片机的机器周期等于12个时钟振荡周期。3.内部 RAM 中,位
4、地址为 40H、88H 的位,该位所在字节的字节地址分别为 28H 和 88H。4.片内字节地址为 2AH 单元最低位的位地址是 50H;片内字节地址为 A8H 单元的最低位的位地址为 A8H。5.若 A 中的内容为 63H,那么,P 标志位的值为 0。6.AT89S51 单片机复位后,R4 所对应的存储单元的地址为 04H,因上电时 PSW=00H。这时 5/52下载文档可编辑 当前的工作寄存器区是 0 组工作寄存器区。7.内部 RAM 中,可作为工作寄存器区的单元地址为 H H。答:00H,1FH 8.通过堆栈操作实现子程序调用时,首先要把的内容入栈,以进行断点保护。调用子程序返回指令时,
5、再进行出栈保护,把保护的断点送回到,先弹出的是原来中的内容。答:PC,PC,PCH 9.AT89S51 单片机程序存储器的寻址范围是由程序计数器 PC 的位数所决定的,因为 AT89S51单片机的 PC 是 16 位的,因此其寻址的范围为 KB。答:64 10.AT89S51 单片机复位时,P0P3 口的各引 6/52下载文档可编辑 脚为电平。答:高 11.AT89S51 单片机使用片外振荡器作为时钟信号时,引脚XTAL1接片外振荡器的输出信号,引脚 XTAL2 的接法是悬空。12.AT89S51 单片机复位时,堆栈指针 SP 中的内容为,程序指针 PC 中的内容为 。答:07H,0000H
6、二、单选 1.程序在运行中,当前 PC 的值是。A当前正在执行指令的前一条指令的地址 B当前正在执行指令的地址。C当前正在执行指令的下一条指令的首地址 D控制器中指令寄存器的地址。7/52下载文档可编辑 2.判断下列哪一种说法是正确的?A PC是 一 个 可 寻 址 的 寄 存 器 B单片机的主频越高,其运算速度越快。CAT89S51 单片机中的一个机器周期为1s D特殊功能寄存器 SP 内存放的是堆栈栈顶单元的内容。三、判断对错 1.使用 AT89S51 单片机且引脚EA=1 时,仍可外扩 64KB 的程序存储器。错 2.区分片外程序存储器和片外数据存储器的最可靠的方法是看其位于地址范围的低
7、端还是高端。错 8/52下载文档可编辑 3.在 AT89S51 单片机中,为使准双向的 I/O口工作在输入方式,必须事先预置为 1。对 4.PC 可以看成是程序存储器的地址指针。对 5.AT89S51 单片机中特殊功能寄存器(SFR)使用片内 RAM 的部份字节地址。对 6.片内 RAM 的位寻址区,只能供位寻址使用,而不能进行字节寻址。错 7.AT89S51单片机共有26个特殊功能寄存器,它们的位都是可以用软件设置的,因此,都是可以位寻址的。错 8.堆栈区是单片机内部的一个特殊区域,与RAM 无关。错 9.AT89S51 单片机进入空闲模式,CPU 停止工 9/52下载文档可编辑 作。片内的
8、外围电路(如中断系统、串行口和定时器)仍将继续工作。对 10.AT89S51 单片机不论是进入空闲模式还是掉电运行模式后,片内 RAM 和 SFR 中的内容均保持原来的状态。对 11.AT89S51 单片机进入掉电运行模式,CPU和片内的外围电路(如中断系统、串行口和定时器)均停止工作。对 12.AT89S51 单片机的掉电运行模式可采用响应中断方式来退出。对 四、简答 1.AT89S51 单片机片内都集成了哪些功能部件?10/52下载文档可编辑 答:集成了如下部件:1个CPU;128个数据存储器(RAM)单元;8K Flash程序存储器;4个8位可编程并行I/O口(P0口、P1口、P2口、P
9、3口);1个全双工串行口;3个16位定时器/计数器;1个看门狗定时器;一个中断系统,6个中断源,2个优先级;32个特殊功能寄存器(SFR)。2.AT89S51 的 64KB 程序存储器空间有 5 个单元地址对应AT89S51单片机5个中断源的中断入口地址,请写出这些单元的入口地址及对应的中断源。答:见下表 表 AT89S51 各中断源的中断入口地址 11/52下载文档可编辑 中 断 源 入 口 地 址 外部中断 0 0003H 定时器/计数器T0 000BH 外部中断 1 0013H 定时器/计数器T1 001BH 串行口 0023H 3.说明 AT89S51 单片机的EA引脚接高电平或低电平
10、的区别。答:当EA脚为高电平时,单片机读片内程序存储器(4K 字节Flash)中的内容,但在PC值超过0FFFH(即超出4K字节地址范围)时,将自动转向读外部程序存储器内的程序;当EA脚为低电平时,单片机只对外部程序存储器的地址为0000HFFFFH中的内容进行读操作,单片机不理会片内的4K字节的Flash程序存储器。12/52下载文档可编辑 第 3 章 思考题及习题 3 一、填空 1与汇编语言相比,C51 语言具有、等优点。答:可读性好,可移植性好,模块化开发与资源共享,生成的代码效率高 2 C51 语言头文件包括的内容有 8051 单片机,以及的说明。答:片内的外设硬件资源,相应的特殊功能
11、寄存器 3 C51 提供了两种不同的数据存储类型和来访问片外数据存储区。答:xdata,pdata 4C51 提供了 code 存储类型来访问。答:程序存储区 5对于 SMALL 存储模式,所有变量都默认位 13/52下载文档可编辑 于 8051 单片机。答:内部的数据存储器 6C51 用“*”和“&”运算符来提取指针变量的 和变量的。答:内容,地址 二、判断对错 1 C51 语言处理单片机的中断是由专门的中断函数来处理的。对 2在 C51 语言中,函数是一个完成一定相关功能的执行代码段,它与另外两个名词“子程序”和“过程”用来描述同样的事情。对 3在 C51 语言编程中,编写中断服务函数时需
12、要考虑如何进行现场保护、阻断其他中断、返回时自动恢复现场等处理的程序段的编写。错 14/52下载文档可编辑 4全局变量是在某一函数中存在的变量,它只在该函数内部有效。错 5全局变量可使用 static 关键词进行定义,由于全局变量一直存在,占用了大量的内存单元,且加大了程序的耦合性,不利于程序的移植或复用。对 6 绝对地址包含头文件 absacc.h 定义了几个宏,用来确定各类存储空间的绝对地址。对 三、简答 1 C51 在标准 C 的基础上,扩展了哪几种数据类型?答:扩展了 4 种数据类型,它们是:bit、sfr、sfr16 和 sbit。15/52下载文档可编辑 2 C51 有哪几种数据存
13、储类型?其中数据类型“idata,code,xdata,pdata”各对应 AT89S51单片机的哪些存储空间 答:C51 有 6 种数据存储类型 data、bdata、idata、xdata、pdata 和 code。数据存储类型 idata 对应片内 RAM 的 256字节。数据存储类型 code 对应程序存储区。数据存储类型 xdata 对应片外 64KB 的 RAM空间。数据存储类型 pdata 对应片外 RAM 的 256字节。3bit 与 sbit 定义的位变量有什么区别?16/52下载文档可编辑 答:bit 是用来定义普通的位变量,它的值只能是二进制的 0 或 1。而 sbit
14、定义的是特殊功能寄存器的可寻址位,它的值是可以进行位寻址的特殊功能寄存器的某位的绝对地址,例如PSW 寄存器 OV 位的绝对地址 0 xd2。4 说明 3 种数据存储模式(1)SMALL 模式(2)COMPACT 模式(3)LARGE 模式之间的差别。答:3 种数据存储模式之间的差别如下:(1)SMALL 模式。在该模式下,所有变量都默认位于 8051 单片机内部的数据存储器,这与使用 data 指定存储器类型的方式一样。在此模式下,变量访问的效率高,但是所有数据对象和堆栈必须使用内部 RAM。17/52下载文档可编辑(2)COMPACT 模式。本模式下的所有变量都默认在外部数据存储器的 1
15、页(256 字节)内,这与使用pdata指定存储器类型是一样的。该存储器类型适用于变量不超过256字节的情况,此限制是由寻址方式决定的,相当于使用数据指针Ri 进行寻址。与 SMALL 模式相比,该存储模式的效率比较低,对变量访问的速度也慢一些,但比 LARGE 模式快。(3)LARGE 模式。在 LARGE 模式下,所有变量都默认位于外部数据存储器,相当于使用数据指针DPTR 进行寻址。通过数据指针访问外部数据存储器的效率较低,特别是当变量为2 字节或更多字节时,该模式要比 SMALL 和 18/52下载文档可编辑 COMPACT 产生更多的代码。5do-while 构成的循环与 while
16、 循环的区别是什么?答:(1)while 语句。while 语句的语法形式为:while(表达式)循环体语句;表达式是 while 循环能否继续的条件,如果表达式为真,就重复执行循环体语句;反之,则终止循环体内的语句。while 循环的特点在于,循环条件的测试 19/52下载文档可编辑 在循环体的开头,要想执行重复操作,首先必须进行循环条件的测试,如果条件不成立,则循环体内的重复操作一次也不能执行。(2)do-while 语句。do while 语句的语法形式为:do 循环体语句;while(表达式);do-while 语句的特点是先执行内嵌的循环体语句,再计算表达式,如果表达式的值为非0,则
17、继续执行循环体语句,直到表达式的值 20/52下载文档可编辑 为 0 时结束循环。由do-while 构成的循环与while 循环十分相似,它们之间的重要区别是:while 循环的控制出现在循环体之前,只有当 while 后面表达式的值非 0 时,才可能执行循环体,在do-while 构成的循环中,总是先执行一次循环体,然后再求表达式的值,因此无论表达式的值是 0 还是非 0,循环体至少要被执行一次。四、编程 1编写 C51 程序,将单片机片外 2000H 为首地址的连续 10 个单元的内容,读入到片内 RAM的 40H49H 单元中。答:将片外 2000H 为首地址的连续 10 个单元 21
18、/52下载文档可编辑 的内容,读入到片内 RAM 的 40H49H 单元中。程序如下:xdata unsigned char buffer110 _at_ 0 x2000;data unsigned char buffer210 _at_ 0 x40 void main(void)unsigned char i;for(i=0;i10;i+)buffer2i=buffer1i 22/52下载文档可编辑 2编写将单片机片内一组 RAM 单元清 0 的函数,函数内不包括这组 RAM 单元的起始地址和单元个数,起始地址和单元个数参数应在执行函数前由主函数赋值。答:参考程序如下:#define uch
19、ar unsigned char void clear0(uchar *addr,ucharlenth)uchari;for(i=0;ilenth;i+)*addr=0;addr+;void main(void)23/52下载文档可编辑 ucharaddr32 _at_ 0 x30;起始地址赋值 ucharlenth=32;单元个数赋值 clear0(addr,lenth);while(1);第 5 章 思考题及习题 5 参考答案 一、填空 1.AT89S51 单片机任何一个端口要想获得较大的驱动能力,要采用电平输出。答:低 24/52下载文档可编辑 2.检测开关处于闭合状态还是打开状态,只需
20、把开关一端接到 I/O 端口的引脚上,另一端接地,然后通过检测来实现。答:I/O 端口引脚的电平 3.“8”字型的 LED 数码管如果不包括小数点段共计段,每一段对应一个发光二极管,有和两种。答:7,共阳极,共阴极 4.对于共阴极带有小数点段的数码管,显示字符“6”(a 段对应段码的最低位)的段码为 ,对于共阳极带有小数点段的数码管,显示字符“3”的段码为。答:7DH,B0H 25/52下载文档可编辑 5.已知8段共阳极LED数码显示器要显示某字符的段码为A1H(a段为最低位),此时显示器显示的字符为。答:d 6.LED 数码管静态显示方式的优点是:显示闪烁,亮度,比较容易,但是占用的线较多。
21、答:无,较高,软件控制,I/O 口 7.当显示的 LED 数码管位数较多时,一般采用显示方式,这样可以降低,减少的数目。答:动态,成本,I/O 端口 8.LCD 1602 是型液晶显示模块,在其显示字符时,只需将待显示字符的由单片机写入 LCD 26/52下载文档可编辑 1602 的显示数据 RAM(DDRAM),内部控制电路就可将字符在 LCD 上显示出来。答:字符,ASCII 码 9.LCD 1602 显示模块内除有字节的 RAM 外,还有字节的自定义,用户可自行定义个 57点阵字符。答:80,显示数据,64,字符 RAM,8 10当按键数目少于8个时,应采用式键盘。当按键数目为64个时,
22、应采用式键盘。答:独立,矩阵 11使用并行接口方式连接键盘,对独立式键盘而言,8根I/O口线可以接个按键,而对矩阵式键盘而言,8根I/O口线最多可以接个按键。27/52下载文档可编辑 答:8,64 12LCD 1602 显示一个字符的操作过程为:首先,然后,随后,最后。答:读忙标志位BF,写命令,写显示字符,自动显示字符 二、判断对错 1P0 口作为总线端口使用时,它是一个双向口。对 2P0 口作为通用 I/O 端口使用时,外部引脚必须接上拉电阻,因此它是一个准双向口。对 3P1P3 口作为输入端口用时,必须先向端口寄存器写入 1。对 4P0P3 口的驱动能力是相同的。错 28/52下载文档可
23、编辑 5当显示的 LED 数码管位数较多时,动态显示所占用的 I/O 口多,为节省 I/O 口与驱动电路的数目,常采用静态扫描显示方式。错 6 LED 数码管动态扫描显示电路只要控制好每位数码管点亮显示的时间,就可造成“多位同时亮”的假象,达到多位 LED 数码管同时显示的效果。错 7 使用专用的键盘/显示器芯片,可由芯片内部硬件扫描电路自动完成显示数据的扫描刷新,和键盘扫描。对 8控制 LED 点阵显示器的显示,实质上就是控制加到行线和列线上的电平编码来控制点亮某些发光二极管(点),从而显示出由不同 29/52下载文档可编辑 发光的点组成的各种字符。对 91616 点阵显示屏是由 4 个 4
24、4 的 LED点阵显示器组成。错 10LCD 1602 液晶显示模块,可显示 2 行,每行 16 个字符。对 12LED 数码管的字型码是固定不变的。错 13为给扫描法工作的 88 的非编码键盘提供接口电路,在接口电路中需要提供两个 8 位并行的输入口和一个 8 位并行的输出口。错 14 LED 数码管工作于动态显示方式时,同一时间只有一个数码管被点亮。15动态显示的数码管,任一时刻只有一个 LED 数码管处于点亮状态,是 LED 的余 30/52下载文档可编辑 辉与人眼的“视觉暂留”造成数码管同时显示的“假象”。对 三、简答 2 LED 的静态显示方式与动态显示方式有何区别?各有什么优缺点?
25、答:静态显示时,欲显示的数据是分开送到每一位 LED 上的。而动态显示则是数据是同时送到每一个 LED 上,再根据位选线来确定是哪一位 LED 被显示。静态显示亮度很高,但口线占用较多。动态显示口线占用较少,但是需要编程进行动态扫描,适合用在显示位数较多的场合。31/52下载文档可编辑 第 6 章 思考题及习题 6 参考答案 一、填空 1 外部中断 1 的中断入口地址为 0013H。定时器 T1 的中断入口地址为 001BH。2若(IP)=00010100B,则优先级最高者为外部中断1,最低者为定时器 T1。3 AT89S51 单片机响应中断后,产生长调用指令 LCALL,执行该指令的过程包括
26、:首先把的内容压入堆栈,以进行断点保护,然后把长调用指令的 16 位地址送入,使程序执行转向中的中断地址区。答:PC、PC、程序存储器 4 AT89S51 单片机复位后,中断优先级最高的 32/52下载文档可编辑 中断源是外部中断 0。5当AT89S51单片机响应中断后,必须用软件清除的中断请求标志是串行中断、定时器/计数器T2中断。二、单选 1下列说法错误的是()。A.同一级别的中断请求按时间的先后顺序响应 B.同一时间同一级别的多中断请求,将形成阻塞,系统无法响应 C.低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求 33/52下载文档可编辑 D.同级中
27、断不能嵌套 2在 AT89S51 的中断请求源中,需要外加电路实现中断撤销的是()。A.电平方式的外部中断请求 B跳沿方式的外部中断请求 C外部串行中断 D定时中断 3中断查询确认后,在下列各种 AT89S51 单片机运行情况下,能立即进行响应的是()。A当前正在进行高优先级中断处理 B当前正在执行 RETI 指令 C当前指令是 MOV A,R3 D 当前指令是 DIV 指令,且正处于取指令 34/52下载文档可编辑 的机器周期 4下列说法正确的是()。A.各中断源发出的中断请求信号,都会标记在 AT89S51 的 IE 寄存器中 B.各中断源发出的中断请求信号,都会标记在 AT89S51 的
28、 TMOD 寄存器中 C.各中断源发出的中断请求信号,都会标记在 AT89S51 的 IP 寄存器中 D.各中断源发出的中断请求信号,都会标记在 AT89S51 的 TCON、SCON 寄存器中 三、判断对错 1定时器 T0 中断可以被外部中断 0 中断。错 2.必须有中断源发出中断请求,并且 CPU 35/52下载文档可编辑 开中断,CPU 才可能响应中断。错 3 AT89S51 单片机中的同级中断不能嵌套。对 4同为高中断优先级,外部中断 0 能打断正在执行的外部中断 1 的中断服务程序。错 5中断服务子程序可以直接调用。错 6在开中断的前提下,只要中断源发出中断请求,CPU 就会立刻响应
29、中断。错 四、简答 3中断响应需要满足哪些条件?答:一个中断源的中断请求被响应,必须满足以下条件:(1)总中断允许开关接通,即 IE 寄存器中的中断总允许位 EA=1。36/52下载文档可编辑(2)该中断源发出中断请求,即该中断源对应的中断请求标志为“1”。(3)该中断源的中断允许位=1,即该中断被允许。(4)无同级或更高级中断正在被服务。第 7 章 思考题及习题 7 参考答案 一、填空 1 如果采用晶振的频率为 3MHz,定时器/计数器 Tx(x=0,1)工作在方式 0、1、2 下,其方式 0 的最大定时时间为 32.768ms,方式 1 的最大定时时间为 262.144ms,方式 2 的最
30、大定时时间为 1024s。2定时器/计数器用作计数器模式时,外部输 37/52下载文档可编辑 入的计数脉冲的最高频率为系统时钟频率的1/24。3定时器/计数器用作定时器模式时,其计数脉冲由系统时钟信号 12 分频后提供,定时时间与定时器初值有关。4 定时器/计数器 T1 测量某正单脉冲的宽度,采用方式1定时方式可得到最大量程?若时钟频率为 6MHz,求允许测量的最大脉冲宽度为131.072ms。5.定时器 T2 有 3 种工作方式:、和,可通过对寄存器中的相关位进行软件设置来选择。38/52下载文档可编辑 答:捕捉,重新装载(增计数或减计数),波特率发生器,T2CON 6.AT89S52单片机
31、的晶振为6MHz,若利用定时器T1的方式1定时2ms,则(TH1)=FCH,(TL1)=18H。二、单选 1 定时器T0 工作在方式 3 时,定时器 T1 有 种工作方式。A.1 种 B.2 种 C3 种 D4种 2.定时器 T0、T1 工作于方式 1 时,其计数器为 位。A.8 位 B.16 位 C.14 位 D.13 位 39/52下载文档可编辑 3.定时器 T0、T1 的 GATEx=1 时,其计数器是否计数的条件。A.仅取决于TRx状态 B.仅取决于 GATE 位状态 C.是由 TRx和INT x两个条件来共同控制 D.仅取决于INT x的状态 4.定时器 T2 工作在自动重装载方式时
32、,其计数器为 位。A.8 位 B.13 位 C.14 位 D.16 位 5.要想测量INT0引脚上的正单脉冲的宽度,特殊功能寄存器 TMOD 的内容应为。A.87H B.09H C.80H 40/52下载文档可编辑 D.00H 三、判断对错 1下列关于 T0、T1 的哪些说法是正确的。A.特殊功能寄存器 SCON,与定时器/计数器的控制无关。对 B.特殊功能寄存器 TCON,与定时器/计数器的控制无关。错 C.特殊功能寄存器 IE,与定时器/计数器的控制无关。错 D.特殊功能寄存器 TMOD,与定时器/计数器的控制无关。错 2定时器 T0、T1 对外部脉冲进行计数时,要求输入的计数脉冲的高电平
33、或低电平的 41/52下载文档可编辑 持续时间不小于 1 个机器周期。特殊功能寄存器SCON与定时器/计数器的控制无关。错 3定时器 T0、T1 对外部引脚上的脉冲进行计数时,要求输入的计数脉冲的高电平和低电平的持续时间均不小于 2 个机器周期。对 四、简答 1定时器/计数器 T1、T0 的工作方式 2 有什么特点?适用于哪些应用场合?答:方式 2 为初值自动装入的 8 位定时器/计数器,克服了在循环定时或循环计数应用时就存在用指令反复装入计数初值影响定时精度的问题。42/52下载文档可编辑 3如果系统的晶振的频率为 24MHz,定时器/计数器工作在方式 0、1、2 下,其最大定时时间各为多少
34、?答:晶振的频率为 24MHz,机器周期为0.5s。方式 0 最大定时时间=0.5s213=0.5s8192=4096s 方式 1 最大定时时间=0.5s216=0.5s65536=327686s 方式 2 最大定时时间=0.5s28=0.5s256=128s 五、编程 2编写程序,要求使用 T0,采用方式 2 定时,43/52下载文档可编辑 在 P1.0 输出周期为 400s,占空比为 10:1的矩形脉冲。答:据题意,从 P1.0 输出的矩形脉冲的高低电平的时间为 10:1,则高低电平的时间分别为363.63s 和36.37s。如果系统采用 6MHz晶振的话,Tcy=2s,因此高低电平输出取
35、整,则约为 364s 和 36s。参考程序如下:ORG 0000H LJMP MAIN ORG 000BH LJMP IT0P MAIN:MOV TMOD,#02H ;定时器/计数器 T0 为定时方式 2 MOV TL0,#4AH ;定时 364s 初值赋值 SETB TR0 ;启动 T0,开始计数 SETB ET0 ;允许 T0中断 SETB EA ;CPU 开中断 SETB P1.0 44/52下载文档可编辑 WAIT:AJMP WAIT IT0P:CLR EA CLR P1.0 ;关中断 MOV R0,#9 DLY:DJNZ R0,DLY ;延时36s MOV TL0,#4AH ;定时
36、364s 初值赋值 SETB P1.0 SETB EA RETI 第 8 章 思考题及习题 8 参考答案 一、填空 1、AT89S51 的串行异步通信口为(单工/半双工/全双工)。2.串行通信波特率的单位是 bit/s。3.AT89S51 的串行通信口若传送速率为 45/52下载文档可编辑 每秒 120 帧,每帧 10 位,则波特率为 1200 4串行口的方式 0 的波特率为 fosc/12。5 AT89S51 单片机的通讯接口有并行和串行两种型式。在串行通讯中,发送时要把并行数据转换成串行数据。接收时又需把串行数据转换成并行数据。6当用串行口进行串行通信时,为减小波特率误差,使用的时钟频率为
37、11.0592MHz。7AT89S51单片机串行口的4种工作方式中,方式1 和方式3 的波特率是可调的,与定时器/计数器T1的溢出率有关,另外两种方式的波特率是固定的。8帧格式为 1 个起始位,8 个数据位和 1 46/52下载文档可编辑 个停止位的异步串行通信方式是方式。答:方式 1。9在串行通信中,收发双方对波特率的设定应该是相同的的。10串行口工作方式 1 的波特率是。方式 1 波特率=(2SMOD/32)定时器 T1 的溢出率 二、单选 1AT89S51 的串行口扩展并行 I/O 口时,串行接口工作方式选择。A.方式0 B.方式1 C.方式2 D.方式 3 2.控制串行口工作方式的寄存
38、器是。47/52下载文档可编辑 A TCON B.PCON C.TMOD D.SCON 三、判断对错 1串行口通信的第 9 数据位的功能可由用户定义。对 2发送数据的第 9 数据位的内容是在SCON 寄存器的 TB8 位中预先准备好的。对 3串行通信方式 2 或方式 3 发送时,指令把 TB8 位的状态送入发送 SBUF 中。错 4串行通信接收到的第 9 位数据送 SCON寄存器的 RB8 中保存。对 5串行口方式 1 的波特率是可变的,通过定时器/计数器 T1 的溢出率设定。对 48/52下载文档可编辑 6.串行口工作方式1的波特率是固定的,为 fosc/32。错 7.AT89S51 单片机
39、进行串行通信时,一定要占用一个定时器作为波特率发生器。错 8.AT89S51 单片机进行串行通讯时,定时器方式 2 能产生比方式 1 更低的波特率。错 9.串行口的发送缓冲器和接收缓冲器只有 1个单元地址,但实际上它们是两个不同的寄存器。对 四、简答 1在异步串行通信中,接收方是如何知道发送方开始发送数据的?答:实质就是如何检测起始位的开始。当 49/52下载文档可编辑 接收方检测到 RXD 端从 1 到 0 的负跳变时就启动检测器,接收的值是 3 次连续采样,取其中2 次相同的值,以确认是否是真正的起始位的开始,这样能较好地消除干扰引起的影响,以保证可靠无误的开始接受数据。2 AT89S51
40、 单片机的串行口有几种工作方式?有几种帧格式?各种工作方式的波特率如何确定?答:有 4 种工作方式:方式 0、方式 1、方式 2、方式 3;有 3 种帧格式,方式 2 和 3 具有相同的帧格式;方式 0 的发送和接收都以 fosc/12 为固定波特率,方式1 的波特率=2SMOD/32定时器T1 的溢出率 方式 2 的波特率=2SMOD/64fosc 方式3 的波特率=2SMOD/32定时器T1 的溢 50/52下载文档可编辑 出率 5某 AT89S51 单片机串行口,传送数据的帧格式由 1 个起始位(0)、7 个数据位、1个偶校验和 1 个停止位(1)组成。当该串行口每分钟传送 1 800 个字符时,试计算出它的波特率。答:串 口 每 秒 钟 传 送 的 字 符 为:1800/60=30 个字符/秒 所以波特率为:30 个字符/秒10位/个字符=300b/s (学习的目的是增长知识,提高能力,相信一分耕耘一分收获,努力就一定可以获得应有的回报)51/52下载文档可编辑