常州工控-国光 发表于 2026-3-8 12:52:22

,没库的源码,其他都改不了!!

常州工控-国光 发表于 2026-3-8 13:01:14

怎么在51黑也看见了同样的帖子?

青穗三三 发表于 2026-3-8 16:19:03

常州工控-国光 发表于 2026-3-8 12:51
,没库的源码,其他都改不了!!

想改啥

青穗三三 发表于 2026-3-8 16:19:52

常州工控-国光 发表于 2026-3-8 13:01
怎么在51黑也看见了同样的帖子?

推广呗,我在B站和抖音也推

常州工控-国光 发表于 2026-3-8 20:32:01

青穗三三 发表于 2026-3-8 16:19
想改啥

①、通过拨码开关选站号!
②、寄存器数据断电保存!

青穗三三 发表于 2026-3-8 21:08:09

常州工控-国光 发表于 2026-3-8 20:32
①、通过拨码开关选站号!
②、寄存器数据断电保存!

1、通过拔码开关选站号这个功能,原理是通过多个输入X设置本地站号,然后进行手动保存。这个需要我开放设置本地站号的功能。这个我正在仿真上开发。
2、断电保存这个功能,需要有保存数据、掉电检测功能,这个我目前在仿真上试过保存到MCU上面的FLASH,行不通。如果在仿真上实现的话,需要外挂存储芯片,会占用IO口,另外掉电检测的话,也不好做到和现实一样,所以还是需要在PCB上落地这个功能。如果在PCB上落地,保存到MCU就行,掉电检测功能也容易实现。所以综合考虑这个断电保存这个功能,还是得落地PCB定制才行。当然,我可以在仿真上先用外挂方式实现,让大家都体验到这个功能{:ciya:}

tianxu0829 发表于 2026-3-9 10:36:52

不太理解高速输入,最大只能255,超过255溢出了怎么办?

青穗三三 发表于 2026-3-9 11:48:40

tianxu0829 发表于 2026-3-9 10:36
不太理解高速输入,最大只能255,超过255溢出了怎么办?
1、问题原因:8位MCU受限
2、解决方法:可在循环中监测溢出标志:MX0_OUT,再给数据寄存器赋值,做成倍数好处理,比如
IF (MX0_OUT)
{
    MX0_OUT = 0;
    D0=D0+DX0_MAX;
    IF (D0>=1000)
    {
      ……
    }
}
页: 1 2 3 [4]
查看完整版本: 用 51 做了个 PLC:X、Y、高速计数输入、高速输出、Modbus等直接用,超低学习成本