微机接口实验串口通信实验Word文档下载推荐.docx
- 文档编号:22301400
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:11
- 大小:495.81KB
微机接口实验串口通信实验Word文档下载推荐.docx
《微机接口实验串口通信实验Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《微机接口实验串口通信实验Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
其帧格式可有8位,10位或11位,并可以设置多种不同的波特率。
2·
串行口的工作方式:
方式0(移位寄存器的输入输出方式):
该方式下,数据有RXD(P3.0)引脚输入或输出,同步移位脉冲由TXD(P3.1)引脚输出。
该方式多用于外接移位寄存器以扩展I/O端口,波特率固定为fosc/12。
其输入输出时序如下图所示:
方式1(波特率可变10位异步通信方式)
该方式为标准的异步通信方式,其通信格式为:
起始位1位,数据位8位,停止位1位。
且工作在全双工方式下,以TXD为串行数据的发送端,以RXD为串行数据的接收端,波特率由定时器T1的溢出率和SMOD位的状态确定。
方式2、3(11位异步通信方式)
方式2和方式3的操作过程与方式1基本相同,其输入输出时序如下图所示。
他们的主要区别在于方式2和方式3有第九位数据,改为数据的主要作用是用作数据的奇偶校验位,活在多机通信中作为地址/数据的特征位,该数据保存在RB8(接收时)或TB8(发送时)中。
3·
SBUF
SBUF为串行接口接受/发送数据缓冲器(其映像字节地址为99H)。
接收数据时,它是一个串入并出移位寄存器,执行一条读SBUF的指令,可读得接收到的8位数据;
发送数据时,它是一个并入传出移位寄存器,由指令写入SBUF的数据将转换为串行数据发送出去。
通过SBUF寄存器可以实现对串行数据的输入输出操作。
4·
SCON
SCON是串行口控制寄存器,格式如上图所示,各位功能如下:
a·
SM0和SM1,选择串行口的工作方式。
b·
SM2,主要用于多机通信中标明被选通的从机。
c·
REN,允许串行接收位,通过软件置1或置0。
d·
TB8、RB8,方式2、3下分别存放发送/接受数据的第9位。
e·
TI,发送中断标志位,必须由软件清零。
f·
RI,接收终端标志位,必须由软件清零。
5·
PCON
PCON是电源控制寄存器(其映像字节为87H)。
它主要是为CHMOS型单片机的电源控制而设置的专用寄存器。
与串行口初始化编程相关的只有最高位,其格式及各位作用如上图所示。
6·
串行口波特率的选择
方式1下:
波特率=fosc/12;
方式2下:
波特率=(2^SMOD)xfosc/64;
方式1、3下:
波特率=(2^SMOD)x定时器T1的溢出率/64。
=(2^SMOD)xfosc/(32x12x(2^8–N))
7·
串行通信结束的查询与中断
查询方式:
中断方式:
实验内容:
电原理图:
本实验两个部分的电原理图是一样的,不须改动。
编写程序,利用单片机的串口用查询方式发送英文字符的ASCII码,波特率为9600,在示波器上正确显示时序波形。
流程图:
这一部分是很简单的查询方式串行通信,流程图参考查询方式程序流程图(a)查询发送。
程序代码及注释:
ORG0000H
LJMPMAIN
ORG00F0H
MAIN:
MOVSP,#60H;
给堆栈指针赋初值
MOVTMOD,#20H;
设置T1为方式2
MOVTH1,#0FDH;
设置波特率为9600(256–(11.0592e6)/(9600x32x12))
MOVTL1,#0FDH
MOVSCON,#50H;
设置串口位方式1
MOVPCON,#00H
SETBTR1;
定时器1开始计数
LOOP:
MOVSBUF,#4BH;
开始发送,发送字母为K(4BH)
WAIT:
JBCTI,LOOP
AJMPWAIT
;
END
仿真效果:
上方波形为MAX232输出波形,为实际数据取非。
下方波形为C51的P3.1(TXD)口输出波形。
输出数据为4BH(01001011B),而我们观测到的波形(未取非时)为周期性的:
1个低电平,11010010,1个高电平。
分别为起始位,由最低位到最高位的串行数据,停止位。
编写程序,在PC机上通过串口调试软件发送英文字符,单片机端通过中断方式接收并应答相同的字符。
ORG0023H;
TI与RI的中断向量
LJMPINTA
ORG0100H
MOVTMOD,#20H;
定时器T1为工作方式2
MOVTH1,#0FDH;
这只波特率为9600
MOVTL1,#0FDH;
重复定时
MOVSCON,#50H;
设置串行口位方式1
MOVPCON,#00H;
设置SMOD为0
SETBES;
开放串口中断
SETBEA;
开放总中断
SETBTR1;
开始计时
SJMP$;
等待中断
INTA:
CLRRI
CLRES;
关中断
MOVA,SBUF;
读取数据
MOVSBUF,A;
回复同样数据
;
以下为查询发送
JNBTI,WAIT
CLRTI
开中断
RETI
实验现象记录:
发送英文字符为“K”。
ASCII码为01001011B。
用示波器探头观察P3.1/TXD,示波器上显示如下波形:
此波形与使用proteus仿真的波形相同,是正确的。
并且,使用cursor功能测得每一位的宽度为104.0us,转换得到波特率为9.615kHz,这说明设计的程序代码是正确的。
将编译后文件烧录到C51单片机后,在DPFlash中打开串口调试器,设置通信口为COM4,波特率为9600(实际操作中发现不设置也没有问题,不只是不是有影响而未被发现),数据位设置为8,停止位设置为1。
在处理字符串中输入一个(或几个)字母,点击旁边的“发送”按钮,会在接收窗口看到同样的字符串,每次点击“发送”后接受到的字符串接在原来的显示后面。
实验分析:
MAX232串口的传送方式
在预习实验的过程中,第一次看到proteus仿真出的波形非常困惑,因为当时不知道串口传送是先低位后高位的,一度怀疑代码的正确性;
而后来突然想到这种可能性后发现代码实际上是正确的,而且先低位后高位的传送方式很常见。
回顾之前的点阵实验,其中的移位寄存器也是以串口方式输入的,顺序也是先低位后高位。
波特率
波特率(Baudrate)是对符号传输速度的一种度量,表示每秒钟传输的数据位数。
在示波器上测量波特率时可以选择010或101的数据位组合,测量正脉冲或负脉冲的宽度。
在实验现象记录部分记录了第一部分实验中测得的一位数据宽度,为104.0us,取倒数为9.615kHz,即为波特率。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 接口 实验 串口 通信