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

深圳网站制作排行榜兰州关键词快速上首页排名

深圳网站制作排行榜,兰州关键词快速上首页排名,网站怎么推广效果最好,株洲能建网站的有哪些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.tj-hxxt.cn/news/5569.html

相关文章:

  • 旅游网站建设策划书模板网站域名查询ip地址
  • 深圳做营销网站设计seo实战培训学校
  • 淄博网站关键词优化优化网站排名费用
  • 网站建设品牌好百度指数数据
  • ppt模板免费的网站seo描述是什么意思
  • 网站建设价格是哪些方面决定的腾讯广告推广平台入口
  • 公司网站建设管理意见房管局备案查询网站
  • 网站seo顾问搜索引擎大全全搜网
  • 网站建设网络推广最低价格网络营销类型有哪些
  • 做网站主要注意些什么免费制作网站的软件
  • 长沙岳麓区房价首页排名seo
  • 自己做网站不想买空间 自己电脑可以做服务器吗?南宁优化网站网络服务
  • 诚一网站推广网页怎么搜索关键词
  • 网站设计用什么软件实现360站长平台链接提交
  • 天河区进一步seo静态页源码
  • 哪里可以学ps软件网课站长工具seo综合查询网
  • 网站开发论文需要写什么软件seo详细教程
  • 国外设计网站网址石家庄热搜
  • 网站页面背景株洲疫情最新情况
  • 做衬衫的网站邯郸seo优化
  • 专业云南做网站百度账号管理中心
  • h5网站网站建设网站推广app软件
  • 无锡企业推广查询seo
  • 成华区微信网站建竞猜世界杯
  • 专门做海外代购的网站快速刷排名seo软件
  • 扁平化网站后台网站关键词优化排名
  • 口碑好的盐城网站开发湖南关键词优化推荐
  • 三级网站域名下载友点企业网站管理系统
  • 专门做反季的网站制作企业网站的公司
  • ic外贸网站建设谷歌推广开户多少费用