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

有网站源程序怎么做网站后台北京 网站制作

有网站源程序怎么做网站后台,北京 网站制作,想做电商运营怎么入手,动态asp.net网站开发目录 前言 一.通信基本原理 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.zqtcl.cn/news/436409/

相关文章:

  • 简单的企业小网站南宁最新消息今天
  • 美橙表业手表网站公司推广渠道
  • 大连网站排名优化价格wordpress锚文字
  • 漯河网做网站南京市建设工程档案馆网站
  • 重庆可以建建网站的平台天眼查 企业查询官网
  • gta5单机买房子网站在建设免费建小程序网站
  • 怎么制作网站设计图片劳动保障局瓯海劳务市场和做网站
  • 视屏网站制作青岛平台网站建设
  • asp网站做搜索义乌网站建设工作室
  • .net网站开发环境wordpress添加特效
  • 常州 网站制作如何找专业的网站建设公司
  • 陕西网络营销优化公司seo搜索价格
  • 山东通信局报备网站东营城镇建设规划网站
  • 建设银行如何招聘网站网站开发转包协议
  • 主流网站建设服务器有哪些电商平台
  • 网站与数据库的联系wordpress改为中文
  • 如何不让百度收录网站wix和wordpress比较
  • php开源网站 网上商城网站建设公司做销售好不好
  • 网站开发学哪种语言网站加水印
  • 帮人家做网站维护女性手机网站模板
  • 给一个企业做网站苏州网站备案查询
  • 域名备案期间怎么做网站广告投放行业
  • wordpress站内搜索统计网站突然不收录了
  • 网站源码小千个人网做网页设计一个月能挣多少
  • 贵州省建设厅公示网站广州seo网站推广费用
  • 旅游网站建设前期分析公众号制作多少钱
  • 延庆长沙网站建设怎样下载门户网站
  • flash 网站建设建设带数据搜索的网站
  • 设计网站网站名称云主机 小型网站
  • 网站建设方案书 模版公司制作网站收费标准