当前位置: 首页 > news >正文

建网站多少设计房子的软件app

建网站多少,设计房子的软件app,搭建网站需要程序,wordpress 绕过后台目录 前言 一.通信基本原理 1.1串行通信与并行通信 1.2同步通信和异步通信 1.2.1异步通信 1.2.2同步通信 1.3单工、半双工与全双工通信 1.4通信速率 二.串口通信简介 2.1接口标准 2.2串口内部结构 2.3串口相关寄存器 三.串口工作方式 四.波特率计算 五.串口初始化步骤 六.实验…

目录

前言

一.通信基本原理

1.1串行通信与并行通信

1.2同步通信和异步通信

1.2.1异步通信

1.2.2同步通信

1.3单工、半双工与全双工通信

1.4通信速率

二.串口通信简介

2.1接口标准

2.2串口内部结构

 2.3串口相关寄存器

三.串口工作方式 

四.波特率计算

五.串口初始化步骤

六.实验程序


前言

详细图解,同步和异步通信原理,单片机串口,通信速率计算,串口寄存器与工作方式

一.通信基本原理

1.1串行通信与并行通信

串行通信:是指使用一条数据线,将数据一位一位地依次传输。

串行通信的特点:传输线少,长距离传送时成本低,且可以利用电话网等现 成的设备,但数据的传送控制比并行通信复杂。

并行通信:通常是将数据字节的各位用多条数据线同时进行传送。

并行通信的特点:控制简单、传输速度快;由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难,抗干扰能力差。

1.2同步通信和异步通信

1.2.1异步通信

异步通信:发送和接收设备的时钟尽可能一致。以字符(构成的帧)为单位进行传输,字符与字符之间的间隙(时间间隔)是任意的,但每个字符中的各位是以固定的时间传送的。

异步通信的特点:不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符要附加 2~3 位用于起止位,各帧之间还有间隔,因此传输效率不高。

1.2.2同步通信

同步通信时要建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步。此时,传输数据的位之间的距离均为“位间隔”的整数倍,同时传送的字符 间不留间隙,即保持位同步关系,也保持字符同步关系。发送方对接收方的同步可以通过两种方法实现。如下图所示

1.3单工、半双工与全双工通信

1.4通信速率

波特率和比特率是衡量通信传输速率的两个不同的参数,它们之间有着明确的区别。具体如下:

  • 波特率:指的是每秒钟传送的信号变化次数,也称为传码率,单位是波特(Baud)。波特率决定了信息传输的速度和可靠性。在电子通信领域,波特即调制速率,指的是有效数据信号调制载波的速率,即单位时间内载波调制状态变化的次数。
  • 比特率:表示的是每秒钟传输的二进制的位数,单位为bit/s。比特率是每秒钟传送的比特数量,又称为传信率。

此外,在某些情况下,如果每个信号符号只编码1比特的数据,那么比特率和波特率是相等的。例如,基础的二进制通信,其中每个信号变化(例如从高到低或从低到高)都表示一个比特。而在高阶调制中,如QPSK、16-QAM等,一个信号符号可能代表2比特、4比特或更多,这时比特率会大于波特率。这种情况比较少见,但在某些冗余编码或特定的编码方法中,可能需要多个信号变化来表示一个比特,从而导致比特率小于波特率。

衡量通信性能的一个非常重要的参数就是通信速率,通常以比特率(Bitrate)来表示。比特率是每秒钟传输二进制代码的位数,单位是:位/秒( bps)。如 每秒钟传送 240 个字符,而每个字符格式包含 10 位(1 个起始位、1 个停止位、 8 个数据位),

这时的比特率为: 10 位×240 个/秒 = 2400 bps

在后面会遇到一个“波特率”的概念,它表示每秒钟传输了多少个码元。而 码元是通信信号调制的概念,通信中常用时间间隔相同的符号来表示一个二进制 数字,这样的信号称为码元。如常见的通信传输中,用 0V 表示数字 0,5V 表 示数字 1,那么一个码元可以表示两种状态 0 和 1,所以一个码元等于一个二 进制比特位,此时波特率的大小与比特率一致;如果在通信传输中,有 0V、 2V、 4V 以及 6V 分别表示二进制数 00、 01、 10、 11,那么每个码元可以表示四 种状态,即两个二进制比特位,所以码元数是二进制比特位数的一半,这个时候 的波特率为比特率的一半。由于很多常见的通信中一个码元都是表示两种状态, 所以我们常常直接以波特率来表示比特率。

二.串口通信简介

串口通信(Serial Communication),是指外设和计算机间通过数据信号线、 地线等按位进行传输数据的一种通信方式,属于串行通信方式。串口是一种接口 标准,它规定了接口的电气标准,没有规定接口插件电缆以及使用的协议。

2.1接口标准

串口通信的接口标准有很多,有 RS-232C、 RS-232、 RS-422A、 RS-485 等。 常用的是 RS-232 和 RS-485。RS-232 其实是 RS-232C 的改进,原理是一样的。 这里我们就以 RS-232C 接口进行讲解

RS-232C 是 EIA(美国电子工业协会)1969 年修订 RS-232C 标准。RS-232C 定义了数据终端设备(DTE)与数据通信设备(DCE)之间的物理接口标准。

RS-232C 接口规定使用 25 针连接器,简称 DB25,连接器的尺寸及每个插 针的排列位置都有明确的定义,如下图所示

2.2串口内部结构

 TXD 和 RXD 为单片机 IO 口,TXD 对应的是 P3.1 管脚,RXD 对 应的是 P3.0 管脚。

 2.3串口相关寄存器

SM0 和 SM1为工作方式选择位:

SM2:多机通信控制位,主要用于方式 2 和方式 3。当 SM2=1 时可以利用收到 的 RB8 来控制是否激活 RI(RB8=0 时不激活 RI,收到的信息丢弃;RB8=1 时收 到的数据进入 SBUF,并激活 RI,进而在中断服务中将数据从 SBUF 读走)。当 SM2=0 时,不论收到的 RB8 为 0 和 1,均可以使收到的数据进入 SBUF,并激活 RI (即此时 RB8 不具有控制 RI 激活的功能)。通过控制 SM2,可以实现多机通信。

REN:允许串行接收位。由软件置 REN=1,则启动串行口接收数据;若软件置 REN=0,则禁止接收。

TB8:在方式 2 或方式 3 中,是发送数据的第 9 位,可以用软件规定其作用。 可以用作数据的奇偶校验位,或在多机通信中,作为地址帧/数据帧的标志位。 在方式 0 和方式 1 中,该位未用到。

RB8:在方式 2 或方式 3 中,是接收到数据的第 9 位,作为奇偶校验位或地 址帧/数据帧的标志位。在方式 1 时,若 SM2=0,则 RB8 是接收到的停止位。

TI:发送中断标志位。在方式 0 时,当串行发送第 8 位数据结束时,或在其 它方式,串行发送停止位的开始时,由内部硬件使 TI 置 1,向 CPU 发中断申请。 在中断服务程序中,必须用软件将其清 0,取消此中断申请。

RI:接收中断标志位。在方式 0 时,当串行接收第 8 位数据结束时,或在其 它方式,串行接收停止位的中间时,由内部硬件使 RI 置 1,向 CPU 发中断申请。 也必须在中断服务程序中,用软件将其清 0,取消此中断申请

三.串口工作方式 

以上有4种工作模式,接下来使用方式1接下介绍

方式 1 是 10 位数据的异步通信口。TXD 为数据发送引脚,RXD 为数据接收引 脚,传送一帧数据的格式如下所示。其中 1 位起始位,8 位数据位,1 位停止位

用软件置 REN 为 1 时,接收器以所选择波特率的 16 倍速率采样 RXD 引脚电 平,检测到 RXD 引脚输入电平发生负跳变时,则说明起始位有效,将其移入输入 移位寄存器,并开始接收这一帧信息的其余位。接收过程中,数据从输入移位寄 存器右边移入,起始位移至输入移位寄存器最左边时,控制电路进行最后一次移 位。当 RI=0,且 SM2=0(或接收到的停止位为 1)时,将接收到的 9 位数据的前 8 位数据装入接收 SBUF,第 9 位(停止位)进入 RB8,并置 RI=1,向 CPU 请求中断

四.波特率计算

要计算STC89C52单片机的波特率,

可以采用以下公式: 波特率 = 定时器时钟频率 / (12 * (计数器初值 + 1))

具体步骤如下:

  1. 确定晶振频率:需要知道STC89C52单片机使用的晶振频率。这是计算波特率的起点,因为定时器的时钟频率通常基于晶振频率。
  2. 计算定时器时钟频率:定时器时钟频率通常是晶振频率的1/12。例如,如果晶振频率是11.0592MHz,那么定时器时钟频率为921.6kHz。
  3. 设置SMOD位:SMOD是串口模式选择位,它会影响波特率的计算。SMOD位为0时,波特率误差较大;SMOD位为1时,波特率误差较小。这个设置在串口控制寄存器SCON中。
  4. 计算计数器初值:计数器初值是根据所需波特率和定时器时钟频率来计算的。计算公式为:计数器初值 = 65536 - (定时器时钟频率 / (12 * 波特率))。
  5. 设置定时器:根据计算出的计数器初值设置定时器1(TH1和TL1)。定时器1将被用作波特率发生器。
  6. 考虑波特率加倍:如果使用了波特率加倍功能,计算方法会有所不同。在这种情况下,公式变为:TH1 = TL1 = 256 - 晶振值/12/16/波特率。
  7. 编写初始化代码:根据上述设置,编写串口初始化代码,包括设置SCON、TMOD和TH1、TL1的值。

以下列出了几种方式下波特率的计算公式:

方式 0 的波特率 = fosc/12

方式 2 的波特率 =(2 SMOD/64)· fosc

方式 1 的波特率 =(2 SMOD/32)·(T1 溢出率)

方式 3 的波特率 =(2 SMOD/32)·(T1 溢出率)

其中 T1 溢出率 = fosc /{12×[256 -(TH1)]}

或者直接使用普中的软件进行波特率计算,这样更快

五.串口初始化步骤

我们使用定时器寄存器和串口寄存器

六.实验程序

我们通过串口助手输入两个16位的数字可实现控制P2端的LED灯的亮灭

例如:FE

#include "reg52.h"typedef unsigned int u16;	//对系统默认数据类型进行重定义
typedef unsigned char u8;#define LED P2/*******************************************************************************
* 函 数 名       : uart_init
* 函数功能		 : 串口通信中断配置函数,通过设置TH和TL即可确定定时时间
* 输    入       : baud:波特率对应的TH、TL装载值
* 输    出    	 : 无
*******************************************************************************/
void uart_init(u8 baud)
{TMOD|=0X20;	//设置计数器工作方式2SCON=0X50;	//设置为工作方式1PCON=0X80;	//波特率加倍TH1=baud;	//计数器初始值设置TL1=baud;ES=1;		//打开接收中断EA=1;		//打开总中断TR1=1;		//打开计数器		
}/*******************************************************************************
* 函 数 名       : main
* 函数功能		 : 主函数
* 输    入       : 无
* 输    出    	 : 无
*******************************************************************************/
void main()
{	uart_init(0XFA);//波特率为9600while(1){			}		
}void uart() interrupt 4 //串口通信中断函数
{u8 rec_data;RI = 0;			//清除接收中断标志位rec_data=SBUF;	//存储接收到的数据LED = rec_data;  //通过串口传入的数据,控制连接P2端的LED灯亮灭SBUF=rec_data;	//将接收到的数据放入到发送寄存器while(!TI);		//等待发送数据完成TI=0;			//清除发送完成标志位				
}

注意:我们使用串口助手时,

需要了解自己芯片的晶振频率:如11.0592MHZ或12MHZ

计算波特率:这里是9600

还要开启串口,才能发送数据

以上就是本期补齐的内容,欢迎参考指正,如有不懂,欢迎评论或私信出下期!!!

http://www.yayakq.cn/news/898849/

相关文章:

  • 游戏网站交换友情链接河南住房和城乡建设厅网站
  • 做专属淘客网站西安网站制作计划
  • h5网站建设报价广州网站网站建设
  • 如何写网站开发需求北京网站建站网
  • 建设阅读网站的目的小程序商城开发需要多少钱
  • 建设电子书阅读网站潍坊作风建设网站
  • 什么程序做教育网站好物流网站建设计划书
  • 专业的中小型网站建设自做刷赞网站
  • 医疗器械外贸网站建设河北建设银行招聘网站
  • 企业网站优化服务主要围绕哪些要素2021年年度关键词排名
  • 广州seo网站管理电话销售做网站认证
  • 河北网站建设昆山做百度网站
  • 惠州seo网站推广微网站介绍
  • 行情软件免费下载的网站合肥寒假兼职工网站建设
  • 手机pc网站模板做国外搞笑网站
  • 杭州网站建设品牌做网站一般什么问题
  • 如何引用网站图片禅城网站开发
  • 全国水利建设市场信用信息平台门户网站网站建设维护是什么岗位
  • 成都网站建设排行榜网络规划设计师视频徐朋百度网盘
  • 减压轻松网站开发什么是网站结构
  • 请输入您网站的icp备案信息软件开发网站开发副业
  • 电子商务网站建设推广分析做网站运营需要做哪些
  • 文山网站建设代理广州网站开发小程序
  • 常州网站建设代理商国内时事新闻
  • 哪里找做网站的客户温州seo全网营销
  • 做下载网站用什么程序好微信导购网站怎么做视频教学
  • 网站移动端流量网店运营以后可以做什么
  • 东坝地区网站建设网站优化外链
  • 高端网站设计哪家好地方电商门户网站如何建设方案
  • 织梦dedeeims网站打不开网络营销的种类有哪些