1.将串行口作为并行输入口使用
串行口在方式0下,通过外接一个“并入串出”的8位移位寄存器(74LS165或CD4014),可以作为并行输入口使用。例如,通过外接CD4014将8路开关状态从串口读入单片机的20H存储单元,要求控制开关Kc断开(Kc=1)时,8051处于等待状态;Kc闭合(Kc=0)时,8051开始输入。其电路如图6-8所示。
CD4014是一个8位串入/并入-串出移位寄存器,CP为同步移位脉冲输入端,P1~P8为并行输入端,Q8为串行输出端。P/S为控制端,控制规则如下:
若P/S=0,则CD4014为串行输入(该输入端图中未画出);
图6-8 将串行口作为并行输入口使用
若P/S=1,则CD4014为并行输入。开关Kc用于提供控制信号,当Kc闭合时,表示要求单片机读入开关量。
只要在程序中对P1.1引脚进行查询,发现P1.1=0(即开关Kc闭合),便通过P1.0使CD4014的P/S=1,然后再启动单片机串口方式0接收过程,即可将CD4014并行输入的开关状态通过串口输入到单片机中。
应用程序:
2.将串行口作为并行输出口使用
在串行工作方式0下,串行口通过外接一个“串入并出”的8位移位寄存器74LS164(或CD4094),可以作为并行输出口使用。(www.xing528.com)
例如,使用CD4094的并行输出端接8支发光二极管(LED),利用它的串入并出功能,把LED从左向右依此点亮,并反复循环之。假设LED为共阴极型。
硬件电路:
串行口与LED的连接电路如图6-9所示。
图6-9 串行口与LED的连接电路
在图6-9中,8051单片机串行口工作于方式0。CD4094是一种8位串行输入、并行输出的同步移位寄存器,CLK为同步脉冲输入端。STB为控制端,控制规则如下:
若STB=0,则8位并行数据输出端关闭,但串行数据从DATA输入;若STB=1,则DATA输入端关闭,8位数据并行输出。
应用程序:
当串行口把8位状态码串行移位输出后,TI置1,如把TI作状态查询标志,则可使用查询法进行程序设计。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。