串入并出(74LS164)和并入串出(74LS165)

别妄想泡我
750次浏览
2021年02月11日 04:14
最佳经验
本文由作者推荐

-

2021年2月11日发(作者:花扣)



我们在进行数据转换的时候经常会用到


74L S164,74LS165



在单片机


课程和数字电子基础里都可以看到,


这两个芯片是思绪上要形成互补

的思想,一个是串入并出,另外一个是并入串出!



一下两 个例题用到的是单片机的串行线,


TXD


(发送



标志是


TI


)和

< p>
RXD


(接收



标志是


RI





串行数据转换为并行数据(


74ls 164


串入并出)





/*


名称:串行数据转换为并行数据



< /p>


说明:串行数据由


RXD


发送给串并转换 芯片


74164



TXD


则用


于输出移位时钟脉冲,


74164


将串行输入的


1


字节转换为并行数据,


并将转换的数据通过


8



L ED


显示出来。本例串口工作模式


0


, 即


移位寄存器


I/O


模式。

< p>
TXD


发送



*/


#include


#include


#define uchar unsigned char


#define uint unsigned int


//


延时



void DelayMS(uint ms)


{



uchar i;



while(ms--) for(i=0;i<120;i++);


}


//


主程序



void main()


{



uchar c=0x80;



SCON=0x00;



//


串口模式


0


,即移位寄存器输入


/


输出方式




TI=1;



while(1)



{




c=_crol_(c,1);




SBUF=c;




while(TI==0);



//


等待发送结束





TI=0;







//TI


软件置位





DelayMS(400);



}


}








实验结果:



1.


我们要送的数是


0x80


,串行方式


0


是移位寄存器输入输出方式。< /p>



2. _crol_


()在

< p>
#include


里,是左移函数。



3.


把这数每一位放在


C


里,


TXD


进行发送,也就是产生移 位脉冲。


-


-


-


-


-


-


-


-