⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drv_hc595.c

📁 该模板使用于周立功公司研发的EasyARM2100系列开发板
💻 C
字号:
/******************************************************************************
  Copyright (C), 2007-2008, wanyi Tech. Co., Ltd.
  FileName		:drv_74hc595.c
  Author		:kevin 
  modify		:       
  Version 		:1.0          
  Date			:2007-6-28
  Description	:auto design for driver 74hc595 function       
  Function List	:
******************************************************************************/
#include "\inc\system.h"






/******************************************************************************
  Function:       // void test_hc595_pin(void)
  Description:    // for test 74hc595 pin
  Calls:          // none
  Called By:      // init ()
  Table Accessed: // none
  Table Updated:  // none
  Input:          // void
  Output:         // none
  Return:         // void
  Others:         // none
******************************************************************************/
void test_hc595_pin(void)
{
	while(1)
	{
//		set_hc595_ser1;
//		delay(DELAY_10MS);
//		clr_hc595_ser1;
//		delay(DELAY_10MS);

//		set_hc595_ser2;
//		delay(DELAY_10MS);
//		clr_hc595_ser2;
//		delay(DELAY_10MS);
		
//		set_hc595_sck;
//		delay(DELAY_10MS);
//		clr_hc595_sck;
//		delay(DELAY_10MS);
		
		set_hc595_rck;
		delay(DELAY_10MS);
		clr_hc595_rck;
		delay(DELAY_10MS);
	}	
}
//=============================================================================



/******************************************************************************
  Function:       // void init_74hc595(void)
  Description:    // for init 74hc595
  Calls:          // none
  Called By:      // none
  Table Accessed: // none
  Table Updated:  // none
  Input:          // void
  Output:         // none
  Return:         // void
  Others:         // none
******************************************************************************/
void init_hc595(void)
{
		clr_hc595_sck;										//sck-0
		clr_hc595_rck;										//rck-0
}
//=============================================================================



/******************************************************************************
  Function:       //void  hc595_senddata(unsigned int send_data)
  Description:    // for 74hc595 send data
  Calls:          // none
  Called By:      // none
  Table Accessed: // none
  Table Updated:  // none
  Input:          // void
  Output:         // none
  Return:         // void
  Others:         // none
******************************************************************************/
void  hc595_senddata(unsigned int send_data)
{  
	unsigned char tmp1=0,tmp2=0;
	unsigned char i=0;
	
	tmp1=send_data;
	tmp2=send_data>>8;
	
	for(i=0; i<8; i++)												//send 8 bit data
	{  
		if((tmp1&0x80)!=0 ) 
		{
			set_hc595_ser1;											//ser1-1
		}
		else 
		{
			clr_hc595_ser1;											//ser1-0
		}
		if((tmp2&0x80)!=0 ) 
		{
			set_hc595_ser2;											//ser2-1
		}
		else 
		{
			clr_hc595_ser2;											//ser2-0
		}
		delay(DELAY_1MS);
		set_hc595_sck;												//sck-1							上升沿移位
		delay(DELAY_1MS);
		clr_hc595_sck;												//sck-0
		delay(DELAY_1MS);
		
		tmp1 <<= 1;
		tmp2 <<= 1;
	}
	set_hc595_rck;													//rck-1							上升沿数据送出
	delay(DELAY_1MS);
	clr_hc595_rck;													//rck-0
	delay(DELAY_1MS);
}
//=============================================================================



/******************************************************************************
  Function:       // void test_hc595(void)
  Description:    // for test 74hc595
  Calls:          // none
  Called By:      // none
  Table Accessed: // none
  Table Updated:  // none
  Input:          // void
  Output:         // none
  Return:         // void
  Others:         // none
******************************************************************************/
void test_hc595(void)
{
	unsigned short i=0;
	
	init_hc595();
	
	for(i=0;i<0xffff;i++)
	{
		hc595_senddata(i);
	}
}
//=============================================================================

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -