資源簡介
本項目通過綜合使用三軸加速度傳感器、數碼管、蜂鳴器、導航鍵、按鍵、振動傳感器等元件,基于上位機與下位機之間的通信和數據交互,利用下位機完成對上位機游戲——貪吃蛇的多種方式控制。

代碼片段和文件信息
/**********************
mysnake?
************************/
#include?
#include?
#include??
#include??
#define???DataPort?P0????//LCD1602數據端口
#define?uchar?unsigned?char
#define?uint?unsigned?int
/*------------------*/
#define?cstFocs??????11059200L??//
#define?cstBaud1?????9600???????//波特率
#define?cstKeyMaxNum?100
/*用來初始化A/D轉化相關寄存器的數據****/
/*?Define?to?prevent?recursive?inclusion?-------------------------------------*/
#define P1_7_ADC?0x80
#define?ADC_POWER?0X80
#define?ADC_FLAGE?0X10
#define?ADC_START?0X08
#define?ADC_SPEEDLL?0X00
#define?ADC_SPEEDL?0X20
#define?ADC_SPEEDH?0X40
#define?ADC_SPEEDHH?0X60
#define?ADC_CHANNEL?0X07
#define SlaveAddress???0xA6 ??//定義器件在IIC總線中的從地址根據ALT??ADDRESS地址引腳不同修改
//ALT??ADDRESS引腳接地時地址為0xA6,接電源時地址為0x3A
typedef?unsigned?char??BYTE;
typedef?unsigned?short?WORD;
/*---------變量---------*/
uchar?ucT100usTimes;
sbit?sbtKey1?=?P3?^?2?;?????????????//減速
sbit?sbtKey2?=?P3?^?3?;?????????????//加速
sbit?sbtVib?=?P2?^?4;?????//振動暫停
sbit?sbtBeep?=?P3?^?4;????//蜂鳴器
/*收發顯示數據相關*/
uchar?modeld;
uchar?models;
uchar?ucDateDigState;
uchar?ucT100usTimes;
uchar?devid;
uchar???time_3=0;
sbit ??SCL=P2^5;//P1^0;??????//IIC時鐘引腳定義
sbit? ??SDA=P2^6;//P1^1;??????//IIC數據引腳定義
uint?uiKeyCnt;????????????//導航鍵計數
uint?uiKey1Cnt;????????????//K1計數
uint?uiKey2Cnt;????????????//K2計數
uint?uiKeyAllCnt;??????????//總計數
bit?btT1msFlag;????????????//1ms
bit?btKey1Current;/*key1當前的狀態*/
bit?btKey1Past;???/*key1前一個狀態*/
bit?btKey2Current;/*key2當前的狀態*/
bit?btKey2Past;???/*key2前一個狀態*/
bit?btKeyCurrent;/*key當前的狀態*/
bit?btKeyPast;???/*key前一個狀態*/
uchar?flag1=0;??????//倒數標志
uchar?flag2=0;??????//倒數標志
bit?btUart1SendBusy?=?0?;
uchar?ucDateTmp;???????????????//暫存數據
sbit?sbtLedSel?=?P2?^?3;
uchar?State=0;??//記錄當前狀態
uint?speed=8;//記錄速度
uchar?dir=0;??//記錄方向
uchar?intSelect[]?=?{0x3f?0x06?0x5b?0x4f?0x66?0x6d?0x7d?0x07?0x7f?0x6f?0x77?0x7c?0x39?0x5e?0x79?0x71};?//顯示0-f
uchar?bitselect[]=?{0x6d0x730x790x790x3f0x000x40};?????????//顯示各位
uchar?dirction[]=?{0x060x080x300x01};?????????????????????????//方向顯示
uchar?hold[]=?{0x740x5c0x300x5e0x800x800x800x80};?????????//hold
uchar?choose[]=?{0x390x760x3f0x3f0x6d0x790x800x80};???????//choose
/*----------------三軸加速相關函數-----------------------*/
BYTE?BUF[8];//接收數據緩存區
char?ge_yge_xshi_yshi_xbai_ybai_x;//顯示變量uchar
int??dis_data;//數據顯示變量
char?flag=0;//表示正在執行
double?x_angle=0y_angle=0z_angle=0angle=0sum_y=0sum_x=0;//角度變量
int?avg_x=0avg_y=0fla=0;//加速度變量
uint?offx=0offy=0;//校準清零
void?Delay_s(unsigned?int?k);//延遲函數
void?Init_ADXL345(void);//初始化ADXL345
void?conversion(int?temp_data_xint?temp_data_y);//轉換出顯示需要的數據
void??Single_Write_ADXL345(uchar?REG_Addressuchar?REG_data);???//單個寫入數據
uchar?Single_Read_ADXL345(uchar?REG_Address);???????????????????//單個讀取內部寄存器數據
void??Multiple_Read_ADXL345();??????????????????????????????????//連續的讀取內部寄存器數據
//------
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????322025??2019-09-03?10:37??STC(含下位機通信和上位機貪吃蛇)\MySnake.zip
?????目錄???????????0??2019-09-20?08:19??STC(含下位機通信和上位機貪吃蛇)\uart3.0(下位機)\
?????文件????????9064??2019-07-02?09:27??STC(含下位機通信和上位機貪吃蛇)\uart3.0(下位機)\STC15F2K60S2.H
?????文件???????39390??2019-09-04?19:53??STC(含下位機通信和上位機貪吃蛇)\uart3.0(下位機)\uart
?????文件???????22652??2019-09-05?08:39??STC(含下位機通信和上位機貪吃蛇)\uart3.0(下位機)\uart.c
?????文件???????16855??2019-09-04?19:53??STC(含下位機通信和上位機貪吃蛇)\uart3.0(下位機)\uart.hex
?????文件??????????25??2019-09-04?19:53??STC(含下位機通信和上位機貪吃蛇)\uart3.0(下位機)\uart.lnp
?????文件???????42245??2019-09-04?19:53??STC(含下位機通信和上位機貪吃蛇)\uart3.0(下位機)\uart.LST
?????文件???????48676??2019-09-04?19:53??STC(含下位機通信和上位機貪吃蛇)\uart3.0(下位機)\uart.M51
?????文件???????44971??2019-09-04?19:53??STC(含下位機通信和上位機貪吃蛇)\uart3.0(下位機)\uart.OBJ
?????文件?????????178??2019-09-05?09:18??STC(含下位機通信和上位機貪吃蛇)\uart3.0(下位機)\uart.plg
?????文件??????134197??2019-09-05?09:23??STC(含下位機通信和上位機貪吃蛇)\uart3.0(下位機)\uart.uvgui.Fores
?????文件??????134223??2019-09-04?19:53??STC(含下位機通信和上位機貪吃蛇)\uart3.0(下位機)\uart.uvgui_Fores.bak
?????文件????????6776??2019-09-05?09:23??STC(含下位機通信和上位機貪吃蛇)\uart3.0(下位機)\uart.uvopt
?????文件???????13556??2019-08-30?16:09??STC(含下位機通信和上位機貪吃蛇)\uart3.0(下位機)\uart.uvproj
?????文件????????6776??2019-09-04?19:53??STC(含下位機通信和上位機貪吃蛇)\uart3.0(下位機)\uart_uvopt.bak
?????文件???????13556??2019-07-10?10:37??STC(含下位機通信和上位機貪吃蛇)\uart3.0(下位機)\uart_uvproj.bak
- 上一篇:linux Qt局域網聊天
- 下一篇:ob
jective-c的計算器
評論
共有 條評論