📄 drv_hc595.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 + -