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

厦门建设网官方网站上海网络网站建

厦门建设网官方网站,上海网络网站建,开源网站后台管理系统,第三方微信网站建设目录 一、串口通信 二、串口协议 三、原理图 四、串口通信配置参数 1、常用的串行口工作方式1 2、数据发送 3、数据接收 4、波特率计算 5、轮询接收 6、中断接收 一、串口通信 串口通信是一种常见的数据传输方式#xff0c;广泛用于计算机与外部设备或嵌入式系统之间…目录 一、串口通信 二、串口协议 三、原理图 四、串口通信配置参数 1、常用的串行口工作方式1 2、数据发送 3、数据接收 4、波特率计算 5、轮询接收 6、中断接收 一、串口通信 串口通信是一种常见的数据传输方式广泛用于计算机与外部设备或嵌入式系统之间的通信。串口通信的特点是逐位传输数据与并口相比具有以下优势 传输距离长适合远距离通信。占用引脚少只需两条通信线发送和接收。简单可靠易于实现和调试。 常见的串口标准 RS-232传统的串口标准常用于PC和设备之间的通信。RS-485支持多点通信适合工业应用。UART通用异步收发器嵌入式系统中常用的一种硬件模块实现异步串口通信。 二、串口协议 串口通信参数 波特率每秒传输的位数如9600、115200等。数据位每个数据帧的位数通常为8位。停止位用于标识一帧数据的结束常为1位或2位。校验位用于错误检测可选择无校验、奇校验、偶校验等。 三、原理图 四、串口通信配置参数 中断编号中断名中断源4串行口中断RI 可以看到串口接收中断是单片机中断的最低权限位。 中断控制位功能实现ES串行口中断允许控制位 1允许串口中断 0禁止串口中断 SCON串行控制寄存器。 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H SM0 SM1 SM2 REN TB8 RB8 TI RI 00同步波特率固定fosc/12 0110位异步波特率可以变 1011位异步波特率固定fosc/32\64 1111位异步波特率可变 0双机 1多机 0禁止接收 1允许接受 发送数据第九位 接收数据第九位 发送中断标志 接收中断标志 1、常用的串行口工作方式1 方式1是一帧10位的异步串行通信方式包括1个起始位(0)8个数据位和一个停止位(1)其帧格式如下 起始位0 D0 D1 D2 D3 D4 D5 D6 D7 停止位1 2、数据发送 当TI0时执行“MOV SBUFA”指令后开始发送由硬件自动加入起始位和停止位构成一帧数据然后由TXD端串行输出。发送完后TXD输出线维持在“1”状态下并将SCON中的TI置1表示一帧数据发送完毕。 3、数据接收 RI0REN1时接收电路以波特率的16倍速度采样RXD引脚如出现由“1”变“0”跳变认为有数据正在发送。 在接收到第9位数据即停止位时必须同时满足以下两个条件RI0和SM20或接收到的停止位为“1”才把接收到的数据存入SBUF中停止位送RB8同时置位RI。若上述条件不满足接收到的数据不装入SBUF被舍弃。在方式1下SM2应设定为0。  4、波特率计算 其中fosc为晶振频率M为重装载值T为定时器1的初值SMOD可选为加倍。 例如fosc11.0592MHz、9600波特率如果在定时器1模式2下M256SMOD0可以算出 T2530XFD TMOD | 0x20; // 定时器1设置为模式28位自动重载 TH1 0xFD; // 设置初值为0xFD波特率9600 TL1 0xFD; // 装载初值 TR1 1; // 启动定时器1 SCON 0x50; // 设置串口为模式1允许接收 5、轮询接收 ES0; //禁止串口中断 while(1) //死循环,单片机初始化后,将一直运行这个死循环 {//****查询式串口接收程序****if(RI1) //如果接收标志位为1说明有数据接收完毕{ //RCIF在寄存器被读出后自动清零USARTbufSBUF; //将接收缓冲区内容转至USARTbuf寄存器中RI0; //清除接收标志位SBUFUSARTbuf1; //将接收到的内容1后发送出去while(!TI); //一直等到数据发送完毕} } 可以看到在主函数判断RI是否为1得到获取SBUF的值如果要发送则赋值给SBUF即可。 6、中断接收 ES1; //允许串口中断 EA1; //开全局中断 void UART_SER (void) interrupt 4 {if(RI1) //如果接收标志位为1说明有数据接收完毕{ //RCIF在寄存器被读出后自动清零USARTbufSBUF; //将接收缓冲区内容转至USARTbuf寄存器中RI0; //清除接收标志位SBUFUSARTbuf1; //将接收到的内容1后发送出去while(!TI); //一直等到数据发送完毕}if(TI) TI0; //如果是发送引起的中断清零 } 可以看到中断服务函数不仅会让接收进入中断发送也会进入中断其不通过轮询可以大大降低系统的占用。 同样中断服务函数不要写太多乱七八糟的代码越简洁越好。
http://www.w-s-a.com/news/820665/

相关文章:

  • 网站制作西安郑州网站建设动态
  • 外贸网站免费推广温州做网站技术员
  • 武冈 网站建设做网站能收回吗
  • 网站做前端把网站扒下来以后怎么做
  • 网站模板素材下载手机做任务佣金的网站
  • 机关网站建设考核测评总结做网站sqlserver排序
  • 凉山州建设厅官方网站html5下载教程
  • 内网网站建设方面政策id97网站怎么做的
  • 福州企业建站系统七米网站建设
  • 长春seo建站北京做机床的公司网站
  • 网站维护具体做啥如何开发wap网站
  • 公司网站设计费计入什么科目潍坊公司网站制作
  • 拖拽式网站开发模具钢东莞网站建设
  • 彩票娱乐网站建设模块化网站开发
  • 孝感网站设计用自己的名字设计头像
  • 高明网站建设哪家好深圳vi设计公司全力设计
  • 工程技术cpu游戏优化加速软件
  • 一起做网店网站入驻收费wordpress 自定义评论样式
  • 深圳高端网站建设公司排名app软件开发sh365
  • 泰州网站整站优化惠州做网站多少钱
  • 做博客网站的php代码一建论坛建工教育网
  • 邢台网站制作费用单页营销网站后台
  • 红色网站建设的比较好的高校用vs2010做购物网站
  • 网站域名备案号查询网页设计实验报告总结模板
  • 什么软件 做短视频网站好大型论坛网站建设
  • 视频网站用什么cms网络运营与维护主要做什么
  • 设计网站主页要多少钱赣州制作网站百度
  • 什么叫高端网站定制网站收录大幅度下降
  • 汝城县网站建设公司aspx网站实例
  • 专业微网站营销diywap手机微网站内容管理系统