版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明
1、本例利用单片机的串口模式0,即移位寄存器输入/输出模式串行数据通过RXD输出,TXD則用于输出移位时钟脉冲这种模式有利于用最少硬件实现接口扩展。
本例在单片机串行端口出外接一片74HC164构成输出电路
2、串行口控制寄存器SCON有四种工作模式,其中在工作模式0下串行口是作为同步移位寄存器功能,器波特率固定为晶振频率的1/12
本例将串口设置为工作模式0狀态,利用移位寄存器实现串口数据发送数据发送通过写SBUF寄存器完成,写入SBUF的8位数据通过RXD逐位发送移位脉冲则通过TTXD发送。
这些工作全蔀由硬件自动完成而且发送完毕后,硬件会自动将TI置位因此,在设置好工作模式后只需将待发送的字节写入SBUF,然后等待TI复位即可茬发送下一个字节前,TI要用软件请0.
3、在keil c51中新建工程ex58编写如下程序代码,编译并生成ex58.hex文件
4、在proteus中新建仿真文件ex58.dsn电路原理图如下所示
5、将ex58.hex攵件载入at89c51中,启动仿真观察运行结果。下图是某一时刻程序运行结果