资源简介
本项目通过综合使用三轴加速度传感器、数码管、蜂鸣器、导航键、按键、振动传感器等元件,基于上位机与下位机之间的通信和数据交互,利用下位机完成对上位机游戏——贪吃蛇的多种方式控制。

代码片段和文件信息
/**********************
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的计算器
相关资源
- STC8951系列单片机中方指南
- Omron ETN21模块进行modbustcp通讯
- 贪吃蛇源代码.fla
- 基于MFC扩展CListCtrl子项显示图片并叠
- 贪吃蛇游戏设计(汇编语言)
- STC12C5A60S2 CH4521 驱动数码管 显示
- 可编辑的CListctrl 支持CEDIT文本框,C
- STC12C系列单片机函数库
- CListCtrlExDemo.rar
- 适用于STC单片机和51单片机的SX1262驱动
- EESkill NRF24L01 无线模块用户手册
- Scratch 贪吃蛇 素材及代码
- Scratch 贪吃蛇 小游戏源码
- Scratch 好玩的贪吃蛇1.0
- Scratch 贪吃蛇.sb3 小游戏源码
- IAP15f2k61s2
- 校园一卡通系统中RFID读写器的设计
- STC11F04单片机串口终端程序
- STC11F32单片机的射频读卡器设计
- STC-ISP_V4.83
- 基于STC89C52的瓦斯检测及红外控制系统
- ROST内容挖掘软件
- as3.0贪吃蛇源码 实现了基本功能
- 基于51单片机的超声波测距技术实现含
- unity3d制作贪吃蛇
- RC522读写MI卡程序,STC89C52RC调试通过,
- OpenGL 3D贪吃蛇程序,很小
- STC89C52+LCD12864+18B20+1302万年历
- STC库文件 STC.CDB
- 单片机89c52与MLX90614红外的测温程序
评论
共有 条评论