您的位置:首页技术文栏单片机C51
内容搜索:
阅读内容
背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  

IO驱动74LS165

[日期:2008-06-27 ] [来源:东哥单片机学习网 www.picavr.com 整理 作者:佚名] [字体: (投递新闻)

单片机接口技术实用子程序》配套源代码

//-------------------------------------库函数声明,管脚定义--------------#i nclude <reg52.h>
sbit a7=ACC^7;
sbit simuseri_CLK=P1^6;      //用P1^6模拟串口时钟
sbit simuseri_DATA=P1^5;          //用P1^5模拟串口数据
//----------------------------------------------------------------------//  函数名称: in_simuseri
//  输入参数:无
//  输出参数:data_buf
//  功能说明:8位同步移位寄存器,将simuseri_DATA串行输入的数据按从低位到高位
//            保存到data_buf
//-----------------------------------------------------------------------
char in_simuseri(void)
 { 
 char i;
 char data_buf;
 i=8;
 do
    { 
    ACC=ACC>>1;
    for(;simuseri_CLK==0;) ;
    a7=simuseri_DATA;
    for(;simuseri_CLK==1;) ;
     }
while(--i!=0);
 simuseri_CLK=0;
 data_buf=ACC;
 return(data_buf); 
}
//-------------------------------------库函数声明,管脚定义--------------//sbit drive74165_LD=P1^7;    
 //用P1^7控制SH/LD管脚

//----------------------------------------------------------------------// 函数名称:PAs
//  输入参数:无
//  输出参数:PAs_buf,返回并行输入74LS165的数据
//  功能说明:直接调用,即可读取并行输入74LS165的数据,不需要考虑74LS165的
//  工作原理
//-----------------------------------------------------------------------


char PAs(void)
 {
char  PAs_buf;
drive74165_LD =0;     并行置入数据
drive74165_LD =1;     开始串行移位
PAs_buf= in_simuseri();
Return(PAs_buf);

阅读:
录入:JETTA

推荐 】 【 打印
本文评论
      全部评论
发表评论


点评: 字数
姓名:
站长推荐