单片机IO驱动74LS164的C51程序
时间:11-30 16:31 阅读:1251次
*温馨提示:点击图片可以放大观看高清大图
简介:本文向大家介绍一个单片机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);
}