久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
自己做的STM32課程設(shè)計 超聲波測距用TFT顯示 并語音播報 簡單程序
[打印本頁]
作者:
尤曉權(quán)
時間:
2018-3-14 14:30
標題:
自己做的STM32課程設(shè)計 超聲波測距用TFT顯示 并語音播報 簡單程序
簡單程序尚有不足請指教
單片機源程序如下:
#include "delay.h"
#include "sys.h"
#include "stm32f10x.h"
#include "RTC_Time.h"
#include <stdio.h>
#include "SPI_TFT.h"
#include "Image.h"
#include "timer.h"
#include "exti.h"
#include "usart.h"
#define uchar unsigned char
#define uint unsigned int
#define BUFLEN 50
#define BUFLEN2 50
#define BUFLEN2 50
#define HEADLEN 5
#define LEN_OFFSET 2
extern u16 backing_up,distance_measurement;
u8 flag_m1=0,flag_m2; //清屏標志位
//unsigned int Color = YELLOW; // 前景顏色
//unsigned int Color_BK = BLUE; // 背景顏色
extern int shifenwei,baifenwei,gewei,shiwei,baiwei;
extern u8 mode_number;
extern int number,man;
extern u16 key_flag,show_flag_2;
extern float pinjun;
extern u16 b,a,show_flag_1,flag_measure,flag_over;
extern int shifenwei,baifenwei,gewei,shiwei,baiwei;
uchar head[HEADLEN] = {0xfd,0x00,0x00,0x01,0x01};
uchar speed[HEADLEN] = {0x5B,0x74,0x30,0x5D,0xB8};
uchar text[BUFLEN] = {"距離目標 厘米"};
uchar text2[BUFLEN] = {"距離過近"};
uchar text3[BUFLEN] = {"超出檢測范圍"};
uchar sound[6] = {0x5B,0x76,0x31,0x30,0x5D,0x84};
void Speech(uchar *buf, uchar len);
int main(void)
{
SystemInit();
NVIC_Configuration();
delay_init();
uart_init(9600);
InitLcd();
TIM3_Int_Init(39999,72); //測距最遠距離2m 此時計數(shù)器溢出 計數(shù)器每走一步1us 記滿40ms
EXTIX_Init();
LCD_clear(BLACK);
Color_BK = BLACK;
start_show();
while(1)
{
mode_chose();
if(mode_number%2==1)
{ flag_m1++;
if(flag_m1==1)LCD_clear(BLACK);
else{ Reversing();
man++;
GPIO_SetBits(GPIOB,GPIO_Pin_0);
delay_us(20);
GPIO_ResetBits(GPIOB,GPIO_Pin_0);
delay_ms(100);
}
if(flag_over==1) //檢測一次結(jié)束
{
number++;
flag_over=0;
if(number>4)
{
number=0;
show_flag_2=1;
}
}
if(show_flag_2==1) //測距顯示
{
if(show_flag_1==1)
{
show_flag_1=0;
juli_date_show(); //數(shù)據(jù)顯示函數(shù)
show_flag_2=0;
}
}
}
if(mode_number%2==0)
{ flag_m1=0;
if(flag_measure==1)
{ man++;
flag_m2++;
if( flag_m2==1) LCD_clear(BLACK);
else{
ultrasonic_ranging_show();
GPIO_SetBits(GPIOB,GPIO_Pin_0);
delay_us(20);
GPIO_ResetBits(GPIOB,GPIO_Pin_0);
delay_ms(100);
flag_measure=0;
}
}
if(flag_over==1) //檢測一次結(jié)束
{
number++;
flag_measure=1;
flag_over=0;
if(number>4)
{
number=0;
flag_measure=0;
show_flag_2=1;
}
}
if(show_flag_2==1) //測距顯示
{
if(show_flag_1==1)
{
show_flag_1=0;
juli_date_show(); //數(shù)據(jù)顯示函數(shù)
if(pinjun<3) Speech(text2,25);
if(pinjun>200) Speech(text3,25);
if(pinjun>3 && pinjun<200)
{
sprintf(text + 9,"%5.2f",pinjun);
Speech(text,25);
}
delay_ms(20);
show_flag_2=0;
flag_m1=0;
}
}
}
}
}
/*****************************************************************
* 名 稱: Speech()
* 功 能: 語音播報陳程序
* 入口參數(shù): 無
* 出口參數(shù): 無
*****************************************************************/
void Speech(uchar *buf, uchar len)
{
uchar i = 0;
uchar xor = 0x00;
head[LEN_OFFSET] = len+ 3;
for(i = 0; i < HEADLEN; i++)
{
xor ^= head[i];
USART_SendData(USART1, head[i]);//UART_Trans(head[i]);
delay_ms(2);
}
for(i = 0; i < len; i++)
{
xor ^= buf[i];
USART_SendData(USART1, buf[i]);//UART_Trans(buf[i]);
delay_ms(2);
}
USART_SendData(USART1, xor);//UART_Trans(xor);
}
復制代碼
所有資料51hei提供下載:
TFT oled 2.rar
(330.25 KB, 下載次數(shù): 78)
2018-3-15 02:52 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
songyuan
時間:
2018-6-14 11:49
你好,想學習一下語音播報
作者:
bibibib
時間:
2018-12-12 15:13
請問有仿真嗎?
作者:
尤曉權(quán)
時間:
2019-1-24 15:25
songyuan 發(fā)表于 2018-6-14 11:49
你好,想學習一下語音播報
我是直接用 語音合成芯片做的
作者:
灰泰郎
時間:
2019-4-19 19:30
學習學習
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
午夜视频网站
|
亚洲综合国产精品
|
国产精品久久久久久久久久久久久
|
亚洲精品中文字幕在线
|
欧美日韩精品久久久免费观看
|
狠狠操av
|
一区二区三区免费
|
日韩精品二区
|
天天曰天天曰
|
中文字幕一级
|
国产一区2区
|
久久九精品
|
日韩电影中文字幕
|
欧美成人精品一区二区三区
|
黄色片视频网站
|
欧美日韩一
|
亚洲国产精品久久久久久
|
午夜影院在线观看版
|
久久草视频
|
久久精品电影
|
精品在线一区二区
|
精品国产一区二区三区成人影院
|
黄色免费网址大全
|
久久亚洲天堂
|
久久久久久网站
|
丁香综合
|
欧美日韩在线免费观看
|
一区二区三区网站
|
色婷婷激情
|
99精品热视频
|
欧美性一级
|
成人精品鲁一区一区二区
|
女同久久另类99精品国产
|
av影片在线
|
中文字幕 在线观看
|
国产精品视频yy9299一区
|
视频一区二区在线
|
国产激情精品视频
|
国产日韩欧美一区二区
|
国产精品区一区二区三区
|
国产最好的av国产大片
|