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

📄 2724ctrl.c

📁 CC100和ML2724的控制;自动化控制
💻 C
字号:
#include  <reg51.h>
#include  <absacc.h>


sbit   ML2724_EN = P1^0;
sbit   ML2724_CLK = P1^1;
sbit   ML2724_DATA = P1^2;

void  ML2724Control(unsigned int nData)
{
	unsigned char i;
	ML2724_EN = 0;

	for(i = 0; i < 16; i++){
		ML2724_CLK = 0;
		ML2724_DATA = nData & 0x80;
		nData <<= 1;
		ML2724_CLK = 1;
	}
	ML2724_EN = 1;
}

//  RCEN    RXON    MODE
//    0       x    STANDBY
//    1       1    RECEIVE
//    1       0    TRANSMIT
sbit   ML2724_RCEN = P1^3;
sbit   ML2724_RXON = P1^4;

void   ModeChange(bit  bRcen, bit  bRxon)
{
	ML2724_RCEN = bRcen;
	ML2724_RXON = bRxon;
}

sbit   KeyPin1 = P1^5;
sbit   KeyPin2 = P1^6;

void  delay(unsigned int  dms)
{
	unsigned int i = 0, j = 0;
	for(; i <= dms; i++){
		for(j = 0; j != 0x8fff; j++)
		    ;
	}
}

#define   MAXDELAYTIME		0x8f

void  main(void)
{
	unsigned int  i = 0;
	bit  bFlag1 = 0, bFlag2 = 0, bFlag3 = 0;
	unsigned char  DelayTime[3] = {0, 0, 0};

	P0 = 0xff;
	P1 = 0xff;
	P2 = 0xff;
	P3 = 0xff;

	//  delay for power on
	for(; i!= 0xffff; i++){
	    ;   
	}

	ModeChange(0, 0);

	ML2724Control(0);
	ML2724Control(1);
	ML2724Control(2);
	while(1){
		KeyPin1 = 1;
		KeyPin2 = 1;
		delay(200);
		if(!KeyPin1 && !KeyPin2){
			DelayTime[0] ++;
			if(DelayTime[0] == MAXDELAYTIME){
			    bFlag1 = 1;
				DelayTime[0] = 0;
			}
		} else if(!KeyPin1){
			DelayTime[1] ++;
			if(DelayTime[1] == MAXDELAYTIME){
			    bFlag2 = 1;
				DelayTime[1] = 0;
			}
		} else if(!KeyPin2){
			DelayTime[2] ++;
			if(DelayTime[2] == MAXDELAYTIME){
			    bFlag3 = 1;
				DelayTime[2] = 0;
			}
		} 
		if(bFlag1){
		    ModeChange(0, 0);
			bFlag1 = 0;
		}
		if(bFlag2){
			bFlag2 = 0;
		    ModeChange(0, 1);
		}
		if(bFlag3){
			bFlag3 = 0;
		    ModeChange(1, 0);
		}
		ML2724Control(0);
		ML2724Control(1);
		ML2724Control(2);
	}
}



⌨️ 快捷键说明

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