74HC164驱动(2线串行通信)

 

/*****************************************************************************
FileName : hc164.c
Function : 74HC164驱动程序---驱动74HC164,2入8出
Author   : mike
Email    : hxtiou@163.com	
Version  : V1.0
Date     : 2019-07-12
Note     : 本程序曾用于生产产品
*****************************************************************************/
#define u8                  unsigned char  
#define BIT(n)	            (1 << n)

#define HC164_INIT()	     //初始化,设为输出

#define HC164_DAT_HIGH()     P2 |= BIT(0)
#define HC164_DAT_LOW()	     P2 &= ~BIT(0)	
#define HC164_CLK_HIGH()     P2 |= BIT(1)
#define HC164_CLK_LOW()      P2 &= ~BIT(1)

void send_74hc164_data(u8 dat)  
{   
	u8 i;    
	for(i = 0;i < 8;i++)     
	{         
		if(dat&0x80)  
		{
			HC164_DAT_HIGH(); 			
		}			
		else  
		{
			HC164_DAT_LOW();       			
		}			
		dat <<= 1;           
		HC164_CLK_LOW();  			
		//_nop_();_nop_(); //稍做延时
		HC164_CLK_HIGH();     
		//_nop_();_nop_(); //稍做延时
	}    
	HC164_CLK_LOW(); 
	HC164_DAT_LOW();  
} 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值