标题:
基于STM32F103的简单红外距离检测装置源码
[打印本页]
作者:
西北忘
时间:
2018-3-25 11:40
标题:
基于STM32F103的简单红外距离检测装置源码
很简单的一个红外检测
单片机源程序如下:
//#include "stm32f10x.h"
#include "Light.h"
#include "delay.h"
#include "hmi.h"
#include "led.h"
#include "sys.h"
#include "usart.h"
#include "timer.h"
#include "exti.h"
extern u32 times0;
extern u32 times1;
extern u32 times2;
extern u32 times3;
extern u8 k;
extern u16 number;
int main(void)
{
u8 DATA;
float t;
u32 t1;
u32 t2;
u32 v1;
float v;
u32 x;
delay_init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
uart_init(9600);//直接采用单片机自带串口与串口屏进行通讯,波特率9600
LED_Init();
//Light_Init();
EXTIX_Init();
TIM3_Int_Init(999,71);
UART_Send_END();
while(1)
{
if(k==1)
{
t1=times1-times0;
t2=times3-times2;
t=(float)(t1+t2)/2;
t1=times2-times0;
t2=times3-times1;
v=(float)((float)13/t1+(float)13/t2)/2;
v1=(float)v*1000;
x=(float)(float)v*(float)t;
if(x>30)
CALLHMI("main.n0.pic", 4);
else
CALLHMI("main.n0.pic", 5);
CALLHMI("main.n0.val", x);
CALLHMI("main.n1.val", number);
CALLHMI("main.n2.val", t);
CALLHMI("main.n3.val", v1);
k=0;
}
if(USART_RX_STA&0x8000)
{
DATA=USART_RX_BUF[0];
USART_RX_STA=0;
}
if(DATA==1)
{
number=0;
CALLHMI("main.n0.val", 0);
CALLHMI("main.n1.val", number);
CALLHMI("main.n2.val", 0);
CALLHMI("main.n3.val", 0);
CALLHMI("main.n0.pic", 5);
DATA=0;
}
LED0=!LED0;
delay_ms(100);
}
}
复制代码
所有资料51hei提供下载:
mianshi.rar
(271.75 KB, 下载次数: 22)
2018-3-26 02:49 上传
点击文件名下载附件
程序
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1