}
主程序部分:
#include <stm32f10x_lib.h>
#include "sys.h"
#include "usart.h"
#include "delay.h"
#include "led.h"
#include "lcd.h"
#include "timer.h"
#include "chao.h"
extern u8 flag;
long S=0;
u8 disbuff[4]={0};
void StartModule()
{
TX=1;
delay_us(15);
TX=0;
}
void Count()
{
if(flag==0)
{
S=(TIM3->CNT*340.0000/2000);
POINT_COLOR=BLUE;//设置字体为蓝色
LCD_ShowNum(60,150,TIM3->CNT,5,16);
disbuff[0]=S/1000;
disbuff[1]=S%1000/100;
disbuff[2]=S%1000%100/10;
disbuff[3]=S%1000%10%10;
LCD_ShowString(60,130,"Distance:");
LCD_ShowNum(142,130,disbuff[0],1,16);
LCD_ShowNum(150,130,disbuff[1],1,16);
LCD_ShowNum(158,130,disbuff[2],1,16);
LCD_ShowNum(166,130,disbuff[3],1,16);
}
}
int main(void)
{
Stm32_Clock_Init(9);//系统时钟设置
delay_init(72); //延时初始化
uart_init(72,9600); //串口1初始化
LED_Init();
LCD_Init();
Timerx_Init(60000,71);
Us100_Init();
POINT_COLOR=RED;
LCD_ShowString(60,50,"Eric You");
LCD_ShowString(60,70,"Ranging TEST");
LCD_ShowString(60,90,"1406340405@qq.com");
LCD_ShowString(60,110,"2013/09/18");
while(1)
{
TIM3->CNT=0;
StartModule();
delay_ms(200);
Count(); //计算
delay_ms(200);
}
}
LED1不断的闪,好像进入了中断