chunjiu 发表于 2021-3-20 22:45:06

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

现在已经开始做 Timer2 和串口部分的模拟了,发现事情比较好玩:

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

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

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

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

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

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

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

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

zhanyanqiang 发表于 2021-3-21 09:13:58

这么好的帖子,一直没注意

ilikemcu 发表于 2021-3-21 11:15:10

一般的8052就是可以把UART的收发设置不同波特率的。

chunjiu 发表于 2021-3-21 11:21:05

ilikemcu 发表于 2021-3-21 11:15
一般的8052就是可以把UART的收发设置不同波特率的。

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

chunjiu 发表于 2021-3-21 12:39:30

串口也快写完了,但老友喊打牌,三缺一 ~ 所以明天再接着写代码了 {:titter:}

EMOSYN 发表于 2021-3-21 13:07:19

说到GPIO,楼主干脆从PC上引出或扩展出40个GPIO,把P0~P3口全模拟了,全功能仿真器,棒棒滴~

chunjiu 发表于 2021-3-21 16:14:25

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

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

bluerain 发表于 2021-3-21 16:25:14

用STC没用过仿真器,仿真器不能占用串口资源,你占了我怎么用呢。我看你这个STM32做的好像不占用任何资源了。你这个仿真器电脑上用哪个软件仿真呢?还是KEIL么?

chunjiu 发表于 2021-3-21 17:34:10

bluerain 发表于 2021-3-21 16:25
用STC没用过仿真器,仿真器不能占用串口资源,你占了我怎么用呢。我看你这个STM32做的好像不占用任何资源了 ...

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

chunjiu 发表于 2021-3-21 17:35:22

bluerain 发表于 2021-3-21 16:25
用STC没用过仿真器,仿真器不能占用串口资源,你占了我怎么用呢。我看你这个STM32做的好像不占用任何资源了 ...

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

hecat 发表于 2021-3-22 08:45:17

以前读书的时候,教科书说标准MSC-51,有个定时器是可以拆分成两个来用的。
当时芯片集成度低,真的把逻辑压榨到极致了。
没记错的话,当时的8031只有几千gate count。

chunjiu 发表于 2021-3-22 09:14:07

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

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

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

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

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

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

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

woshigeshuai 发表于 2021-3-22 09:41:47

利害,我一起在玩51汇编。楼主玩的一直想做,但只停留在想阶段

bluerain 发表于 2021-3-23 10:19:00

我在想你做出来的仿真器,怎么在目标板上运行?现在是越来越少的人用DIP40了噢。

chunjiu 发表于 2021-3-23 11:24:10

如果测试跑起来速度没问题,我就做几个stm32的固件,大伙儿自己选合适的型号。调试软件不一定要指定封装呀,调试完了按真实的型号重新编译烧录就行了。
页: [1]
查看完整版本: MCS-51 模拟器 之 ~ 有趣的波特率发生器