找回密码
 立即注册
楼主: 青穗三三

用 51 做了个 PLC:X、Y、高速计数输入、高速输出、Modbus等直接用,超低学习成本

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:397
  • 最近打卡:2026-03-23 20:10:03
已绑定手机

0

主题

15

回帖

356

积分

中级会员

积分
356
发表于 2026-3-8 12:52:22 | 显示全部楼层
,没库的源码,其他都改不了!!
QQ20260308-124929.png
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:397
  • 最近打卡:2026-03-23 20:10:03
已绑定手机

0

主题

15

回帖

356

积分

中级会员

积分
356
发表于 2026-3-8 13:01:14 | 显示全部楼层
怎么在51黑也看见了同样的帖子?
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:53
  • 最近打卡:2026-03-23 11:23:44

9

主题

81

回帖

955

积分

高级会员

积分
955
发表于 2026-3-8 16:19:03 | 显示全部楼层
常州工*** 发表于 2026-3-8 12:51
,没库的源码,其他都改不了!!

想改啥
微信qsssuv
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:53
  • 最近打卡:2026-03-23 11:23:44

9

主题

81

回帖

955

积分

高级会员

积分
955
发表于 2026-3-8 16:19:52 | 显示全部楼层
常州工*** 发表于 2026-3-8 13:01
怎么在51黑也看见了同样的帖子?

推广呗,我在B站和抖音也推
微信qsssuv
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:397
  • 最近打卡:2026-03-23 20:10:03
已绑定手机

0

主题

15

回帖

356

积分

中级会员

积分
356
发表于 2026-3-8 20:32:01 | 显示全部楼层

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

点评

仿真上面的MCU硬件受限,没办法用比较器做掉电检测,因此这个断电保存功能算是做不了,只能手动保存  发表于 2026-3-8 23:11
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:53
  • 最近打卡:2026-03-23 11:23:44

9

主题

81

回帖

955

积分

高级会员

积分
955
发表于 2026-3-8 21:08:09 | 显示全部楼层
常州工*** 发表于 2026-3-8 20:32
①、通过拨码开关选站号!
②、寄存器数据断电保存!

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

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:629
  • 最近打卡:2026-03-24 08:14:16

3

主题

54

回帖

1917

积分

金牌会员

积分
1917
发表于 2026-3-9 10:36:52 | 显示全部楼层
不太理解高速输入,最大只能255,超过255溢出了怎么办?
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:53
  • 最近打卡:2026-03-23 11:23:44

9

主题

81

回帖

955

积分

高级会员

积分
955
发表于 2026-3-9 11:48:40 | 显示全部楼层
tianx*** 发表于 2026-3-9 10:36
不太理解高速输入,最大只能255,超过255溢出了怎么办?

1、问题原因:8位MCU受限
2、解决方法:可在循环中监测溢出标志:MX0_OUT,再给数据寄存器赋值,做成倍数好处理,比如
  1. IF (MX0_OUT)
  2. {
  3.     MX0_OUT = 0;
  4.     D0=D0+DX0_MAX;
  5.     IF (D0>=1000)
  6.     {
  7.         ……
  8.     }
  9. }
复制代码
微信qsssuv
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-3-24 16:41 , Processed in 0.112409 second(s), 83 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表