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

📄 senddataled.c

📁 74HC595的c语言驱动程序
💻 C
字号:
#include	<pic.h>
#include	"radio.h"
#include	"delay.h"

//portd的0,1,2脚分别接3个74HC595的OE脚。
//CDisData是数据脚
//CDisClk是时钟脚
//CDisEn是锁定脚


void funcDataToLed(void)
{
	unsigned char i,LVLedNum,LVLedData;
	LVLedNum=VLedNumDis;
	
	switch(LVLedNum)		//disable the led selecting
	{
		case 0:
			funcBitSet(PORTD,1);
			funcBitSet(PORTD,2);
			funcBitSet(PORTD,0);				
			LVLedData=VLed1Data;
			break;
		case 1:
			funcBitSet(PORTD,0);
			funcBitSet(PORTD,2);
			funcBitSet(PORTD,1);				
			LVLedData=VLed2Data;
			break;		
		case 2:
			funcBitSet(PORTD,0);			
			funcBitSet(PORTD,1);
			funcBitSet(PORTD,2);
			LVLedData=VLed3Data;
			break;
		default:
			break;
	}
	funcBitClr(PORTD,CDisEn);
	funcBitClr(PORTD,CDisClk);
	for(i=0;i<8;i++)
	{
		if(LVLedData&0x01)
			funcBitSet(PORTD,CDisData);
		else
			funcBitClr(PORTD,CDisData);
		funcBitClr(PORTD,CDisClk);
		LVLedData>>=1;
		DelayUs(10);
		funcBitSet(PORTD,CDisClk);
		DelayUs(7);
			
	}		
	funcBitSet(PORTD,CDisEn);
	DelayUs(10);
	funcBitClr(PORTD,CDisClk);
	switch(LVLedNum)		//enable the led selecting
	{
		case 0:
			funcBitSet(PORTD,1);
			funcBitSet(PORTD,2);
			funcBitClr(PORTD,0);				
			break;
		case 1:
			funcBitSet(PORTD,0);
			funcBitSet(PORTD,2);
			funcBitClr(PORTD,1);				
			break;		
		case 2:
			funcBitSet(PORTD,0);
			funcBitSet(PORTD,1);
			funcBitClr(PORTD,2);
			break;
		default:
			break;
	}
	DelayUs(255);		
}

⌨️ 快捷键说明

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