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

如何做公司网站百度推广郑州网站制作价格

如何做公司网站百度推广,郑州网站制作价格,传奇合成版2合1雷霆版,php做网站要用到的技术文章目录 前言串口通信简介串口通信的原理串口通信的作用串口编程的一些概念仿真图如何使用串口初始化串口串口模式波特率配置 发送与接收发送接收 示例代码 总结 前言 在嵌入式系统的开发中#xff0c;串口通信是一种常见且重要的通信方式。它以其简单、稳定的特性在各种应用… 文章目录 前言串口通信简介串口通信的原理串口通信的作用串口编程的一些概念仿真图如何使用串口初始化串口串口模式波特率配置 发送与接收发送接收 示例代码 总结 前言 在嵌入式系统的开发中串口通信是一种常见且重要的通信方式。它以其简单、稳定的特性在各种应用场景中得到了广泛的使用。本文将介绍51单片机中的串口通信包括其定义、作用以及在实际应用中的重要性。 串口通信简介 串口通信顾名思义是一种串行通信方式即数据是一位一位地顺序传输的。这与并行通信形成鲜明对比后者是多位数据同时传输。在51单片机中串口通信是通过特定的寄存器和引脚来实现的如SCON寄存器用于设置串口模式P3.0和P3.1引脚分别用于接收和发送数据。 串口通信的原理 首先我们需要理解串口是一种串行通信方式也就是说数据是一位一位地按顺序传输的。这就像是你在一条单轨铁路上一辆辆火车依次通过。 当我们要发送数据时数据会被分解成一个个的二进制位0或1然后这些位会一个接一个地通过串口发送出去。这就像是你有一堆火车要发送你会把它们一个接一个地放到铁轨上让它们依次出发。 而当我们要接收数据时串口会一位一位地读取传入的数据然后把这些位组合起来形成完整的数据。这就像是你在铁轨的另一端一辆辆火车依次到达你会把它们按顺序接收下来然后组成一列完整的火车。 在这个过程中还有一些重要的概念比如波特率。波特率决定了数据传输的速度也就是说每秒钟可以传输多少位的数据。这就像是你的火车的速度速度越快每秒钟就能运送更多的火车。 总的来说串口通信就是这样一种一位一位地发送和接收数据的方式它简单、稳定被广泛应用在各种电子设备中。 串口通信的作用 串口通信在51单片机中有着广泛的应用。首先它可以用于单片机与外部设备的通信如传感器、执行器等。通过串口单片机可以接收外部设备的数据或向外部设备发送控制命令。其次串口通信也可以用于单片机与计算机的通信这在开发和调试阶段尤其重要。通过串口开发者可以直接从计算机向单片机发送指令或从单片机读取运行状态极大地方便了开发和调试工作。 串口编程的一些概念 波特率波特率是串口通信中的一个重要概念它决定了数据传输的速度单位是bps比特每秒。就像火车的速度波特率越高数据传输的速度就越快。 数据位数据位决定了每次传输的数据的大小。常见的数据位有5位、6位、7位和8位。就像火车的车厢数量数据位越多每次可以传输的数据就越多。 停止位停止位用于标记数据传输的结束常见的停止位有1位和2位。就像火车站停止位告诉接收端一列火车也就是一个数据字节已经到站。 校验位校验位用于检测数据在传输过程中是否出错。就像火车的检票员校验位会检查数据是否正确。 仿真图 我们在下面找到Virtual Terminal他的RXD连接到P3.1他的TXD连接到P3.0即可 如何使用串口 初始化串口 初始化串口代码如下 void UartInit() //9600bps11.0592MHz {PCON 0x7F; //设置波特率不倍速SCON 0x50; //设置为8位数据,可变波特率TMOD 0x0F; //清除定时器1模式位TMOD | 0x20; //设定定时器1为8位自动重装方式TL1 0xFD; //设定定时初值TH1 0xFD; //设定定时器重装值TR1 1; //启动定时器1ET1 0; //禁止定时器1中断EA1; //开启总中断ES1; //开启串口中断 }串口模式 51单片机的SCONSerial Control Register是串行口控制寄存器用于控制串行通信的方式选择、接收和发送指示串口的状态。SCON既可以字节寻址也可以位寻址其字节地址为98H地址位为98H~9FH。 SCON的各个位的功能如下 RI接收中断标志位数据接收结束时标志位会自动置1需要通过程序将其置0。TI发送中断标志位数据发送结束时标志位会自动置1需要通过程序将其置0。RB8存放发送数据的第9位。TB8存放接收数据的第9位。REN串行接收允许位用于控制数据接收的允许和禁止为1时允许接收为0时禁止接收。SM2多机控制位。SM1SM0串行工作方式。 波特率配置 TH1和TL1是定时器1的两个寄存器分别用于存储定时器的高8位和低8位。在51单片机中定时器1可以被配置为波特率发生器用于生成串口通信的波特率。 当我们设置 TH1 0xFD 和 TL1 0xFD 时实际上是在设置定时器1的溢出时间从而决定了串口通信的波特率。这里的 0xFD 是256减去所需的计数值因为定时器是在计数值达到256时溢出的。 例如如果我们想要设置波特率为9600晶振频率为11.0592MHz那么我们可以使用以下公式来计算所需的计数值 计数值 晶振频率 32 × 波特率 计数值 \frac{晶振频率}{32 \times 波特率} 计数值32×波特率晶振频率​ 将11.0592MHz和9600代入公式我们可以得到计数值大约为3。然后我们用256减去这个计数值得到253对应的十六进制数就是FD。所以我们设置 TH1 0xFD 和 TL1 0xFD。 发送与接收 发送 我们可以通过把数据给SBUF寄存器他就会给我们发送出去我们可以通过他来实现发送函数 发送函数代码如下 void Uartsend(unsigned char byte) //定义一个函数用于发送一个字节的数据 {SBUF byte; //将要发送的数据byte写入到发送缓冲区SBUFwhile(TI 0); //等待数据发送完成发送完成后硬件会将TI置1TI 0; //数据发送完成后通过软件将TI清零 }接收 接收我们使用中断来接收接收到的数据存储在SBUF寄存器里面 串口的接收在函数后面加interrupt 4即可表示这个接收中断使用他 void UART_ISR() interrupt 4 //定义一个中断服务程序用于处理串口中断中断号为4 {if(RI1) //如果接收中断标志位RI为1表示接收到数据{Uartsend(SBUF); //调用Uartsend函数将接收到的数据存储在SBUF中发送出去RI0; //数据发送完成后通过软件将接收中断标志位RI清零} } 示例代码 #include REGX52.H void UartInit() //9600bps11.0592MHz {PCON 0x7F; //??????SCON 0x50; //8???,?????TMOD 0x0F; //?????1???TMOD | 0x20; //?????1?8???????TL1 0xFD; //??????TH1 0xFD; //???????? TR1 1; //?????1ET1 0; //?????1??EA1; //????? ES1; //?????? } void Uartsend(unsigned char byte)//?? {SBUFbyte;//??????????SBUF//??????????TI1;?????????while(TI0);TI0;//???? } void UART_ISR() interrupt 4//?????? {if(RI1)//????{Uartsend(SBUF);//????????????RI0;//????} } int main() {UartInit();while(1){Uartsend(0x00);} }总结 总的来说串口通信在51单片机中扮演着重要的角色。它以其简单、稳定的特性为单片机提供了与外部世界交流的桥梁。无论是在硬件控制还是在软件开发和调试中串口通信都是不可或缺的一部分。因此深入理解和熟练掌握串口通信对于每一个嵌入式开发者来说都是非常重要的。希望本文能帮助你对51单片机的串口通信有更深入的理解。
http://www.hkea.cn/news/14300837/

相关文章:

  • 贵阳市住房城乡建设局官方网站信阳市网站建设公司
  • 山东seo网站微信里的小程序怎么打不开
  • 做网页赚钱的网站聊天网站建设
  • 一级a做爰片就在线看网站买服务器做网站 镜像选什么
  • 建设推广网站北京市建筑信息公开平台
  • 辽宁网站建设价格新闻发布的网站
  • 阿里手机网站开发框架个人开发app可以上架吗
  • 网站背景音乐怎么做wordpress主题慢
  • 深圳外包企业网站用wordpress搭建博客
  • 网站路径优化法律门户网站源码
  • 网站建设创业计划书wordpress 公告栏
  • 网站弹出窗口js弄一个app大概多少钱
  • 学习做网站教程中国纵横168网站建设系统
  • 企业网站推广方式和策略wordpress文章页面微信分享代码
  • 做视频网站每部电影都要版权不同端口装 wordpress
  • 模板做的网站如何下载地址网站为什么会被挂马
  • 外贸五金网站建设微信小程序视频网站开发教程
  • 服务器 空间 虚拟主机 网站需要免费工程项目信息网
  • 网站建设所需美工建设英文品牌网站
  • 网站建设销售合作合同上海贸易公司排名
  • 贵金属交易网站源码建站公司生存难
  • 昆明乐网网站建设萝岗高端网站建设
  • 手机版自适应网站怎么做具有价值的广州做网站
  • 博物馆网站 微信 微博 建设大连无网站的企业有哪些
  • 百度竞价托管代运营公司做seo要投入什么
  • 360建筑网站网盟推广费用
  • 网站手机端首页用什么软件做做的网站百度排名没有图片显示
  • 郑州网站优化托管项目类型和阶段内容介绍
  • 国外大型门户网站国内外优秀网站设计
  • 网站建设要多钱潍坊专升本考试地点