资源简介
这个为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 使用教程
相关资源
- STM32F103RC+ADC+DMA多通道采样LCD显示
- I2C读写AT24C02 基于STM32F103 cube116540
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- STM32基于rt_thread操作系统的SDHC卡文件
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- [免费]msp430f149控制PS2键盘并用1602显示
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32定时器使用入门。看了这个程序会
- SIM908 SDIO FSMC STM32 FIFO
- STM32F103 CC2500完整驱动(模拟SPI)
- AD7606采集程序
- stm32 用SPI 方式读写 SDHC
- stm32通过DMA方式采集ADC数据
- 意法半导体STM全系列微控制器STM32ST
评论
共有 条评论