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

建设旅游网网站软件创建qq网站吗

建设旅游网网站软件,创建qq网站吗,群晖可以做网站服务器,做网站建设的好处今天#xff0c;完整地总结一下普中科技的单片机的串口通信的硬件与编程#xff0c;记录一下以后如果需要也比较方便捡起来。 单片机的串口部分的电路图。开发板上集成了 1 个串口通信电路#xff0c;是 USB 转串口模块#xff0c;它既可下载程序也可实现串口通信功能。 对…        今天完整地总结一下普中科技的单片机的串口通信的硬件与编程记录一下以后如果需要也比较方便捡起来。 单片机的串口部分的电路图。开发板上集成了 1 个串口通信电路是 USB 转串口模块它既可下载程序也可实现串口通信功能。 对这个模块简要分析一下输入输出。 描述一下CH340芯片的作用。带你全面解析USB转串口芯片CH340 - 采芯网 (findic.com) 实现的功能是51 单片机通过串口UART实现与 PC 机对话 51 单片机的串口收到 PC 机发来的数据后原封不动的返回给 PC 机显示。 单片机串行口的结构 串口相关的寄存器。 我们一般选择串口工作在方式1下定时器1工作在方式2下8位自动重装。 定时器定时器1与波特率的关系。 SBUF介绍 串口初始化。 void uart_init(u8 baud) { TMOD|0X20; //设置计数器工作方式 2 SCON0X50; //设置为工作方式 1 PCON0X80; //波特率加倍 TH1baud; //计数器初始值设置 TL1baud; ES1; //打开串口中断 EA1; //打开总中断 /*定时器1的方式2是8位自动重装定时器一旦溢出就自动重装与中断无关所以定时器1进入中断后无事可做所以无需打开定时器1的中断*/ TR11; //打开计数器 } void main() { uart_init(0XFA);//波特率为 9600 while(1) { } } void uart() interrupt 4 //串口通信中断函数 { u8 rec_data; RI 0; //清除接收中断标志位 rec_dataSBUF; //存储接收到的数据 SBUFrec_data; //将接收到的数据放入到发送寄存器 while(!TI); //等待发送数据完成 TI0; //清除发送完成标志位 } 完整程序如下所示 #include reg52.htypedef unsigned int u16; //对系统默认数据类型进行重定义 typedef unsigned char u8;/******************************************************************************* * 函 数 名 : 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; //存储接收到的数据SBUFrec_data; //将接收到的数据放入到发送寄存器while(!TI); //等待发送数据完成TI0; //清除发送完成标志位 } 我在其他博客看到的一些串口代码。 #include REGX52.H/* *** brief 串口初始化 //4800bps11.0592MHz* param 无* retval 无*/ void UART_Init(void) //4800bps11.0592MHz {PCON | 0x80; //使能波特率倍速位SMODSCON 0x50; //8位数据,可变波特率TMOD 0x0F; //清除定时器1模式位TMOD | 0x20; //设定定时器1为8位自动重装方式TL1 0xF4; //设定定时初值TH1 0xF4; //设定定时器重装值ET1 0; //禁止定时器1中断TR1 1; //启动定时器1EA 1; //启动所有中断ES 1; //启动串口中断 }/* * 串口发送模板* brief 串口发送一个字节数据* param Byte 要发送的一个数据* retval 无*/void UART_SendByte(unsigned char Byte) {SBUF Byte;while(TI 0); //一执行完就要复位TI 0; //TI为发射控制器;RI为接受控制器; }/*串口中断函数模板 void UART_Routine() interrupt 4 {if(RI 1){RI 0;} }*/ 串口的发送与接收数据的过程与串口中断一点关系都没有并不是不开串口中断就说明禁止了单片机的串口通信单片机的串口中断只是提供了那么一种方法即当你接收完数据或者发送完数据想要先停止此时的串口通讯进行其他的诸如数据处理的任务不管是否开中断只要将数据放入到SBUF中就一定会将数据发送出去。定时器也是如此不管有没有开中断定时器都是在定时的只不过有些工作方式在定时一次后再一次定时时初始值会发生变化工作方式2会自动重装。 在串口发送数据的时候自己不用考虑起始位以及停止位将数据写入到SBUF中肯定没有起始位以及停止位单片机发送的时候会自动将数据包装在前面和后面加上起始位以及停止位。 串口调试工具 我自己随便写了个PC端控制单片机LED亮灭的程序。 #include reg52.htypedef unsigned int u16; //对系统默认数据类型进行重定义 typedef unsigned char u8;sbit LED1P2^0; //将P2.0管脚定义为LED1/******************************************************************************* * 函 数 名 : uart_init * 函数功能 : 串口通信中断配置函数通过设置TH和TL即可确定定时时间 * 输 入 : baud波特率对应的TH、TL装载值 * 输 出 : 无 *******************************************************************************/ void uart_init(u8 baud) {TMOD|0X20; //设置计数器工作方式2SCON0X50; //设置为工作方式1PCON0X80; //波特率加倍TH1baud; //计数器初始值设置TL1baud;ES1; //打开接收中断EA1; //打开总中断TR11; //打开计数器 }void delay_10us(u16 ten_us) {while(ten_us--); } /******************************************************************************* * 函 数 名 : main * 函数功能 : 主函数 * 输 入 : 无 * 输 出 : 无 *******************************************************************************/ void main() { uart_init(0XFA);//波特率为9600while(1){ } }void send_Byte(u8 rec_data) {SBUFrec_data; //将接收到的数据放入到发送寄存器while(!TI); //等待发送数据完成TI0; //清除发送完成标志位 }void uart() interrupt 4 //串口通信中断函数 {if(RI){u8 rec_data;rec_dataSBUF; //存储接收到的数据if(rec_data G || rec_data g){LED10; //点亮delay_10us(50000); //大约延时450msLED11; //熄灭delay_10us(50000);}send_Byte(rec_data);RI 0; //清除接收中断标志位} } printf重定向简介 char putchar(char c) {SendByte(c);return c; }void SendByte(unsigned char data) {SBUF data;while(!TI);TI 0; } 附录 51单片机之寄存器-3.3单片机串口通信之发送与接收 - 微波EDA网 (mweda.com) 单片机串行通信总结_单片机接收sbuff的条件为ri_tony_0620的博客-CSDN博客 51单片机的串口通信UART及其应用_51单片机 uart_小菜冀的博客-CSDN博客
http://wiki.neutronadmin.com/news/269260/

相关文章:

  • 老河口城乡建设局网站江阴市住房和城乡建设局网站
  • 友链网站降权网站的空间域名
  • 怎样大力开发公司网站建设珠海主题网站设计模板
  • 大理州城乡建设局网站帝国cms做视频网站性能如何
  • 网站建设 有限公司注册公司网站需要多少钱
  • 常州做网站建设的公司学做网站多长时间
  • 网站后台进入突然不显示广州网站建设360元
  • 如何提高网站访问速度的文章wordpress多条件过滤
  • 怎样使用仿站小工具做网站网架公司排行
  • 网站关键字怎么设置怎么建立自己企业网站
  • 企业做网站系统线上推广app
  • 摄影手机网站模板网页制作学习教程
  • 湖北微网站建设报价最新消息深圳龙岗确诊
  • 扬州门户网站开发公司自己的网站怎么做跳转
  • 网站设计和网站建设外贸网站建设原则
  • 东莞北京网站建设价格低虹桥做网站
  • 如何做自己的网站新手小白怎样运营1688店铺
  • 嵊州市网站建设网页制作好了如果让别人搜到
  • 做电影免费ppt模板下载网站自己制作一个简单的app
  • 世界著名免费邮箱网站汉中网站建设价格
  • 俄语 俄文 俄罗斯语外贸网站建设娄底做网站的公司
  • 网站开发顶岗实习报告wordpress 小程序开发
  • 广州网站建设吧微信管理系统免费版
  • 怎样做打赏网站怎么做素材设计网站
  • 电子商城网站开发对接wordpress企业主题带后台
  • 彩票网站制作开发wordpress最简单模板
  • 企业网站数据库中国建设网上银行下载
  • 威海网站建设排名榜深圳做网站哪个好
  • 牡丹江市建设银行门户网站网页制作的公司的服务
  • 云南省建设工程网站网站开发信息文档