资源简介
这个为ps2手柄资料,里面包含arduino,51单片机,stm32的例子,有控制舵机的函数,控制电机的函数,等等。库已经封装好。
代码片段和文件信息
#include
#include
#include
#include
/*********************************************************
Copyright (C) 2015-2025 ZYRobot.
湖南智宇科教设备有限公司
www.hnzhiyu.cn
File:ps2测试程序
Author:zhulin Version:1.0 Data:2017/05/30
**********************************************************/
#define Fosc 22118400 //晶振频率
#define uchar unsigned char
#define uint unsigned int
sbit Speaker=P1^1;
sbit Led=P1^0;
sbit DATA=P3^4; //手柄接口
sbit CMND=P3^5;
sbit ATT=P3^6;
sbit CLK=P3^7;
/********手柄定义变量*********/
uchar code scan[9]={0x010x420x000x000x000x000x000x000x00};
uchar out[9];
/********************************************************************
* 名称 : void delayms(uint xms)
* 功能 : 延时
* 输入 : 有
* 输出 : 无
***********************************************************************/
void delayms(uint xms)
{
uint ij;
for(i=xms;i>0;i--)
for(j=1700;j>0;j--);
}
/********************************************************************
* 名称 : void uart_init()
* 功能 : 串口设置
* 输入 : 无
* 输出 : 无
***********************************************************************/
void uart_init()
{
SCON=0x50;//8位发送,无奇偶校验位
BRT=0xfa;//BRT=256-Fosc/32/9600/12;
AUXR=0x91;//选择并打开独立计数器
EA=1; // 打开总中断开关
ES=1; // 打开串口中断开关
}
/********************************************************************
* 名称 : uart_sendata(uchar n)
* 功能 : 发送字节
* 输入 : 有
* 输出 : 无
***********************************************************************/
void uart_sendata(uchar n)
{
ES=0;
TI=0;
SBUF = n;
while(!TI); //如果发送完毕,硬件会置位TI
TI=0;
ES=1;
}
void delay(uint n) //delay(x)=(2.5+x)us;
{
uint i;
for(i=0;i // _nop_();//每个_nop_();大概0.1微秒
}
void psin(uchar command)//手柄发送子程序
{
uchar i;
for(i=0;i<=7;i++) //逐位接收
{
if(command&0x01) //此if下5行语句用时1us
CMND=1;
else
CMND=0;
command=command>>1;
_nop_();
_nop_();
CLK=0;
delay(10);
CLK=1;
delay(3);
}
CMND=1;
}
uchar scanout(uchar command)//手柄发送子程序
{
uchar ij=1;
uchar res=0;
for(i=0;i<=7;i++) //逐位接收
{
if(command&0x01)
CMND=1;
else
CMND=0;
command=command>>1;
_nop_();
_nop_();
CLK=0;
delay(10);
if(DATA) res=res+j;
j=j<<1;
CLK=1;
delay(3);
}
CMND=1;
return res;
}
void Read_PS2(void)//手柄读取程序
{
uchar i;
ATT=0;
for(i=0;i<9;i++) //扫描按键
{
out[i]=scanout(scan[i]);
}
ATT=1;
for(i=0;i<9;i++)
{
uart_sendata(0x30);
uart_sendata(0x78);
if(out[i]/16<10) uart_sendata(out[i]/16+0x30);
else uart_sendata(out[i]/16+0x37);
if(out[i]%16<10) uart_sendata(out[i]%16+0x30);
else uart_sendata(out[i]%16+0x37);
uart_sendata(‘ ‘);
uart_sendata(‘ ‘);
}
uart_sendata(0x0d);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4048 2017-07-04 18:04 PS2无线手柄遥控器资料\PS2-51例程\PS2—STC12C5A60S2\main.c
文件 9765 2017-07-04 17:56 PS2无线手柄遥控器资料\PS2-51例程\PS2—STC12C5A60S2\main.LST
文件 1187 2017-02-17 15:42 PS2无线手柄遥控器资料\PS2-51例程\PS2—STC12C5A60S2\PS2.hex
文件 55 2017-02-17 15:42 PS2无线手柄遥控器资料\PS2-51例程\PS2—STC12C5A60S2\PS2.lnp
文件 11040 2017-02-17 15:42 PS2无线手柄遥控器资料\PS2-51例程\PS2—STC12C5A60S2\PS2.M51
文件 228 2017-07-04 18:04 PS2无线手柄遥控器资料\PS2-51例程\PS2—STC12C5A60S2\PS2.plg
文件 70719 2017-07-05 17:39 PS2无线手柄遥控器资料\PS2-51例程\PS2—STC12C5A60S2\PS2.uvgui.Administrator
文件 5009 2017-07-05 17:39 PS2无线手柄遥控器资料\PS2-51例程\PS2—STC12C5A60S2\PS2.uvopt
文件 13968 2017-07-05 17:39 PS2无线手柄遥控器资料\PS2-51例程\PS2—STC12C5A60S2\PS2.uvproj
文件 55510 2017-07-04 17:57 PS2无线手柄遥控器资料\PS2-51例程\PS2—STC12C5A60S2\PS2_uvopt.bak
文件 14038 2017-07-04 17:47 PS2无线手柄遥控器资料\PS2-51例程\PS2—STC12C5A60S2\PS2_uvproj.bak
文件 6376 2009-05-07 14:37 PS2无线手柄遥控器资料\PS2-51例程\PS2—STC12C5A60S2\STARTUP.A51
文件 14051 2017-07-04 17:56 PS2无线手柄遥控器资料\PS2-51例程\PS2—STC12C5A60S2\STARTUP.LST
文件 749 2017-07-04 17:56 PS2无线手柄遥控器资料\PS2-51例程\PS2—STC12C5A60S2\STARTUP.OBJ
文件 4108 2013-07-07 10:18 PS2无线手柄遥控器资料\PS2-Arduino-lib\PS2X_lib\examples\PS2XMouse\PS2XMouse.ino
文件 7255 2013-07-07 10:18 PS2无线手柄遥控器资料\PS2-Arduino-lib\PS2X_lib\examples\PS2X_Example\PS2X_Example.ino
文件 1604 2013-07-07 10:18 PS2无线手柄遥控器资料\PS2-Arduino-lib\PS2X_lib\keywords.txt
文件 13161 2013-07-07 10:18 PS2无线手柄遥控器资料\PS2-Arduino-lib\PS2X_lib\PS2X_lib.cpp
文件 7480 2013-07-07 10:18 PS2无线手柄遥控器资料\PS2-Arduino-lib\PS2X_lib\PS2X_lib.h
文件 399 2015-03-12 08:49 PS2无线手柄遥控器资料\PS2-stm32例程\ps2与舵机\keilkilll.bat
文件 931 2015-05-06 23:18 PS2无线手柄遥控器资料\PS2-stm32例程\ps2与舵机\Libraries\KEY\key.c
文件 483 2015-05-06 23:18 PS2无线手柄遥控器资料\PS2-stm32例程\ps2与舵机\Libraries\KEY\key.h
文件 606 2017-07-05 17:38 PS2无线手柄遥控器资料\PS2-stm32例程\ps2与舵机\Libraries\LED\led.c
文件 479 2015-05-06 23:18 PS2无线手柄遥控器资料\PS2-stm32例程\ps2与舵机\Libraries\LED\led.h
文件 2805 2017-07-05 17:38 PS2无线手柄遥控器资料\PS2-stm32例程\ps2与舵机\Libraries\PS2\pstwo.c
文件 1752 2015-08-25 14:05 PS2无线手柄遥控器资料\PS2-stm32例程\ps2与舵机\Libraries\PS2\pstwo.h
文件 1557 2017-07-05 17:38 PS2无线手柄遥控器资料\PS2-stm32例程\ps2与舵机\Libraries\SERVO\servo.c
文件 612 2015-05-28 15:51 PS2无线手柄遥控器资料\PS2-stm32例程\ps2与舵机\Libraries\SERVO\servo.h
文件 298 2015-07-21 09:25 PS2无线手柄遥控器资料\PS2-stm32例程\ps2与舵机\README.TXT
文件 2038 2011-01-12 20:34 PS2无线手柄遥控器资料\PS2-stm32例程\ps2与舵机\SYSTEM\delay\delay.c
............此处省略202个文件信息
- 上一篇:冰点文库器v3.2.2纯净版.zip
- 下一篇:tina 使用教程
相关资源
- 基于STM32F4x9的LCD显示
- VS1053B编解码器的VDR分布式声音采集卡
- 群联PS2251量产工具
- stm32的DAC播放音乐文件
- STM32+TMC5160代码电路图.rar
- 基于STM32的深海钻机甲板控制系统
- stm32f103.SchDoc
- STM32F103 USART+DMA
- DMA+stm32 407.zip
- 4_USART串口通信(空闲中断+DMA.zip
- stm32f105-usart-DMA收发demo
- STM32F042F6P6 Uart12DMA;发送中断接收
- 基于STM32的嵌入式双目图像采集系统设
- 基于STM32F103C8单片机的晶联讯电子JL
- 基于STM32的温湿度检测系统实现
- stm32F4+w5300
- 14284969_《STM32单片机应用与全案例实践
-
ST-li
nk-V2的SWD仿真使用方法.docx - 安富莱STM32开发板资料
- STM32F103实现OV7670摄像头显示
- STM32F207学习板例程
- STM32F103VCT6TR - High-density performance lin
- STM32 SRAM启动的 KeiL 配置
- STM32的IAP-Bootloader程序
- STM32例程之Bootloader
- stm32f103 虚拟U盘,调试成功的
- 基于stm32F103vct6的SD卡FATFS文件系统移植
- STM32F030从机中断接收的iic代码,附带
- FreeModbus_Slave+STM32F407+USART2代码亲测可
- STM32+1602液晶proteus仿真.zip
评论
共有 条评论