1. 程式人生 > 實用技巧 >499【畢設課設】基於51微控制器汽車防側翻傾倒陀螺儀霍爾測速超速報警

499【畢設課設】基於51微控制器汽車防側翻傾倒陀螺儀霍爾測速超速報警

【資源下載】下載地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl

51微控制器汽車防側翻傾倒陀螺儀霍爾測速超速報警7
本系統由STC89C52微控制器、霍爾測速模組、LCD1602液晶顯示、
陀螺儀MPU6050模組、按鍵、電機控制、蜂鳴器報警+電源組成。
1、通過霍爾感測器檢測車輛實時速度。
2、通過陀螺儀檢測車輛的X軸和Z軸的角度。
3、將車輛的最大速度值和翻車的角度閾值寫入程式中,當傾斜
角度超過閾或者當前速度超過速度閾值時,蜂鳴器報警。
4、液晶1602第一行顯示車輛型別,第二行顯示轎車當前X軸和
Z軸的角度。並且通過一個按鍵切換顯示車輛的型別.
分別有:Car、Bus、Truck。
Car 角度:+15 -15 車速:3.0
Bus 角度:+25 -25 車速:2.4
Truck 角度:+35 -35 車速:2.0

#include<reg52.h> //包含標頭檔案,一般情況不需要改動,標頭檔案包含特殊功能暫存器的定義
#include<stdio.h>
#include "1602.h"
#include "delay.h"

sbit key = P1^0;	   //引腳定義
sbit buzzer = P1^1;

#define STEP_ONE 0x01  //常量定義
#define STEP_TWO 0x02

unsigned char step=STEP_ONE;   //接收步驟
unsigned char record=0;		   //接收計數
unsigned char ReadMes=0;   //讀取資訊
unsigned char ReadFlag=0;	 //讀取標誌

unsigned long time_20ms=0;		//定時器計數
unsigned char ModeFlag = 1;		//車輛型別轉換
unsigned char rekey ; // 按鍵防止重複
char xdata dis0[16];   //液晶顯示暫存
char xdata dis1[16];

unsigned char xdata  Rebuf[6];	 //串列埠暫存
unsigned char DisFlag=1;

float xdata  Fangle=0;	 //定義角度變數 俯角 航角 滾角
float xdata Hangle=0;
float xdata Gangle=0;

unsigned char ReadSuDu=0;  //讀取速度標誌