文档详情

单片机应用技术——基于STC15系列单片机 习题及答案 项目5习题答案.doc

发布:2025-03-18约3.13千字共4页下载文档
文本预览下载声明

项目5习题答案

单选题

设串行异步通信的数据格式是:1个起始位,7个数据位,1个校验位,1个停止位,若传输率为1200,则每秒钟传输的最大字符数为(C)。

(A)10个(B)110个(C)120个(D)240个

2.在数据传输率相同的情况下,同步字符传输的速度要高于异步字符传输,其原

因是(D)。

字符间无间隔(B)双方通信同步

发生错误的概率少(D)附加的辅助信息总量少

3.异步串行通信中,收发双方必须保持(C)。

(A)收发时钟相同(B)停止位相同

(C)数据格式和波特率相同(D)以上都正确

4.在数据传输率相同的情况下,同步传输率高于异步传输速率的原因是(A)

(A)附加的冗余信息量少(B)发生错误的概率小

(C)字符或组成传送,间隔少(D)由于采用CRC循环码校验

5.在异步通信方式中,通常采用(B)来校验错误。

(A)循环冗余校验码(B)奇、偶校验码

(C)海明校验码(D)多种校验方式的组合

二、简答题

1.STC15单片机的串行口有几种工作方式?各有什么特点?

答:STC15单片机的串行口共有?4种工作方式?,特点如下:

?方式0?(同步移位寄存器模式)

?同步通信?,用于扩展I/O(如连接74HC164等移位寄存器)?

?数据格式?:8位数据,无起始/停止位?

?波特率固定?:一般为系统时钟的1/12(如fosc/12)?

?方式1?(8位UART模式)

?异步通信?,最常用模式?

?数据格式?:10位(1起始位+8数据位+1停止位)?

?波特率可变?:由定时器T1或T2控制?

?方式2?(9位UART模式)

?异步通信?,支持多机通信?

?数据格式?:11位(1起始位+8数据位+1可编程位+1停止位)?

?波特率固定?:系统时钟的1/32或1/64(如fosc/32或fosc/64)?

?方式3?(9位UART可变波特率模式)

?异步通信?,功能与方式2类似,但波特率可变?

?数据格式?:同方式2(11位)?

?波特率由定时器控制?:与方式1相同(通过T1/T2设定)?

设单片机串行口工作于方式3,每分钟传送3600个字符,计算其波特率。

答:波特率为660bps

设A、B两台单片机的串口工作于方式1,波特率为4800,A机发送数据0X00、0X01、0X02……0X1F,B机接收后存放到片内RAM地址为0X40开始的单元中,试用查询方式编写A、B两机的程序。

答:

?A机发送程序(查询方式):

#includeREG51.H

voidUART_Init(){

SCON=0x50;//串口方式1,允许接收(对发送方非必须)

TMOD|=0x20;//定时器1工作方式2(8位自动重装)

TH1=0xFA;//波特率4800(假设fosc=11.0592MHz,SMOD=0)

TL1=0xFA;

TR1=1;//启动定时器1

}

voidmain(){

unsignedchari;

UART_Init();

for(i=0;i=0x1F;i++){//发送0x00~0x1F共32个字节

SBUF=i;//写入发送缓冲区

while(!TI);//等待发送完成

TI=0;//清除发送中断标志

}

while(1);//发送完成后停止

}

?B机接收程序(查询方式):

#includeREG51.H

voidUART_Init(){

SCON=0x50;//串口方式1,允许接收

TMOD|=0x20;//定时器1工作方式2

TH1=0xFA;//波特率4800(与A机一致)

TL1=0xFA;

TR1=1;//启动定时器1

}

voidmain(){

unsignedchar*ptr=0x40;//数据存储起始地址

unsi

显示全部
相似文档