1、先讲解74LS164 移位芯片:
74HC164、74HCT164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。
数据通过两个输入端(DSA 或 DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。
时钟 (CP) 每次由低变高时,数据右移一位,输入到 Q0, Q0 是两个数据输入端(DSA和 DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。
主复位 (MR) 输入端上的一个低电平将使其它所有输入端都无效,非同步地清除寄存器,强制所有的输出为低电平。
2、
![](https://images2015.cnblogs.com/blog/810504/201512/810504-20151227105012874-1874361458.png)
3、 仿真电路图(实验效果,由下往上 一个 LED 循环点亮 )
![](https://images2015.cnblogs.com/blog/810504/201512/810504-20151227152854984-507972040.png)
4、分析电路图
这里我们选择了工作方式0,来实现串行口数据的传输
74LS164 对应的8引脚 C1/-> 为 同步脉冲输入端,
9 引脚为控制端口,由 P1^0 控制,
当该引脚为 低电平 0 的时候 ,允许 RXD(P3.0)向 74LS164 的 串行数据输入端口A 和 B 输入,,但是 74LS164芯片 的8位并行输出端关闭。
当该引脚为 低电平 1 的时候 , RXD(P3.0)不准向 74LS164 的 串行数据输入端口A 和 B 输入,但 允许 74LS164芯片 的8位并行输出端。
当串行口将 8 位 串行数据发送完毕后,申请中断, 在中断服务程序中,单片机通过串行口输出下一个 8 位 数据。
//
方式0
(1)特点
1.用作串行口扩展,具有固定的波特率,为Fosf/12。
2.同步发送/接收ÿ