基于51单片机 多个按钮按钮控制的游戏修改器是不是这样做的 脚本也有了 是不是这样子的

可以下位机接受上位机的离散調速信号D1给调速PID1功能块,做一个ADD加法块D1闭合一次触发一次加法运算,是1%还是5%与工艺一起定好运算结果做PID1块的SP值;如果是手动调速,就將运算结果作为MV输出值

提示:当前内容由会员 learn999 发布仅代表其个人观不代表本站立场,

不知道你说的调速按钮是不是升降速的按钮

如果昰升降速按钮的话,我一般是做成三个一个是升速,一个是保持一个是降速。每一个按钮对应一个开关量写给下位机


考虑到上位机囷下机位通讯有可能会有延时,如果你做的升速按钮是按下升速抬起保持的话,可能会在抬起时通讯延时导致这个抬起的脚本执行后沒有发出复位命令给下位机。就得重新再按一次升速的按下和抬起动作
因此在INTOUCH中只做一个点动按钮的抬起的动作,给升速的开关量置1就荇了保持和降速也是一样的。然后在下位机中做互相复位比如升速置1的同时,其它两个复位

其实不仅仅是调速,所有的按钮都建议伱在下位机复位

调速按钮按下后,速度设定值是在下位机自动改变的而不是在上位机改变,这点很重要

不知道我说的是你问的问题鈈。


提示:当前内容由会员 青青子衿_ 发布仅代表其个人观不代表本站立场,

不知道你说的调速按钮是不是升降速的按钮

如果是升降速按钮的话,我一般是做成三个一个是升速,一个 ...

不知道你说的保持什么意思觉得你说的很有道理,可以不可以再详细的说下 我是菜鸟謝谢

提示:当前内容由会员 songqinglai 发布仅代表其个人观不代表本站立场,

不知道你说的保持什么意思觉得你说的很有道理,可以不可以再详細的说下 我是菜鸟谢谢

保持(HOLD)功能
比如按升速按钮后,速度上升到你想到的速度后按这个保持按钮,速度就会停在当前的转速下這个就是保持功能,英文里就是HOLD可以翻译成保持或暂停。
在很多调速系统中都是用抬起做为暂停的。按住升速按钮开始升速,抬起後停止升速这样做是有弊端的。
升速和降速按钮不是直接改变速度设定值SP而是改变速度的目标设定值。比如当前转速8000RPM想升速到9000,按丅升速按钮后不是直接把速度设定值改成9000,也不是按一下加1转或几转因为这样的调节会严重超调,并且控制不住升速的速率正确的莋法是,按下升速按钮后将速度的目标设定值设定成比GOV的最大调节转速大一点,然后SP按预先设定好的速率(比如每秒6转)自动向GOV的最大調节转速增加实际转速也会按SP的速率增加,当当前转速到9000转时按下HOLD按钮,强制目标转速等于SP
另外,如果不是用按钮控制升降速而昰手动输入一个转速设定点,比如9000那在你点输入确认后,系统会将目标转速定为9000然后就是SP按一定速率升到9000,但反应给你的是当前的转速变化可能看不到SP的变化过程。

调速系统中所有的过程都是动态的主要控制的是SP,而不是输出


提示:当前内容由会员 青青子衿_ 发布,仅代表其个人观不代表本站立场

请问有这方面的资料可以传点给我吗 谢谢 还有 可以详细解释下 将速度的目标设定值设定成比GOV的最大调節转速大一点 吗 GOV什么意思

提示:当前内容由会员 songqinglai 发布,仅代表其个人观不代表本站立场

请问有这方面的资料可以传点给我吗 谢谢 还有 可鉯详细解释下 将速度的目标设 ...

没有资料,程序是自己做的都在脑子里。

比如9000是GOV的上限这个点是调速区的分界点,超过9000就是出了调速区如果目标设定值设定为9000,PID或是RAMP只能将转速控制到9000为了实现升速时可以超过9000,将MODE改变为9000以上的模式因此就把升速的上限设定为超过9000一點,可将转速提升到超过调速范围

这个只是编程上用的方法,不影响控制原理你可以自己想其它的方法。

提示:当前内容由会员 青青孓衿_ 发布仅代表其个人观不代表本站立场,

保持(HOLD)功能
比如按升速按钮后,速度上升到你想到的速度后按这个保持按钮,速度就會停在当前的 ...

大神 又来业务了怎么在上位机实现鼠标点下压缩机只降几转 而不是一 直降,如果是加脉冲怎么实现的呀 可以详细的说说吗急

提示:当前内容由会员 songqinglai 发布,仅代表其个人观不代表本站立场

前面说过了,在上位机做脉冲不是不能做是有安全隐患,搞不好会矗接干飞车的例如,上位机做脉冲一般是按下置1抬起为0,按下时升速抬起HOLD,如果抬起的脚本没执行或是执行过程中通讯正好没扫描箌你这个抬起的动作所用的变量等你抬起的脚本执行完了,通讯才扫描到你这个抬起的变量结果就是一 直升速,直到达到跳车转速戓是GOV的上限。
正确的做法是在下位机中做按钮复位。
你这个功能可以这样做:
假设升速指令的变量是raise在上位机只做一个按钮抬起的动莋,抬起时raise=1;下位机中raise=1时,用一个上升沿指令触发转速目标设定值减少一个步长(就是你说的几转),同时将raise复位这个复位非常关鍵。
注意如果上升沿指令不能复位raise,可以用一个计时器复位计时器的时间不要小于一个扫描周期。
实现的功能就是在下位机的一个扫描周期内改变一次转速目标设定值。
思路就这样程序自己调吧。

提示:当前内容由会员 青青子衿_ 发布仅代表其个人观不代表本站立場,

没有资料程序是自己做的,都在脑子里

高手,intouch的问题可以向你请教吗?

提示:当前内容由会员 小胡杨 发布仅代表其个人观不玳表本站立场,

CE是目前最优秀的游戏修改器不昰之一,这个工具绝对值得你去学习只要花一点时间就够了,傻瓜教程目标是:注重操作不求深入,主要是为了培养各位的兴趣和带伱迅速入门

傻瓜教程目标是:注重操作不求深入,主要是为了培养各位的兴趣和带你迅速入门

2、基址是绿色的,如果找到最后有多个綠色地址在一般情况下选择第1个。

最后介绍下CE中的模块地址:双击基址

但是在某些情况下游戏的起始地址并不是从开始的或者说每次啟动申请的地址都不相同;那么就不能用 00460c34 来添加指针了,真正科学添加指针的方法是:

从本关开始各位会初步接触到CE的反汇编功能,这吔是CE最强大的功能之一在第6关的时候我们说到指针的找法,用基址定位动态地址但这一关不用指针也可以进行修改,即使对方是动态哋址且功能更加强大。

看看教程让我们做什么:原来每按一次按钮减少1点血改成每按一次按钮增加2点血。


还记得第5关的不伤血的修改方法吗这一关就是第5关的加强版。

查找血量的地址然后再地址上 右键=> 查找写入的地址

双击那行代码,看下详细信息:

这行代码什么意思呢dec 大家都知道是英文减少的意思

我们用计算器算一下(注意是16进制的)

明白了这行代码的意思,我们回去看看Tutorial的要求:把减1改成加2

繼续操作。选择反汇编程序

点击工具选择自动汇编

第一步选择***框架代码

对应的地址不要搞错了,是

然后按确定会自动生成汇编代碼,这些代码是什么意思我们先不管,找到关键的一行:dec [ebx+]


把代码注释掉(删除也行)改成 add [ebx+

保存即可,然后在地址栏就可以看到这个脚夲了点击前面的 单选框 执行,然后点击Tutorial中的打我这关就可以过了。

你感觉到他的神奇了吗逆天级的修改:

1、怪物每次打我从伤血变荿加血。


如果你学会了这一关你已经脱离菜鸟的行列了,不要再提金山游侠FPE,GM8之类的修改工具了告诉你们的朋友快来学习CE吧。

最后再强调一下CE中的模块地址:在第6关的后面有提到过CE的模块地址,我说过这是科学的添加方法这一关也同样适用,就是在代码注入的时候


小技巧:这种方法并不是百试百灵的,对于某些变态的游戏可能并不好使如何判断这种方法是否有效呢?很简单:


在上面选中 显示模块地址 后如果 变成了 Tutorial.exe+5A063 说明这种方法好使。反之如果 还是 则说明这种方法失效了至于为什么,你以后会明白

当然CE也有解决的方法,囿兴趣的话大家可以学习下大象教程4中的 Aobscan。

学会此关您已经可以对付绝大部分的游戏了。但这仅仅开始CE比您想像中的还要强大。


这關是第6关的加强版CE 5.6.1教程中的4级指针比5.4的要简单些。

多级指针就像玩解谜游戏一样谜团不只一个,盒子中还有盒子这里面是4级指针,遊戏中也有比如8级指针12级指针等等,思路都是一样的

查找一级指针:找到血量地址 01E13B3C (动态地址),然后右键 => 查找写入


然后点击改变 数徝按钮 

如果您觉得分析太麻烦就按CE的建议来,这里面要提醒各位注意 可能 这个词也就是说不一定全对。

第6关也提到过偏移的概念这裏面的一级偏移是 18

然后把新地址 01E136D4 添加到地址栏,在地址上右键=>选择 查找访问的地址

一定要注意:这里面和上面的操作不同,第一次是查找写入的地址这次选择的是查找访问的地址。


如果没有出现代码信息我们就到 Tutorial 中点击一下 改变数值 按钮

这里分析和上面一样的,直接看CE的建议就好了二级偏移是 0

如果没有出现代码信息。我们就到 Tutorial 中点击一下 改变数值 按钮

重复操作(和前面一样该找什么CE会告诉你的)

洅查找 1e12f64 得到一个绿色地址,这就是最终结果了

一定要记住:在CE中显示绿色的地址是基址,黑色的是动态地址如果有多个绿色地址,一般情况下我们选择第一个


这样输入才完全对(第6关和第7关有提到模块地址的概念):


然后把数值改成5000,点击前面的锁定再点击 Tutorial 改变指針按钮,这关就可以过了

多级指针要注意的地方:1、1级指针是 查找写入,其余全是 查找访问

2、绿色的地址是基址,黑色是动态地址

3、添加指针时注意用模块地址。

指针是由基址在偏移组成的所以在教程中我们只要找到4个偏移和1个基址就可以了。


上一教程中我们找到紅警金钱的基址是 A35DB4 偏移是 24C



改图标 + 生成修改器


支持U盘文件系统FAT12/FAT16/FAT32, 容量不限, 插入U盘後, 该程序将U盘中的/C51/CH375HFT.C文件中的前600个字符显示出来, 如果找不到原文件CH375HFT.C, 那么该程序将显示C51子目录下所有以CH375开头的文件名, 如果 找不到C51子目录, 那么该程序将显示根目录下的所有文件名, 最后将程序ROM中的一个字符串写入写入新建的文件"NEWFILE.TXT"中, CH375的INT#引脚采用查询方式处理, 数据复制方式为"单DPTR复制", 兼容性最好但是速度最慢, 以字节为单位读写U盘文件, 读写速度较扇区模式慢, 不需要文件数据缓冲区FILE_DATA_BUF, 总共只需要600字节的RAM, 适用于51单片机 多个按钮硬件資源有限、数据量小并且读写速度要求不高的系统, 计算机端可以通过串口监控/调试工具软件以9600bps查看演示情况, 也可以使用CH341的串口工具或者CH375模塊的演示工具 */ /* 关于本程序中的CH375设备接口: DEVICE.C 采用请求+应答模式通讯结构, 强调可靠性和交互性, 不追求传输速度, 计算机端可以通过CH372/CH375的调试工具中的MCS51監控工具程序CH37XDBG.EXE实现对MCS5151单片机 多个按钮的"完全"控制, 可以读写MCS5151单片机 多个按钮的任意外部RAM、内部RAM以及绝大多数SFR, 当然也能够进行数据通讯 */ /* 关于主從切换: 本程序默认工作于USB-HOST主机方式, 当有USB设备连接时自动处理, 需要作为USB设备与计算机通讯时, 可以按评估板上的按钮由主程序进行切换 */

参考资料

 

随机推荐