收藏 分销(赏)

单片机第8章习题.doc

上传人:xrp****65 文档编号:8752267 上传时间:2025-03-01 格式:DOC 页数:4 大小:62KB
下载 相关 举报
单片机第8章习题.doc_第1页
第1页 / 共4页
单片机第8章习题.doc_第2页
第2页 / 共4页
点击查看更多>>
资源描述
8串行通信 一、判断题 ( )1、串行口数据缓冲器SBUF是可以直接寻址的专用寄存器 ( )2、特殊功能寄存器SCON与定时器/计数器的控制无关 ( )3、串行口的发送中断与接收中断各自有自己的中断入口地址 ( )4、TI是串行口发送中断标志, RI是串行口接收中断标志 ( )5、要进行多机通信,MCS-51串行接口的工作方式应为方式1 ( )6.串行口的中断,CPU响应中断后,必须在中断服务程序中,用软件清除相应的中断标志位,以撤 消中断请求。 ( )7.串行口数据缓冲器SBUF是物理上独立的两个专用寄存器。 ( )8、串行口的方式2的波特率为FOSC/12 ( )9、80C51单片机中的TXD为接收串行口 ( )10、半双工是指数据可以同时进行双向传输 二、填空题 1、计算机的数据传送有两种方式,即: 方式和 方式,其中具有成本低特点的是 数据传送。 2、异步串行数据通信的桢格式由 位, 位, 位和 位组成。 3、异步串行数据通信有 , 和 共三种数据通路形式。 4、单片机串行通信时,其波特率分为 和 两种方式,在波特率可变的方式中,可采用 的 来设定和计算波特率 。固定 可变 溢出率 5、串行口方式2接收到的第9位数据送 寄存器的 位中保存 6、RS-232定义了 、 之间的物理接口。(数据终端设备(DTE)、 数据通信设备(DCE)) 7、串行通信的的错误校验的方法有 、 、 8、方式0时,串行接口为 寄存器的输入输出方式,主要用于扩展 输入或输出接口 9、在串行通信中 和 的波特率是固定的,而 和 的波特率是可变的。 10、使用定时器 / 记数器 1设置串行通信的波特率时,应把定时器 /计数器 1设定为工作方式 ,即 方式。 三、单项选择题 1.MSC-51单片机的串行口是 A.单工 B.半双工 C.全双工 2.下列关于MCS-51串行口说法不正确的是 A.能同时进行串行发送和接受 B.它可以作为异步串行通信使用,也可以作同步移位寄存器用 C.利用串行口可以实现8051单片机点对点的单机、多机通信 D.串行口的波特率是固定的 3.MCS—51单片机串行口发送/接收中断源的工作过程是:当串行口接收或发送完一帧数据时,将SCON中的 ,向CPU申请中断。 A.RI或TI置1 B.RI或TI置0 C.RI置1或TI置0 D.RI置0或TI置1 4.MCS—51的串行口工作方式中适合多机通信的是 。 A.方式0 B.方式3 C.方式1 D.方式2 5.MCS—51单片机串行口接收数据的次序是下述的顺序 。 (1)接收完一帧数据后,硬件自动将SCON的R1置1 (2)用软件将RI清零 (3)接收到的数据由SBUF读出 (4)置SCON的REN为1,外部数据由RXD(P3.0)输入 A.(1)(2)(3)(4) B.(4)(1)(2)(3) C.(4)(3)(1)(2) D.(3)(4)(1)(2) 6.MCS—51单片机串行口发送数据的次序是下述的顺序 (1)待发送数据送SBUF (2)硬件自动将SCON的TI置1 (3)经TXD(P3.1)串行发送一帧数据完毕 (4)用软件将TI清0 A.(1)(3)(2)(4) B.(1)(2)(3)(4) C.(4)(3)(1)(2) D.(3)(4)(1)(2) 7.8051单片机串行口用工作方式0时, A.数据从RDX串行输入,从TXD串行输出 B.数据从RDX串行输出,从TXD串行输入 C.数据从RDX串行输入或输出,同步信号从TXD输出 D.数据从TXD串行输入或输出,同步信号从RXD输出 8、串行通信的传送速率单位是波特,而波特的单位是 A.字符/秒 B.位/秒 C.桢/秒 D.桢/分 9.执行MOV SCON,#00H后,串行口工作方式设置为 A.方式0 B.方式1 C.方式2 D.方式3 10、串行口的控制寄存器SCON中,REN的作用是 A.接收中断请求标志位 B.发送中断请求标志位 C.串行口允许接收位 D.地址/数据位 11.帧格式为1个起始位、8个数据位和1个停止位的异步串行通信方式是 (A)方式0  (B)方式1  (C)方式2  (D)方式3 12.以下所列特点中,不属于串行工作方式2的是 (A)11位帧格式            (B)有第9数据位 (C)使用一种固定的波特率   (D)使用两种固定的波特率 四、问答题 1、简述80C51单片机串行通信时在方式1下发送数据的过程。 2.RS-232C 和RS-485 的信号逻辑电平各是什么?在与80C51 单片机通信时,中间是否都要加装逻辑电平转换芯片? 3、80C51单片机串行口有几种工作方式?由什么寄存器决定? 五、编写程序 1.甲机将片内RAM30H开始的10个字节,以波特率为9600b/s发送给乙机,存于乙机片内RAM40H开始的单元,设晶振频率为11。0592MHz 一、判断题 1-5 √√X√X 6-10√√XXX 二、填空题 1、串行 并行 串行 2、起始, 数据, 奇偶校验 停止 3、单工 半双工 全双工 4、固定 可变 溢出率 5、SCON RB8 6、数据终端设备(DTE)、 数据通信设备(DCE) 7、奇偶校验 、 代码和校验、 循环冗余码校验 8、同步移位 并行 9、方式0 方式2 方式1 方式3 10、 2 自动从新加载 三、单项选择题 1-5 CDA(BD)B 6-10 ACBAC 11-12 BC 四、问答题 1、简述80C51单片机串行通信时在方式1下发送数据的过程。 数据发送是由一条写发送寄存器(SBUF)指令开始的。随后在串行口由硬件自动加入起始位和停止位,构成一个完整的帧格式,然后在移位脉冲的作用下,由TXD端串行输出。一个字符帧发送完后,使TXD输出线维持在1(SPACE)状态下,并将SCON寄存器的TI置1,通知CPU可以发送下一个字符。 2.RS-232C 和RS-485 的信号逻辑电平各是什么?在与80C51 单片机通信时,中间是否都要加装逻辑电平转换芯片? RS-232C采用负逻辑电平,规定:DC(-3—-15V)逻辑1,DC(+3—+15)为逻辑0,-3—+3过渡区 与TTL和 MOS电平不兼容,为了兼容需要外加电平转换电路 RS-485采用两线间的电压来表示逻辑1和逻辑0 与单片机通信时候可以通过MAX485来完成TTL/RS-485的电平转换 3、80C51单片机串行口有几种工作方式?由什么寄存器决定? 答: 有4种工作方式 由串行口控制寄存器SCON中的 SM0、SM1设置 SM0 、SM1 工作方式 00 0 01 1 10 2 11 3 五、编写程序 1、甲机将片内RAM30H开始的10个字节,以波特率为9600b/s发送给乙机,存于乙机片内RAM40H开始的单元,设晶振频率为11。0592MHz如图所示, 答:甲、乙机的波特率都设置成 9600b/s 选择定时器T1 定时功能,方式2 初值计算: 9600=1/T1定时时间*1/32 T1定时时间=1/9600*32S 初值=253 =0FDH 程序:甲机程序 #include “stc12c5a.h” unsigned char ADDRT[10]_at_0x30; //在RAM区定义10个单元 unsigned char num=0; //声明计数变量 unsigned char *psend; //指向发送数据区的指针 void main (void) //主程序 { SCON=0x40; //置串行口工作方式1 TMOD=0x20; //定时器1为工作方式2 TH1=0xFD; //产生9600bps的时间常数 TL1=0xFD; TR1=1; //启动定时器1 ES=1; //串行口开中断 EA=1; //开中断 psend=ADDRT; //设置发送数据缓冲区指针 SBUF=*psend; //发送第一个数据 while(1); //等待中断 } void UART_ISR(void) interrupt 4 //中断号4是串行中断 { TI = 0; //清发送中断标志 num++; //修改计数变量值 if(num==0x0a) ES=0; //判断是否发送完,若已完,则关中断 else //否则,修改指针,发送下一个数据 { psend++; SBUF=*psend; } } 乙机接收程序 #include “stc12c5a.h” //包含STC12C5A60S2单片机寄存器定义文件 unsigned char ADDRr[10]_at_0x40; //在RAM区定义10个单元 unsigned char num=0; //声明计数变量 unsigned char *prec; //指向发送数据区的指针 void main (void) //主程序 { SCON=0x60; //置串行口工作方式1 TMOD=0x20; //定时器1为工作方式2 TH1=0xFD; //产生9600bps的时间常数 TL1=0xFD; TR1=1; //启动定时器1 ES=1; //串行口开中断 EA=1; //开中断 prec=ADDRT; //设置接收数据缓冲区指针 while(1); //等待中断 } void UART_ISR(void) interrupt 4 //中断号4是串行中断 { RI = 0; //清发送中断标志 num++; //修改计数变量值 if(num==0x0a) ES=0; //判断是否发送完,若已完,则关中断 else //否则,修改指针,发送下一个数据 { prec++; *prec= SBUF; } }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服