单片机串行通信实验报告

上传人:碎****木 文档编号:231259522 上传时间:2023-08-31 格式:DOCX 页数:6 大小:34.95KB
收藏 版权申诉 举报 下载
单片机串行通信实验报告_第1页
第1页 / 共6页
单片机串行通信实验报告_第2页
第2页 / 共6页
单片机串行通信实验报告_第3页
第3页 / 共6页
资源描述:

《单片机串行通信实验报告》由会员分享,可在线阅读,更多相关《单片机串行通信实验报告(6页珍藏版)》请在装配图网上搜索。

1、单片机试验报告(三)试验名称:串行通信姓名:张昊学号:110404247班级:通信 2 班时间:2023.11南京理工大学紫金学院电光系一、 试验目的1、理解单片机串行口的工作原理;2、学习使用单片机的TXD、RXD 口;3、了MAX232 解芯片的作用。二、 试验原理计算机与其外部设备之间进展数据交换称为通信。通信的根本方式可分为并行通信和串行通信两种。并行通信中数据至少有 8 路,可以同时将一个字节的 8 位二进制代码发送到对方。串行通信用两根传输线进展数据的传输,一次只能发送一位二进制。串行通信技术依据传送的编码格式不同,可分为同步通信和异步通信两种方式:1、同步方式:数据以数据块为单位

2、传送。在开头传送前用同步字符来指示,并由时钟来实现发送端和接收端同步。2、异步方式:数据时不连续传送的。以字符为单位进展传送。被传送字节分为:起始位、数据位、校验位和停顿位,称为一帧。常用格式:a、1bit 起始位+8bit 数据位+无校验位+1bit 停顿位b、1bit 起始位+8bit 数据位+1 位偶校验位+1bit 停顿位串行通信技术依据数据流淌方向分为三种方式:1、单工通信:数据流淌方向是固定的,数据只能由一方发送到另一方。2、半双工通信:数据的流淌方向是双向的,但一时刻,数据只能在一个方向流淌。3、全双工通信:允许数据在两个方向流淌,即通信双方的数据发送和接收是同时的。并入内部总线

3、18发送数据缓冲器SBUF串出5&启动内部移位脉冲发送把握器SEND714TI6串行口中断1SbRI移位脉冲&TXD引脚同步移位脉冲接收把握器RECV内部移位脉冲启动串入REN装载SBUF移位存放器并出2RXD引脚数据83读SBUF接收数据缓冲器SBUF写SBUF串行口把握存放器SCON 的格式如下:D7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8T1RISM0、SM1:由软件置位或清零,用于选择串行口四种工作方式。 SM2:多机通信把握位。在方式2 和方式 3 中,如SM2=1,则接收到的第9 位数据(RB8)为 0 时不启动接收中断标志RI(即 RI=0),并且将接收到

4、的前 8 位数据丢弃;RB8 为 1 时, 才将接收到的前 8 位数据送入SBUF,并置位RI,产生中断恳求。当SM2=0 时,则不管第 9 位数据为 0 或 1,都将前8 位数据装入SBUF 中,并产生中断恳求。在方式0 时,SM2 必需为0。REN:允许串行接收把握位。假设REN=0,则制止接收;REN=1,则允许接收,该位由软件置位或复位。TB8:发送数据D8 位。在方式 2 和方式 3 时,TB8 为所要发送的第 9 位数据。在多机通信中,以TB8 位的状态表示主机发送的是地址还是数据:TB8=0 为数据,TB8=1 为地址;也可用作数据的奇偶校验位。该位由软件置位或复位。RB8:接收

5、数据 D8 位。在方式2 和方式 3 时,接收到的第 9 位数据,可作为奇偶校验位或地址帧或数据帧的标志。方式 1 时,假设SM2=0,则RB8 是接收到的停顿位。在方式 0 时, 不使用RB8 位。TI:发送中断标志位。在方式0 时,当发送数据第 8 位完毕后,或在其它方式发送停顿位后,由内部硬件使TI 置位,向CPU 恳求中断。CPU 在响应中断后,必需用软件清零。此外,TI 也可供查询使用。RI:接收中断标志位。在方式0 时,当接收数据的第 8 位完毕后,或在其它方式接收到停顿位的中间由内部硬件使RI 置位,向CPU 恳求中断。同样,在CPU 响应中断后,也必需用软件清零。RI 也可供查

6、询使用。电源把握存放器PCON 的格式如下:D7D6D5D4D3D2D1D0SMOD-CF1CF0PDIDLPCON 的最高位SMOD 是串行口波特率系数把握位。SMOD=1 时,波特率增大一倍。其余各位与串行口无关。波特率设置:串行口的 4 种工作方式对应着三种波特率模式。对于方式 0,波特率是固定的,为fosc/12。对于方式 2,波特率由振荡频率fosc 和SMOD(PCON.7)所打算。其对应公式为波特率=2SMODfosc/64。当SMOD=0 时,波特率为fosc/64;当SMOD=1 时,波特率为fosc/32。对于方式 1 和方式 3,波特率由定时器/计数器T1 的溢出率和SM

7、OD 打算,即由下式确定:波特率=2SMOD定时器/计数器T1 溢出率/32三、 试验内容#include“reg51.h“#define uchar unsigned char uchar a,flag;void delay;void init/串行口初始化函数:实现 9600b/s 的波特率,只发送不接收TMOD=0x20; /定时器 1 的方式 2 TH1=0xfd;TL1=0xfd; /初值:0xfd PCON=0x00; /波特率不倍频TR1=1;/启动定时器 1SCON=0x50; /设置串行口为接收,REN=0 TI=0;/发送标志位初始为 0RI=1;/接收标志位初始化为 0

8、ES=1; EA=1; flag=0;void send(uchar dat)/发送函数:发送一个 8 位的数据SBUF=dat;/把发送的数据装载入SBUF 中while(TI=0);/等待发送完成TI=0;/发送完成,标志位必需软件清零uchar receive/接收函数:接收一帧数据uchar dat; /保存接收到的数据while(RI=0);/等待接收完成RI=0;/标志位清零,等待下次接收dat=SBUF;/接收到的数据取出给dat return dat; /返回dat 给主函数处理*/void receive interrupt 4 using 1RI=0;P1=SBUF;del

9、ay; a=SBUF;flag=1;void delay( )/延时函数:实现约 15ms 的时间uchar m,n; for(m=0;m200;m+) for(n=0;n200;n+);void main/主函数:实现数据发送init;/初始化串行口while(1)/send(0xAA); /发送 0x55 给串行口清零/P1=receive;/delay;/给系统一点响应时间if (flag=1)flag=0; send(a);delay;仿真图四、 小结与体会通过这次串行通信试验,有了上节课的简洁了解,我对单片机串行口的工作原理有了更为深入的了解,比方说发送缓冲器只可以写入不行读出、接收缓冲器只可以读出不行以写入、定时器T1 作为波特率发生器,它的溢出信号作接收或发送移位存放器的移位时钟、T1 和R1 分别为发送和接收完数据的中断标志等问题。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!