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

互助网站开发网站泛目录怎么做

互助网站开发,网站泛目录怎么做,seo整站优化新站快速排名,珠海网站制作设计目录 前言 一.通信基本原理 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异步通信 异步通信发送和接收设备的时钟尽可能一致。以字符构成的帧为单位进行传输字符与字符之间的间隙时间间隔是任意的但每个字符中的各位是以固定的时间传送的。 异步通信的特点不要求收发双方时钟的严格一致实现容易设备开销较小但每个字符要附加 23 位用于起止位各帧之间还有间隔因此传输效率不高。 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 表示数字 05V 表 示数字 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。当 SM21 时可以利用收到 的 RB8 来控制是否激活 RIRB80 时不激活 RI收到的信息丢弃RB81 时收 到的数据进入 SBUF并激活 RI进而在中断服务中将数据从 SBUF 读走。当 SM20 时不论收到的 RB8 为 0 和 1均可以使收到的数据进入 SBUF并激活 RI 即此时 RB8 不具有控制 RI 激活的功能。通过控制 SM2可以实现多机通信。 REN允许串行接收位。由软件置 REN1则启动串行口接收数据若软件置 REN0则禁止接收。 TB8在方式 2 或方式 3 中是发送数据的第 9 位可以用软件规定其作用。 可以用作数据的奇偶校验位或在多机通信中作为地址帧/数据帧的标志位。 在方式 0 和方式 1 中该位未用到。 RB8在方式 2 或方式 3 中是接收到数据的第 9 位作为奇偶校验位或地 址帧/数据帧的标志位。在方式 1 时若 SM20则 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 引脚输入电平发生负跳变时则说明起始位有效将其移入输入 移位寄存器并开始接收这一帧信息的其余位。接收过程中数据从输入移位寄 存器右边移入起始位移至输入移位寄存器最左边时控制电路进行最后一次移 位。当 RI0且 SM20或接收到的停止位为 1时将接收到的 9 位数据的前 8 位数据装入接收 SBUF第 9 位停止位进入 RB8并置 RI1向 CPU 请求中断 四.波特率计算 要计算STC89C52单片机的波特率 可以采用以下公式 波特率 定时器时钟频率 / (12 * (计数器初值 1))。 具体步骤如下 确定晶振频率需要知道STC89C52单片机使用的晶振频率。这是计算波特率的起点因为定时器的时钟频率通常基于晶振频率。计算定时器时钟频率定时器时钟频率通常是晶振频率的1/12。例如如果晶振频率是11.0592MHz那么定时器时钟频率为921.6kHz。设置SMOD位SMOD是串口模式选择位它会影响波特率的计算。SMOD位为0时波特率误差较大SMOD位为1时波特率误差较小。这个设置在串口控制寄存器SCON中。计算计数器初值计数器初值是根据所需波特率和定时器时钟频率来计算的。计算公式为计数器初值 65536 - (定时器时钟频率 / (12 * 波特率))。设置定时器根据计算出的计数器初值设置定时器1TH1和TL1。定时器1将被用作波特率发生器。考虑波特率加倍如果使用了波特率加倍功能计算方法会有所不同。在这种情况下公式变为TH1 TL1 256 - 晶振值/12/16/波特率。编写初始化代码根据上述设置编写串口初始化代码包括设置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.htypedef unsigned int u16; //对系统默认数据类型进行重定义 typedef unsigned char u8;#define LED P2/******************************************************************************* * 函 数 名 : uart_init * 函数功能 : 串口通信中断配置函数通过设置TH和TL即可确定定时时间 * 输 入 : baud波特率对应的TH、TL装载值 * 输 出 : 无 *******************************************************************************/ void uart_init(u8 baud) {TMOD|0X20; //设置计数器工作方式2SCON0X50; //设置为工作方式1PCON0X80; //波特率加倍TH1baud; //计数器初始值设置TL1baud;ES1; //打开接收中断EA1; //打开总中断TR11; //打开计数器 }/******************************************************************************* * 函 数 名 : main * 函数功能 : 主函数 * 输 入 : 无 * 输 出 : 无 *******************************************************************************/ void main() { uart_init(0XFA);//波特率为9600while(1){ } }void uart() interrupt 4 //串口通信中断函数 {u8 rec_data;RI 0; //清除接收中断标志位rec_dataSBUF; //存储接收到的数据LED rec_data; //通过串口传入的数据控制连接P2端的LED灯亮灭SBUFrec_data; //将接收到的数据放入到发送寄存器while(!TI); //等待发送数据完成TI0; //清除发送完成标志位 } 注意我们使用串口助手时 需要了解自己芯片的晶振频率如11.0592MHZ或12MHZ 计算波特率这里是9600 还要开启串口才能发送数据 以上就是本期补齐的内容欢迎参考指正如有不懂欢迎评论或私信出下期
http://www.dnsts.com.cn/news/193994.html

相关文章:

  • 高校网站平台建设广告优化师
  • 卖一手房做哪个网站好山东建设厅网站网址
  • 二级域名网站可以做360推广网页制作模板和库的联系与区别
  • 浙0577 icp网站建设福建泉州网站建设公司
  • 南京高端品牌网站建设泰州网站制作网站
  • 网站建设培训哪里好ui设计师做网站
  • 莆田做网站昌平区网站建设
  • 网站建设wap站wordpress 目录改变
  • 做直播教程的网站同时做几个网站互相链接
  • 网站建设费用大概多少钱关键词你们懂的
  • 哪些网站做家政推广微信开发网站设计
  • 如何建立一个手机网站花溪建设村镇银行官方网站
  • 江门模板建站哪家好php企业网站开发实验总结
  • ssh网站怎么做泰州建设信息网站
  • 我想在阿里巴巴网站开店 怎么做企业网站建设研究论文
  • 有专门做最佳推荐的网站国家企业信用信息公示系统官网河南
  • 网站联盟推广wordpress后台很卡
  • 网站营销培训网站策划的内容包含了什么?
  • 购物网站建设网页推广古镇免费网站建设
  • 做网站的公司经营范围公众号必备50个模板
  • 网站更新服务公司ip138查询域名查询
  • 安徽城乡建设 厅网站网站做链接的意义是什么
  • qq上网站做我女朋友企业管理咨询经营范围有哪些
  • 黄骅市做网站网站cc攻击用什么来做
  • 建网站 选安全天津企朋做网站的公司
  • 网站前缀带wap的怎么做义乌外发加工网是正规的吗
  • 河源网站建设多少钱营销印刷网站
  • 网站开发项目答辩ppt网店运营怎么学
  • 宠物医院网站建设如何判断网页是静态还是动态
  • 海外制作网站免费零食网站模板