搜索
bottom↓
回复: 14

MCS-51 模拟器 之 ~ 有趣的波特率发生器

[复制链接]

出280入168汤圆

发表于 2021-3-20 22:45:06 | 显示全部楼层 |阅读模式
现在已经开始做 Timer2 和串口部分的模拟了,发现事情比较好玩:

在 51 上 TX 和 RX 的波特率居然可以不一样!

原计划在模拟器上指定一个物理硬件的串口来代替此模拟器中的串口,

让模拟器通过真的串口传送数据,这样的话可以节约很多 CPU 资源。

但其他机器上和 MCU 上的串口没有这种奇怪的模式,所以 ~

这个串口只能靠纯软件驱动 GPIO 来模拟了。

还有个方案是使用两个串口,各自使用 TX 和 RX 引脚来实现。

不过,最终我还是希望能尽量百分百模拟 51 的实际工作状态,

包括软件中的波特率设置,哪怕是不合适的设置,也尽量满足其物理上的真实状态。

出0入4汤圆

发表于 2021-3-21 09:13:58 | 显示全部楼层
这么好的帖子,一直没注意

出0入50汤圆

发表于 2021-3-21 11:15:10 | 显示全部楼层
一般的8052就是可以把UART的收发设置不同波特率的。

出280入168汤圆

 楼主| 发表于 2021-3-21 11:21:05 | 显示全部楼层
ilikemcu 发表于 2021-3-21 11:15
一般的8052就是可以把UART的收发设置不同波特率的。

以前不知道 51 家族 MCU 还可以这么干,其它的 MCU 就不行。

出280入168汤圆

 楼主| 发表于 2021-3-21 12:39:30 | 显示全部楼层
串口也快写完了,但老友喊打牌,三缺一 ~ 所以明天再接着写代码了

出0入0汤圆

发表于 2021-3-21 13:07:19 | 显示全部楼层
说到GPIO,楼主干脆从PC上引出或扩展出40个GPIO,把P0~P3口全模拟了,全功能仿真器,棒棒滴~

出280入168汤圆

 楼主| 发表于 2021-3-21 16:14:25 来自手机 | 显示全部楼层
EMOSYN 发表于 2021-3-21 13:07
说到GPIO,楼主干脆从PC上引出或扩展出40个GPIO,把P0~P3口全模拟了,全功能仿真器,棒棒滴~ ...

我马上要移植到stm32上,然后用以太网和PC联机

出0入0汤圆

发表于 2021-3-21 16:25:14 | 显示全部楼层
用STC没用过仿真器,仿真器不能占用串口资源,你占了我怎么用呢。我看你这个STM32做的好像不占用任何资源了。你这个仿真器电脑上用哪个软件仿真呢?还是KEIL么?

出280入168汤圆

 楼主| 发表于 2021-3-21 17:34:10 来自手机 | 显示全部楼层
bluerain 发表于 2021-3-21 16:25
用STC没用过仿真器,仿真器不能占用串口资源,你占了我怎么用呢。我看你这个STM32做的好像不占用任何资源了 ...

是的,模拟的51所有资源都是全的,所以应该实用性比较强。后面就是想办法提高运行速度,尽量贴近实际真机效果。

出280入168汤圆

 楼主| 发表于 2021-3-21 17:35:22 来自手机 | 显示全部楼层
bluerain 发表于 2021-3-21 16:25
用STC没用过仿真器,仿真器不能占用串口资源,你占了我怎么用呢。我看你这个STM32做的好像不占用任何资源了 ...

用户界面是独立的,不和商业软件搅和。

出0入25汤圆

发表于 2021-3-22 08:45:17 | 显示全部楼层
以前读书的时候,教科书说标准MSC-51,有个定时器是可以拆分成两个来用的。
当时芯片集成度低,真的把逻辑压榨到极致了。
没记错的话,当时的8031只有几千gate count。

出280入168汤圆

 楼主| 发表于 2021-3-22 09:14:07 | 显示全部楼层
hecat 发表于 2021-3-22 08:45
以前读书的时候,教科书说标准MSC-51,有个定时器是可以拆分成两个来用的。
当时芯片集成度低,真的把逻辑 ...

这是我极度佩服 Intel 的原因,虽然有兄弟埋怨 8051 啰嗦难用。

但在当年的工艺情况下,用同数量级的集体管做出了将对手远远抛离颈后的作品。

恐怕也是 X86 一直纵横 CPU 市场几十年的原因。

因现在的自动算力远超过了人脑,总算让 AMD 有机会追上来了。

年轻时有机缘接触过 8051,但用惯了 6502,对 51 架构望而生畏,就放弃了。

现在居然再次完全剖析它,再续前缘了

出0入0汤圆

发表于 2021-3-22 09:41:47 | 显示全部楼层
利害,我一起在玩51汇编。楼主玩的一直想做,但只停留在想阶段

出0入0汤圆

发表于 2021-3-23 10:19:00 | 显示全部楼层
我在想你做出来的仿真器,怎么在目标板上运行?现在是越来越少的人用DIP40了噢。

出280入168汤圆

 楼主| 发表于 2021-3-23 11:24:10 来自手机 | 显示全部楼层
如果测试跑起来速度没问题,我就做几个stm32的固件,大伙儿自己选合适的型号。调试软件不一定要指定封装呀,调试完了按真实的型号重新编译烧录就行了。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 22:02

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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