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

\
我们在进行数据转换的时候经常会用到74LS164,74LS165,在单片机课程和数字电子基础里都可以看到,这两个芯片是思绪上要形成互补的思想,一个是串入并出,另外一个是并入串出!
一下两个例题用到的是单片机的串行线,TXD(发送 标志是TI)和RXD(接收 标志是RI
串行数据转换为并行数据(74ls164串入并出)
/*    名称:串行数据转换为并行数据
    说明:串行数据由RXD王筱鹏发送给串并转换芯片74164TXD则用于输出移位时钟脉冲,74164将串行输入的1字节转换为并行数据,并将转换的数据通过8LED久期缺口显示出来。本例串口工作模式0,即移位寄存器I/O模式。TXD发送
*/
#include<reg51.h>
#include<intrins.h>
#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是移位寄存器输入输出方式。
2. _crol_()在#include<intrins.h>里,是左移函数。
3. 把这数每一位放在C里,TXD进行发送,也就是产生移位脉冲。
4. 每来一次下降沿,数据就发送一次!
郑州都市村庄  并行数据转换为串行数据(并入串出 74ls165
/
*    名称:并行数据转换为串行数据
    说明:切换连接到并串转换芯片74LS165的拨码开关,该芯片将并行数据以串行方式发送到8051RXD引脚,移位脉冲由TXD提供,显示在P0口。RXD接收
*/
#include<reg51.h>
#include<intrins.h>
#include<stdio.h>
杨淑荣#define uchar unsigned char
#define uint unsigned int
sbit SPL=P2^5;        //shift/load
//延时
void DelayMS(uint ms)
{
怪诞家族
    uchar i;
    while(ms--) for(i=0;i<120;i++);
}
//主程序
void main()
{
    SCON=0x10;        //串口模式0,允许串口接收
    while(1)
    {
        SPL=0;        //置数(load),读入并行输入口的8位数据
        SPL=1;        //移位(shift),并口输入被封锁,串行转换开始
        while(RI==0);    //未接收1字节时等待
        RI=0;              //RI软件置位
        P0=SBUF;        //接收到的数据显示在P0口,显示拨码开关的值
        DelayMS(20);
    }
}       
74LS164的工作原理大致相同,这个这是接收,用LED来显示八个开关的状态。很简单的。
注意这个就可以
SPL=0;        //置数(load),读入并行输入口的8位数据
SPL=1;        //移位(shift),并口输入被封锁,串行转换开始
好了,程序很简单!只是起到启发作用!
参考资料:
《单片机C语言程序设计实训100基于8051+Proteus仿真.doc

本文发布于:2024-09-22 01:38:34,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/587935.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   转换   串行   并行
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议