- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 单片机的串行通信技术;;常用的数据通信包括两种形式:并行通信和串行通信。;;;;2. 同步通信;7.1 串行通信概述
7.1.1 数据通信
7.1.2 异步通信和同步通信
7.1.3 波特率的概念和串行通信的传输方向
7.2 串行口的结构组成及控制寄存器
7.3 串行通信工作方式及应用举例
7.4 串行通信设计应用举例; 7.1.3 波特率的概念和串行通信的传输方向; 三种传输形式:单工、半双工、全双工;; 7.1 串行口的结构组成 ; 内部数据并行写入SBUF发→数据串行送出→中断标志位TI硬件置1→CPU响应中断→TI软件清零,写入下一数据→; 外界数据串行送入移位寄存器→数据并行送入SBUF收→标志位RI硬件置1→CPU响应中断→RI软件清零,读走数据→;D0;发送数据时,发送时钟的下降沿将数据串行移位输出;
;;在物理上有两个SBUF:一个用于发送,另一个用于接收。在逻辑上只有一个SBUF(99H)。
可根据用法区分功能:;SM2、TB8、RB8主要用于多机通讯(略);; ;;7.3.1 方式0:八位同步移位寄存器方式;实例1 利用74LS164扩展并行输出口,并实现发光二极管循环控制功能;能将串行输入数据转为并行输出;数据发送端A(B)——RXD ;
同步时钟端CLK——TXD;
数据清除端CLR——P1.0;#includereg51.h
sbit MR=P1^0;
void delay() { //延时
unsigned int i;
for (i=0; i20000; i++) {}
}
void main() {
unsigned char index, LED; //定义LED指针和显示字模
SCON = 0; //设置串行模块工作在方式0
MR = 1; // CLEAR端=1,允许输入数据
while (1) {
LED=0xFE;
for (index=0; index 8; index++) {
SBUF = LED; //控制L0灯点亮
do {} while(!TI); //通过TI查询判别数据是否输出结束
LED = ((LED1) |1); //左移1位,末位置1
if (LED== 0xff) LED = 0xfe; //若已循环一遍,准备重新开始
delay();
}
}
};实例1运行效果;;;波特率=2SMOD×(T1的溢出率)/32
数据位由 P3.0 (RXD)端接收, 由P3.1(TXD)端发送
一帧信息为 10 位: 一位起始位(0), 8 位数据位(低位在前)和一位停止位(1)。
发送过程:
用软件清除 TI后, CPU执行任何一条以 SBUF为目标寄存器的指令, 就启动发送过程。数据由TXD引脚输出, 此时的发送移位脉冲是由定时器/计数器 T1 送来的溢出信号经过 16 或 32 分频而取得的。一帧信号发送完时, 将置位发送中断标志TI=1, 向CPU申请中断。 ; 用软件清除 RI后, 当允许接收位REN=1 时, 接收器以选定波特率的 16 倍的速率采样 RXD引脚上的电平, 即在一个数据位期间有 16 个检测脉冲, 并在第 7、 8、9 个脉冲期间采样接收信号, 然后用三中取二的原则确定检测值, 以抑制干扰。 并且采样是在每个数据位的中间, 避免了信号边沿的波形失真造成的采样错误。
当检测到有从“1”到“0”的负跳变时, 则启动接收过程, 在接收移位脉冲的控制下, 接收完一帧信息。 当最后一次移位脉冲产生时能满足下列两个条件:
① RI=0;
② 接收到的停止位为1 或 SM2=0。
则停止位送入RB8,8位数据进入SBUF,并置RI=1,完成一次接收过程。否则,所接收到的一帧信息将丢失,接收器复位,并重新开始检测负跳变
文档评论(0)