单片机IO驱动74LS164的C51程序
          
            时间:11-30 16:31 阅读:1399次
*温馨提示:点击图片可以放大观看高清大图
                
         
        
		  
               简介:本文向大家介绍一个单片机IO驱动74LS164的C51程序。
               
                        
          
            //-------------------------------------库函数声明,管脚定义--------------
#include <reg52.h> 
sbit simuseri_CLK=P1^6;           //用P1^6模拟串口时钟 
sbit simuseri_DATA=P1^5;          //用P1^5模拟串口数据 
sbit drive74164_CLR=P1^7;            //用P1^7控制CLR 
sbit a0=ACC^0; 
//-----------------------------------------------------------------------
//  函数名称:out_simuseri  
//  输入参数:data_buf 
//  输出参数:无 
//  功能说明:8位同步移位寄存器,将data_buf的数据逐位输出到simuseri_DATA  
//-----------------------------------------------------------------------
void out_simuseri(char data_buf) 
 {     
    char i; 
    i=8; 
    ACC=data_buf; 
    do 
       {   
       simuseri_CLK=0; 
       simuseri_DATA=a0; 
       simuseri_CLK=1; 
       ACC=ACC>>1; 
        } 
while(--i!=0); 
    simuseri_CLK=0; 
} 
//-----------------------------------------------------------------------
//  函数名称:PA_out  
//  输入参数:Pseri_out,需要输出的8位数据 
//  输出参数:无 
//  功能说明:将Pseri_out中的数据送到74165并行口A-G输出 
//---------------------------------------------------------------------- 
void  PA_out (char Pseri_out )  
{ 
drive74165_CLR =0;     //并口输出清零 
drive74165_CLR =1;     //开始串行移位 
out_simuseri(Pseri_out); 
}