单片机串口工作方式0,有什么问题?

我用的是STC89C516,我现在在实验串口工作方式0,外接了四个74HC164,静态驱动数码管的,但是总是显示乱码,而且乱码是没有规律的,同样是显示1234,乱码每次和每次几乎都不一样,为什么?是不是STC没有串串口0模式?我们老师说,串口0模式不实用,很多单片机都去掉了。

  在单片机串口工作方式0下,串行口作为同步移位寄存器使用,这时以
RXD(P3.0)端作为数据移位的入口和出口,而由TXD(P3.1)端提供移位时钟脉冲。这种方式主要用于扩展I/O接口。移位数据的发送和接收以8位为一组,低位在前高位在后。其格式为:

       


温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-25
STC89C516是有串口0模式的,所以乱码,有两个原因:
1 串口0模式是低位在先发送的,所以,你的数码管段码不能用普通的码,需要改一下
2 74HC164没有锁存功能,你要加个74HC373来锁存。
另外补充一下,你用74164验证串口0,是没有意义的,因为串口资源本来就少,你还用来转并口,没有实际的意义,真正的扩展,都是用SPI的74159本回答被提问者采纳
第2个回答  推荐于2018-02-13
STC系列单片机的串口0模式肯定是有的。显示乱码与硬件或程序有关。本回答被网友采纳
第3个回答  2013-06-10
每次输出数据之前 禁止显示器显示
数据输出完毕后 再开显示
例如:控制LM317
相似回答