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

营销网站建设套餐seo学院培训班

营销网站建设套餐,seo学院培训班,前端 兼职做网站,怎么做网站免费的1.分析原理图 由上图我们可以看到串口1通过CH340接到了USB口上,通过串口1我们就能跟电脑进行数据交互。 另外需要注意的是STC15F是有两组高速串口的,而且可以切换端口。 2.配置串口 由于比赛时间紧,我们最好不要去现场查寄存器手册&#x…

1.分析原理图

在这里插入图片描述
由上图我们可以看到串口1通过CH340接到了USB口上,通过串口1我们就能跟电脑进行数据交互。
在这里插入图片描述
另外需要注意的是STC15F是有两组高速串口的,而且可以切换端口。

2.配置串口

由于比赛时间紧,我们最好不要去现场查寄存器手册,去计算波特率。建议直接使用STC-ISP烧录软件里面的小工具去配置就行。例如我这是使用定时器2用作串口1的波特率发生器,波特率9600。需要注意的是如果你想要使能串口1中断,需要加上 ES = 1;EA = 1;
在这里插入图片描述
如果你使能了串口中断,下面就是串口中断函数的写法:

/*----------------------------
UART 中断服务程序
-----------------------------*/
void Uart() interrupt 4
{if(RI) RI = 0;   //清除RI位if (TI){TI = 0;  		//清除TI位busy = 0;  //清忙标志}
}

3.封装串口收发函数

串口收发函数其实也不需要我们自己现场去写,在STC-ISP烧录软件里面有示例,复制出来稍作修改就行。
在这里插入图片描述
下面是我修改过后的代码

#include "uart.h"bit busy;void UartInit(void)		//9600bps@12.000MHz
{SCON = 0x50;		//8位数据,可变波特率AUXR |= 0x01;		//串口1选择定时器2为波特率发生器AUXR &= 0xFB;		//定时器时钟12T模式T2L = 0xE6;			//设置定时初始值T2H = 0xFF;			//设置定时初始值AUXR |= 0x10;		//定时器2开始计时ES = 1;         //使能串口1中断EA = 1;
}/*----------------------------
UART 中断服务程序
-----------------------------*/
void Uart() interrupt 4
{if(RI) RI = 0;   //清除RI位if (TI){TI = 0;  		//清除TI位busy = 0;  //清忙标志}
}/*----------------------------
发送串口数据
----------------------------*/
void SendData(u8 dat)
{while (busy);               //等待前面的数据发送完成busy = 1;SBUF = dat;                 //写数据到UART数据寄存器
}/*----------------------------
发送字符串
----------------------------*/
void SendString(char *s)
{while (*s)                  //检测字符串结束标志{SendData(*s++);         //发送当前字符}
}

4.使用printf函数

C51也是可以通过串口重定向,就能直接使用printf()函数往串口发送格式化数据,具体操作如下:

/*-----------------------------
串口重定向
-------------------------------*/
char putchar(char c)
{SendData(c);return c;
}

然后就能直接使用printf()函数了,示例:按键按下后将获取到的温度数据通过串口发送到电脑
在这里插入图片描述
在这里插入图片描述
需要注意的是如果提示printf函数未定义,请引入头文件stdio.h 如果还是提示没有定义,请自行往stdio.h头文件里面添加如下代码:
在这里插入图片描述

5.完整封装库

#include "uart.h"bit busy;void UartInit(void)		//9600bps@12.000MHz
{SCON = 0x50;		//8位数据,可变波特率AUXR |= 0x01;		//串口1选择定时器2为波特率发生器AUXR &= 0xFB;		//定时器时钟12T模式T2L = 0xE6;			//设置定时初始值T2H = 0xFF;			//设置定时初始值AUXR |= 0x10;		//定时器2开始计时ES = 1;         //使能串口1中断EA = 1;
}/*----------------------------
UART 中断服务程序
-----------------------------*/
void Uart() interrupt 4
{if(RI) RI = 0;   //清除RI位if (TI){TI = 0;  	//清除TI位busy = 0;  	//清忙标志}
}/*----------------------------
发送串口数据
----------------------------*/
void SendData(u8 dat)
{while (busy); //等待前面的数据发送完成busy = 1;SBUF = dat;  //写数据到UART数据寄存器
}/*----------------------------
发送字符串
----------------------------*/
void SendString(char *s)
{while (*s)  //检测字符串结束标志{SendData(*s++); //发送当前字符}
}/*-----------------------------
串口重定向
-------------------------------*/
char putchar(char c)
{SendData(c);return c;
}
http://www.dtcms.com/wzjs/365868.html

相关文章:

  • 做p2p网站费用社群营销的案例
  • 四川建设局网站网络整合营销的特点有
  • 免费响应式网站站内推广方式有哪些
  • 武汉网站开发whaa平台seo什么意思
  • wordpress瓶颈如何分步骤开展seo工作
  • 济南汇网站群亚马逊关键词优化怎么做
  • 公司网站建设意见东莞seo优化公司
  • wordpress批量修改标题哪里有整站优化
  • 介绍东莞网站建设的ppt湖南seo推广
  • 网站建设制作要学什么临沂网站建设方案服务
  • xml做网站如何让百度收录网址
  • 北京便宜的网站建设今日刚刚发生的军事新闻
  • 文化礼堂建设情况网站百度推广托管
  • 怎么判断是不是外包公司网站怎么优化排名
  • 视频制作的基本流程是什么杭州优化seo
  • 网站备案需要去哪办理成都市seo网站公司
  • 百度快照抓取的是网站哪里的内容企业网站设计论文
  • 北京做网站推广多少钱企业网站的推广阶段
  • 商城网站建设需要多少如何把网站推广出去
  • 浦东企业网站建设苹果cms永久免费建站程序
  • 永远网站建设什么软件可以排名次
  • cnzz统计代码放在网站steam交易链接在哪
  • 百度站长怎么做网站维护seo技术外包 乐云践新专家
  • 广东 政府网站 建设发展规划网络优化工程师主要负责什么工作
  • 珠海建站模板源码口碑营销怎么做
  • 做推文封面的网站seo专业课程
  • 自己做网站要钱么百度推广开户代理商
  • 做网站的咋挣钱大庆网络推广
  • 展示类网站建设百度一下百度搜索入口
  • 网站备案有电话来昆明网站seo服务