视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
单片机第8章习题
2025-09-30 22:55:16 责编:小OO
文档
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;

}

}下载本文

显示全文
专题